У меня есть один KVM и несколько LUN (Compellent SAN) в пуле хранения с несколькими путями. Все файловые системы xfs.
> # virsh vol-list --pool multipath
dm-3 /dev/mapper/maildata-store-2-repl
dm-4 /dev/mapper/maildata-store-1-back
dm-5 /dev/mapper/metadata-store-2-repl
dm-6 /dev/mapper/metadata-store-1-back
dm-7 /dev/mapper/images
Один LUN предназначен для хранения виртуальных машин (/var/lib/libvirt/images), а другие будут монтироваться непосредственно в виртуальные машины для будущего хранения почты и соответствующих метаданных.
# df /dev/mapper/images1
Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
/dev/mapper/images1 209611780 18752452 190859328 9% /var/lib/libvirt/images
fio используется для сравнения IOP при произвольной записи:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/tmp/10g.file --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
Итак, я получил этот результат для теста fio при записи в папку tmp виртуальной машины (/dev/mapper/images), очень хорошо!
запись: IOPS=66,1k, BW=258МиБ/с
Теперь я подключаю LUN к этой виртуальной машине с помощью этого XML-файла:
<disk type='block' device='lun'>
<driver name='qemu' type='raw'/>
<source dev='/dev/mapper/maildata-store-1-back'/>
<target dev='sda' bus='scsi'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
And this command:
virsh attach-device VM_TEST --file lun.xml --persistent
Затем на VM_TEST:
#fdisk /dev/sda
#mkfs.xfs /dev/sda1
#mount /dev/sda1 /test
И повторно запустите тест fio на только что созданном разделе:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/test/10g.file --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
Результаты намного хуже:
запись: IOPS=17,6k, BW=68,7МиБ/с
Я играл с различными параметрами в файле xml, такими как cache=none, bus=virtio, .., но мне не удалось реально увеличить показатели.
На данный момент я застрял. Я действительно не знаю, где искать.
Спасибо.