
Eu tenho um KVM + libvirtd padrão (não modificado) instalado em uma máquina Centos 6 limpa com 8G de RAM e CPU de 8 núcleos.
Quando estou tentando instalar o guest centos 6 usando o virt-manager, leva muito tempo para concluir a instalação. Dei 2 núcleos e 3 GB de RAM para ele e posso ver na aba de desempenho que ele usa todos os 3 GB de RAM permanentemente.
Onde está o problema?
Responder1
Tive esse problema com o KVM (CentOS EL 6.4), então executei um benchmark para descobrir o que estava acontecendo. Acontece que minha VM convidada estava rodando apenas 15% mais rápido que o host (sistema operacional bare metal). Eu verifiquei os pré-requisitos do kvm e verifiquei que meu processador Intel possui o VT-x (vmx) [a AMD chama isso de svm].
cat /proc/cpuinfo | grep vmx
Por que então o desempenho lento? Acontece que eu precisava habilitar o VT-x no BIOS do sistema (máquina mais antiga por volta de 2006). Para verificar se esse era o problema, verifiquei se o módulo do kernel kvm_intel
estava em execução:
lsmod | grep kvm
Acontece que não estava rodando com kvm_intel
. Quando instalei minha máquina virtual, a libvirt definiu domain type
como qemu
. Mas isso deveria ser do tipo kvm
. Você pode checar:
virsh edit your_vm_guest_domain
... verifique a linha no topo ...
<domain type='qemu'>
Isso foi o libvirt me dizendo que não detectou a kvm_intel
presença no meu sistema e optou pela emulação simples do qemu.
Quando habilitei o VT-x no BIOS, descobri que poderia carregar o kvm_intel
módulo e depois alterar o arquivo <domain type='kvm'>
. Executei o mesmo benchmark novamente e praticamente não encontrei diferença na velocidade entre a VM convidada e o sistema operacional host.
Responder2
O modo de cache de disco padrão é write-through, que é muito lento. Mude os discos paraEscreva de voltamodo e você desfrutará de um aumento de desempenho de E/S muito significativo.
Antes que alguém reclame sobre isso: com versões libvirt/qemu/kvm relativamente recentes (CentOS 6+),discos de write-back são segurosa menos que o sistema operacional convidado não suporte/ative barreiras de gravação (que são suportadas e habilitadas por qualquer sistema operacional convidado recente que eu possa imaginar).