
Я использую Ubuntu 18.04 в качестве хоста и Windows 10 в качестве гостя, использую QEMU/KVM в качестве гипервизора и libvirt в качестве инструмента управления.
У меня есть nvme ssd /dev/nvmewin, который я хочу передать гостевой системе Windows (гостевая система будет загружаться с этого устройства)
Я также использую OVMF для загрузки в режиме UEFI.
В настоящее время это работает только если устройство представлено как устройство IDE. Гость не загрузится, если устройство находится под SCSI, SATA или Virtio (синий экран с кодом ошибки INACCESSIBLE_BOOT_DEVICE)
Я мотивирую использование другой шины тем, что считаю, что она обеспечит лучшую производительность ввода-вывода.
Итак, мой вопрос:
- Правда ли, что использование другой шины обеспечит лучшую производительность ввода-вывода?
- Если да, то как мне открыть устройство на другой шине и загрузить его?
Вот часть конфигурации моего домена для этого устройства:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/nvmewin'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
решение1
Правда ли, что использование другой шины обеспечит лучшую производительность ввода-вывода?
Да. Я получил почти родную скорость с шиной virtio с атрибутами cache=none io=native
Hypervisor по умолчанию cache
и io
настройками, кажется, что она быстрее при тестировании с помощью Crystal Disk Mark, но на самом деле кэш включен, поэтому к результатам теста следует относиться с долей скептицизма.
Если да, то как мне открыть устройство на другой шине и загрузить его?
Нужно просто установить драйверы шины virtio. В ядре Windows их нет, поэтому Windows не сможет найти диски во время загрузки, если драйверы не установлены.
Более подробную информацию можно найтиздесь