Кеширование дисков в виртуальных машинах под KVM
Тестирование показало, что по дефолту включено кеширование для дисков в виртуалках под KVM. При этом скорость линейного чтения с диска в виртуалке большая, выше порой даже выше скорости чтения на хосте, за счет большого объема памяти на хосте и упреждающего чтения. Но вот скорость записи в виртуалке на диск примерно раза в три меньше, чем на хосте.
При выключенном кешировании - скорость чтения и скорость записи на виртуалке составляют примерно 90-95% от скорости хостового диска. Для того что бы выключить кеш, необходимо в xml описания виртуалки в разделе описания диска добавить cache='none':
<disk type='block' device='disk'>Закавычивать 'none' обязательно, иначе параметр игнорируется.
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/vg/kvm_test'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
PS CentOS 6.0 x64 со всеми апдейтами.