Estou configurando o guest do Ubuntu 15.10 virtualizado dentro do servidor Ubuntu 15.04 usando libvirt e KVM.
Armazenamento no sistema host:
# mount | grep ext4
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/sdb1 on /media/hdd type ext4 (rw,relatime,data=ordered)
/ dev / sda é um SSD e / dev / sdb é um HDD.
A configuração inicial foi feita usando o virt-manager.
Problema:
O desempenho geral do sistema convidado parece ser bom, no entanto, algumas operações, notavelmente a instalação de pacotes usando o apt-get (e, portanto, a instalação do sistema convidado) são muito lentas.
A imagem de disco do convidado está em formato raw, e eu tentei colocá-la no SSD e no HDD como um arquivo, e também como uma partição separada no HDD. Locais diferentes fazem alguma diferença no desempenho, no entanto, instalar algum pacote usando o apt-get ainda é duas ou três vezes mais lento que no sistema host.
Eu também tentei várias opções de cache de disco do qemu, e usando o cache inseguro parece eliminar completamente o problema . Mas, qualquer outra configuração de cache, incluindo nenhum e writeback , mostra desempenho ruim. É claro que usar inseguro não parece uma solução real.
Aqui está um trecho da configuração xml do convidado:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/sdb2'/>
<target dev='vda' bus='virtio'/>
<boot order='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
Ao usar o arquivo de imagem em vez de uma partição que se torna:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source file='/media/hdd/dsi/vm/ubuntu4.bin'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<boot order='2'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
Enquanto tentava consertar o problema, notei que a primeira partição no HDD não estava alinhada corretamente, então recriou a partição com o alinhamento correto (que para esse HDD é 4096). Isso também não ajudou muito.
Eu também tentei configurar elevator = noop para o convidado, sem sucesso.
Quando eu executo um sistema de convidado similar no Windows PC usando o VirtualBox, não sinto essa degradação de desempenho, então espero que haja uma maneira de executar o convidado com o mesmo desempenho no KVM também.