@brar

Падение производительности диска старых ВМ в KVM. TRIM или что?

Хост:
OS Archlinux. KVM, qemu.
NVMe M2 Samsung 970 PRO.
Виртуалка на нем Win10. Диск qcow2. Кэширование дисковой продсистемы ВМ выключено в настройках ВМ (virt-manager).
После полугода использования решил прогнать кристал диск марком. И заметил, что показатели намного хуже, чем были сразу после установки ВМ.
Установил новую чистую ВМ (WIN-10-2) рядом, на том же физическом диске . И кристалдискмарк показал намного лучшие результаты.
Трим в виндовой ВМ, я так понимаю, включен:
fsutil behavior query DisableDeleteNotify
NTFS DisableDeleteNotify = 0  (Отключено)
ReFS DisableDeleteNotify = 0  (Отключено)

60d1d1f8ca3cc561566804.png
60d1d20f232b2280123333.png

В чём может быть причина?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@rPman
Ваш dd на хосте проверит только линейное чтение, особенно актуально для hdd дисков, и с ним у вас похоже все ок.

Возможная причина падения скорости - фрагментация qcow2, пересоздаей (если есть снапшоты, то надо думать можно ли так) контейнер примерно так
qemu-img convert -p -O qcow2 source.img destination.img


Еще есть фрагментация дисков внутри самой виртуалки, плюс у ntfs mfat фрагментируется (если большими объемами создаются файлы, правятся и удаляются) плюс растет без уменьшения, размазанный по всему диску, это вообще решить можно только пофайловым копированием на новый диск.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump Куратор тега Твердотельные накопители
Системный администратор со стажем.
Трим в виндовой ВМ, я так понимаю, включен:
Правильно понимаете.
Вот у меня на даче утюг включен. Но не нагревается. А знаете почему? На даче нет электричества. Есть проводка, розетки, выключатели, а электричества нет.
Поэтому включен это еще не значит что работает.
fsutil behavior query DisableDeleteNotify показывает включен ли TRIM.
Если включен - файловая система будет исправно отправлять комманды TRIM.
Но кто сказал что эта команда дойдет до накопителя?

Если накопитель подключен через правильный интерфейс поддерживающий TRIM - например AHCI или NVMe то проблем нет обычно.
А вот если он подключен через старый интерфейс типа IDE, или через RAID контроллер, или это вообще виртуальный диск - тогда конечно же команда TRIM до диска не дойдет.

Поэтому если вы используете виртуализацию - забудьте про TRIM и решайте проблему другими способами!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы