Эмуляция SSD в libvirt

Вот здесь я писал как переполз с VirtualBox на Virt-Manager / LibVirt, ибо первый замотал меня своей кривизной. Пускаю под ним в основном Windows 10, ибо некоторые заказчики для доступа в свой контур предалагают только %&учий Checkpoint VPN, который больше ни под чем не работает (посылаю очередные лучи поноса в сторону Checkpoint, чтоб он сдох).
Со временем выявилась некая беда-печалька с этим qemu/libvirt: он(а) "из коробки" не умеет рапортовать гостю, что тот имеет дело с SSD. Если гость линуксовый, то это мало кого заботит: всегда можно подрихтовать параметр "/sys/block/блаблабла/rotational" и/или поиграться опциями монтирования файловой системы на предмет trim. А вот форточка, особенно десктопная, рьяно жаждет дефрагментировать диск, забивая при этом CPU почем зря. Вроде бы такое поведение тоже можно как-то отключить, но корректнее всё-таки объяснить ей что она запущена с SSD, чтобы не страдала фигней.
К сожалению, "штатного" параметра переключения HDD / SSD в libvirt не предусмотрено. Но есть костыль, при этом играет роль версия. Для версий ниже чем 8.2 это делается через "commandline -set", для версии 8.2 или свежее — через "override frontend".
Пример:
В моём примере виртуальный диск называется "scsi0-0-0-0". Следует обратить внимание на два момента.
- Редактировать XML-ник нужно не напрямую, а командой "virsh edit
бла-бла-бла". Или через графический интерфейс Virt-Manager, если
ему разрешено редактировать XML-описания.
- Нужно проверить наличие строки "xmlns:qemu=бла-бла-бла", иначе
будет ругаться на якобы неверный синтаксис конфига.
Результат своих трудов можно проверить командой "virsh qemu-monitor-command БлаБлаБла --hmp "info qtree" | grep -A 20 scsi0-0-0-0" с хоста при запущенной виртуалке и изнутри гостя PowerShell-командой "Get-PhysicalDisk | Format-Table -AutoSize". Если всё получилось, то гость должен в графе "MediaType" отобразить слово "SSD".
Больше информации есть по ссылке. Там чувак даже не поленился залезть в исходные коды QEMU чтобы найти работающее решение. Номер тикета (issue) на GitHub-е доставляет отдельно. Интересно, они специально так подгадали что ли?
Всем дьявольски работающих SSD в гостевых форточках.
|
</> |