Скорость записи на необработанный диск LVM на хосте в четыре раза выше, чем на гостевом KVM?

Скорость записи на необработанный диск LVM на хосте в четыре раза выше, чем на гостевом KVM?

У меня есть хост Debian 10.6 с гостевой ОС Debian 10.6. KVM/Qemu/libvirt. Хост имеет программный массив RAID 10 с 6 механическими дисками. LVM находится поверх массива RAID. Один LV передается в гостевую ОС с помощью:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/raid10/lv0'/>
  <target dev='vdb' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</disk>

Хост записывает данные на логический том со скоростью около 720 МБ/с:

dd of=diskbench if=/dev/zero bs=30000000 count=2000
(60 GB, 56 GiB) copied, 82.7758 s, 725 MB/s
(60 GB, 56 GiB) copied, 82.5263 s, 727 MB/s
(60 GB, 56 GiB) copied, 83.8701 s, 715 MB/s
(45 GB, 42 GiB) copied, 58.9086 s, 772 MB/s

Однако внутри гостевой ОС тот же тест выполняется гораздо медленнее:

dd of=diskbench if=/dev/zero bs=30000000 count=2000
(60 GB, 56 GiB) copied, 254.088 s, 236 MB/s
(60 GB, 56 GiB) copied, 245.407 s, 244 MB/s
(60 GB, 56 GiB) copied, 242.558 s, 247 MB/s

Эта система еще не находится в производстве и не загружена. Что я могу проверить, чтобы улучшить производительность записи?

решение1

Не используйте ddв качестве инструмента для измерения производительности. Аргументы командной строки, указанные ddв вашем примере, позволяют хостовой ОС кэшировать записи в ОЗУ. Поэтому результаты здесь, вероятно, искажены объемом ОЗУ, доступным для кэширования в хостовой ОС по сравнению с гостевой ОС. fio— гораздо более релевантный инструмент для бенчмаркинга.

Связанный контент