LINUX.ORG.RU
решено ФорумAdmin

Работает ли TRIM на SSD диске отданом VM?

 , ,


0

1

Доброго времени суток!

Прежде всего у меня есть система «Ubuntu server 18.04», на которой поднята виртуальная машина KVM с установленной «Windows 10», которой полностью отдан SSD диск командой
"--disk /dev/disk/by-id/ata-WDC_WD1600AAJS-00YZCA0_WD-WCAYUC485843,bus=virtio,sparse=false,cache=none,io=native"
(не обращайте на название диска в этой строке, на самом деле диск другой)

Хотелось бы узнать работает ли с этим диском TRIM, если да то где, на хосте или ещё где?

Ответ на: комментарий от Perspective

Хочешь чтобы этим занялся хост:

Ну тут то и проблема, не знаю как, ибо в виртуалке диск виден как какой-то scsi ноунейм, и врядли Windows понимает что это SSD (хотя нужно поискать способ проверки).
А как вообще Windows определяет что диск SSD, явно же не по названию?!

fstrim is used on a mounted filesystem

В том то и дело, что диск не монтируется.

Так..., видно я немного поторопился, проверю сначало что говорит Windows по поводу этого диска, понимает ли она что он SSD.

Uranus ()

Довольно легко проверить. Забиваешь диск говном до явной просадки производительности. Измеряешь io-писькомером. Ждешь эн минут. Измеряешь писькомером. Ждешь ка минут. Еще раз измеряешь. Если производительность восстановилась - TRIM есть.

heilnull ★★ ()

С virtio-blk работает с четвертой версии QEMU. С virtio-scsi работает давно, но от многих параметров зависит. С проверкой со стороны винды на другой форум.

boowai ★★★ ()
Последнее исправление: boowai (всего исправлений: 1)
Ответ на: комментарий от Deleted

Четвертый qemu и пятый linux прошлой весной вышли. virtio-win в августе с начальной поддержкой, но больше пока не было. Сам не пробовал, но есть открытый issue в github.

boowai ★★★ ()
Ответ на: комментарий от boowai

Изначально написал сюда потому что не знал каким лучше способом решить данную проблему, через хост (Ubuntu) или через гостя (Windows).
Так что попросил бы анонов и им сочувствующих не шуметь без нужды, никто оскорблять вас столь нелюбимой вами виндой не собирался, да и мне собственно, на ваше мнение, особенно высказанное в таком виде как-то пофиг, но засирать топик как-то не хочеться!


С virtio-blk работает с четвертой версии QEMU. С virtio-scsi работает давно, но от многих параметров зависит.

Спасибо за наводку, будем почитать, как закончу с экспериментом отпишусь или закрою тему!

Uranus ()
Ответ на: комментарий от Uranus

Ну тут то и проблема, не знаю как, ибо в виртуалке диск виден как какой-то scsi ноунейм, и врядли Windows понимает что это SSD (хотя нужно поискать способ проверки). А как вообще Windows определяет что диск SSD, явно же не по названию?!

Ищи в нете оптимизацию винды для работы с ssd. Раз не понимает, заставь ее думать, что это ssd.

explorer ()

При использовании VirtIO SCSI должно работать. При использовании VirtIO Block вроде НЕ должно работать. Надо уточнять, там оно вроде в процессе развития.

targitaj ★★★★★ ()

Ну что же, потестировал, сейчас опишу что получилось!

Как и подсказал пользователь «boowai» virtio-scsi помогло.
Так же после настройки с virtio-scsi решил немного поизвращаться и прокинуть в вируталку SATA контролер на который и подключить этот SSD диск.
Оказалось что внутренний контролер, даже если у вас их на материнской плате несколько, не подходит для установки на VM систем типа Windows (другие ставить не пробовал), винда ругается что у неё нет каких то данных из биоса для этого контролера и отказывается устанавливаться, хотя видит жёсткий диск подключенный к прокинутому SATA контролеру, но можно использовать внутренний контролер для расширения дискового пространства системы на VM.
Я было уже подумал что всё, северный-пушной зверёк мне, а не проброс SATA контролера, но обратил внимание что в случае проброса Интеловской сетевой карты её ROM сообщения выдаются до или во время загрузки биоса даже в VM и решил проверить как всё будет работать если я проброшу внешний SATA контролер.
К моей радости всё заработало, только есть одна мелочь, проброшенный-внешний SATA контролер не всегда успевает опросить все подключенные к нему устройства до того как начинается загрузка VM и естественно выходит ошибка что загрузочных устройств не найдено.
Для решения этой проблемы нужно в XML файл настроек VM добавить строку «<bootmenu enable='yes' timeout='3000' />», таймаут измеряется в миллисекундах, так что тут у нас задержка в 3 секунды, для разных дисков и систем настройки могут отличаться, нужно подбирать.

Конечно вариант с проброшенным SATA контролером требует денег на сам контролер в отличии от полностью виртуального virtio-scsi, и если у вас несколько VM работающих одновременно то это может быть весьма дороговато покупать на каждую отдельный контролер, но зато не нужно заморачиваться с настройками и возможными виртуальными глюками.
Лично я оставил у себя вариант с проброшенным контролером.

Uranus ()