У меня DOM0 с двумя жесткими дисками по 3 ТБ, настроенными как программный RAID1, также с 16 ГБ памяти. Дистрибутив Linux для DOM0 - это CentOS 6.3, а гипервизор - это KVM под управлением libvirt.
Я испытываю снижение производительности между DOM0 и DOMU, при этом пропускная способность записи DOMU составляет около 40% от DOM0. Я протестировал производительность с помощью следующей простой команды dd:
dd bs = 1M count = 1024 oflag = direct if = / dev / zero of = testb conv = fdatasync
Я настроил лифт DEADLINE для DOM0 и NOOP для DOMU, который, в свою очередь, является нестабильным Debian:
Linux vm1 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux
root@vm1:/home/paris# cat /etc/debian_version
6.0.6
Что касается конфигурации DOMU в libvirt, вот фрагмент XML для одного из виртуальных дисков, который на самом деле представляет собой простые необработанные файлы с ошибками:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source file='/mnt/vmstore2/disks/vm1/boot.img'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
Я также заметил, что в командной строке, сгенерированной libvirt, параметр «if» переключателя командной строки -drive установлен на «none» вместо «virtio»:
-drive file=/mnt/vmstore2/disks/vm1/root.img,if=none,id=drive-virtio-disk2,format=raw,cache=none,aio=native
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk2,id=virtio-disk2
Я не знаю, является ли такое снижение производительности нормальным, но я читал, что VIRTIO может гарантировать почти идентичную пропускную способность между DOM0 и DOMU.
Спасибо за любую помощь.
Даже с помощью virtio использование файла образа для гостевого диска будет иметь определенные накладные расходы. Это может значительно различаться в зависимости от других операций ввода-вывода на том же физическом устройстве, на котором находится файл образа.
Если бы вы передали физический диск в качестве блочного устройства гостевой системе KVM с драйвером virtio, вы бы увидели гораздо более близкую к собственной пропускной способности. То же самое касается раздела или тома LVM, с теми же предостережениями ввода-вывода, что и выше (хотя обычно оба они работают лучше, чем файл образа диска).
Мы действительно используем файлы изображений в качестве диска для некоторых из наших гостевых систем KVM, но мы храним изображения на отдельном физическом диске или массиве, когда это возможно.