Назад | Перейти на главную страницу

Медленная установка ВМ на KVM

У меня есть стандартный (не модифицированный) KVM + libvirtd, установленный на чистой машине Centos 6 с 8 ГБ ОЗУ и 8-ядерным процессором.

Когда я пытаюсь установить гостевой centos 6 с помощью virt-manager, для завершения установки требуется время. Я дал ему 2 ядра и 3 ГБ ОЗУ, и на вкладке производительности я вижу, что он постоянно использует все 3 ГБ ОЗУ.

Где проблема?

У меня была эта проблема с KVM (CentOS EL 6.4), поэтому я провел тест, чтобы узнать, что происходит. Оказалось, что моя гостевая виртуальная машина работала всего на 15% быстрее, чем хост (ОС без операционной системы). Я проверил предварительные требования kvm и подтвердил, что мой процессор Intel имеет VT-x (vmx) [AMD называет это svm].

cat /proc/cpuinfo | grep vmx

Почему тогда низкая производительность ?? Оказывается, мне нужно было включить VT-x в BIOS системы (старая машина примерно 2006 г.). Чтобы убедиться, что это была проблема, я проверил, есть ли модуль ядра kvm_intel бегал:

lsmod | grep kvm

Оказывается, он не работал с kvm_intel. Когда я установил свою виртуальную машину, libvirt определил domain type так как qemu. Но это должен быть тип kvm. Вы можете проверить:

virsh edit your_vm_guest_domain

... проверьте строчку вверху ...

<domain type='qemu'>

Это libvirt сообщила мне, что не обнаружила kvm_intel присутствие в моей системе и по умолчанию используется обычная эмуляция qemu.

Когда я включил VT-x в BIOS, я обнаружил, что могу загрузить kvm_intel модуль, а затем изменил <domain type='kvm'>. Я снова выполнил тот же тест и не обнаружил практически никакой разницы в скорости между гостевой виртуальной машиной и хост-ОС.

По умолчанию режим дискового кэша - это сквозная запись, что очень медленно. Переключите диски на обратная запись режим, и вы получите очень значительный прирост производительности ввода-вывода.

Прежде чем кто-то будет жаловаться на это: с относительно недавними (CentOS 6+) версиями libvirt / qemu / kvm, диски обратной записи безопасны если гостевая ОС не поддерживает / не активирует барьеры записи (которые поддерживаются и активируются любой недавней гостевой ОС, о которой я думаю).

Дополнительную информацию можно найти Вот и Вот