Задача и описание стенда
Очень хочу не убить SSD использованием внутри виртуалки. Использоваться будет для сборки C++ - значит пересоздание миллионов файлов за один проход, поэтому нужен TRIM.
Host: Windows 10 (не GNU/Linux, потому что нужны дрова на видео,
чтобы записывать экран через Nvidia Encoder)
Guest: Ubuntu 16.04.3 LTS
Controller: NVMe (также пробовал SATA и SCSI)
Источник: пробовал и vmdk, и физический диск (physical drive, raw drive). Целевое решение - хотелось бы именно физический доступ, потому что очень большое I/O
Проблема
Внутри Ubuntu это выглядит всегда вот так:
fstrim -v /
fstrim: /: the discard operation is not supported
hdparm -I /dev/nvme0n1
/dev/nvme0n1:
SG_IO: questionable sense data, results may be incorrect
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0
Если контроллер SATA, то данных больше. Если SCSI, то есть какие-то побитые куски, которые hdparm разобрать не может.
Общее во всём этом то, что в выхлопе hdparm'а не наблюдается вообще ни слова про TRIM, и fstrim никогда не может ничего обработать.
Что делать, братцы?