Apresentações de IO do convidado KVM insatisfatórias

3

Eu tenho um DOM0 com dois discos rígidos de 3 TB configurados como um software RAID1, também com 16 GB de memória. A distribuição Linux do DOM0 é um CentOS 6.3 e o hypervisor é um KVM gerenciado por libvirt.

Estou passando por degradações de desempenho entre o DOM0 e o DOMU, com a taxa de transferência de gravação do DOMU em torno de 40% dos DOM0s. Eu testei as performances usando o seguinte comando dd simples:

dd bs = contagem 1M = 1024 oflag = direto se = / dev / zero de = testb conv = fdatasync

Eu configurei o elevador DEADLINE para DOM0 e o NOOP para DOMU, que por sua vez é um Debian Unstable:

Linux vm1 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux

root@vm1:/home/paris# cat /etc/debian_version
6.0.6

Quanto à configuração do DOMU no libvirt, aqui está o fragmento XML para uma das unidades virtuais que são, na verdade, arquivos falocados simples:

<disk type='file' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source file='/mnt/vmstore2/disks/vm1/boot.img'/>
  <target dev='vda' bus='virtio'/>
  <alias name='virtio-disk0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>

Eu também notei que na linha de comando gerada pelo libvirt, o parâmetro "if" da opção de linha de comando -drive é definido como "none" em vez de "virtio":

-drive file=/mnt/vmstore2/disks/vm1/root.img,if=none,id=drive-virtio-disk2,format=raw,cache=none,aio=native
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk2,id=virtio-disk2

Eu não sei se essa degradação de desempenho é normal, mas eu li que o VIRTIO deve ser capaz de garantir uma taxa de transferência quase idêntica entre DOM0 e DOMU.

Obrigado por qualquer ajuda.

    
por Cristiano Paris 11.01.2013 / 17:08

1 resposta

1

Mesmo com o virtio, usar um arquivo de imagem para um disco convidado terá uma certa sobrecarga associada. Isso pode variar significativamente dependendo de outras atividades de E / S no mesmo dispositivo físico em que o arquivo de imagem reside.

Se você passasse um disco físico como um dispositivo de bloco para o convidado KVM com o driver virtio, veria muito mais próximo do rendimento nativo. O mesmo vale para uma partição ou um volume LVM, com as mesmas advertências de E / S acima (embora geralmente elas sejam ainda melhores do que um arquivo de imagem de disco).

Nós usamos arquivos de imagem como disco para alguns de nossos convidados KVM, mas mantemos as imagens em uma unidade física ou matriz separada do host sempre que possível.

    
por 11.01.2013 / 19:56