bloqueio de E / S KVM / QEmu / Libvirt

1

Problema simples. Estou executando 5 instâncias do KVM / QEmu. a máquina host está constantemente congelando por cerca de meio segundo em cada 5. LED de disco indica que está relacionado à gravação em disco. Anfitrião é FC14, convidados do FC14 / FC15 / Windows 7 / BSD

A máquina host está 100% sem resposta durante esses pequenos períodos. Qualquer entrada kb / mouse "alcança" após a pausa.

Tentei usar diferentes modos de cache na libvirt, diferentes tipos de disco e o problema é constante, independentemente do número de convidados (embora o Windows torne isso ainda pior, mesmo quando pausado).

Aqui está o cmd típico executado pela libvirt.

/usr/bin/qemu-kvm -S -M pc-0.13 -cpu phenom,+wdt,+skinit,+osvw,+3dnowprefetch,+misalignsse,+sse4a,+abm,+cr8legacy,+extapic,+cmp_legacy,+lahf_lm,+rdtscp,+pdpe1gb,+popcnt,+cx16,+ht,+vme -enable-kvm -m 2048 -smp 3,sockets=3,cores=1,threads=1 -name devserver -uuid aaa-bbb-ccc-ddd-eee-fff -nodefconfig -nodefaults -chardev socket,id=monitor,path=srv.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive file=srv.img,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -drive file=srv_data.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=srv_home.vmdk,if=none,id=drive-virtio-disk1,format=vmdk -device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk1,id=virtio-disk1 -device rtl8139,vlan=0,id=net0,mac=aa:bb:cc:dd:ee,bus=pci.0,addr=0x3 -net tap,fd=51,vlan=0,name=hostnet0 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga cirrus -device AC97,id=sound0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6

Alguma ideia de possíveis ajustes para ajudar neste problema?

Obrigado antecipadamente.

    
por Aiden Bell 08.07.2011 / 23:10

1 resposta

4

esta não é sua resposta final - eu começaria olhando para disk iops - use ferramentas como iostat e sar (sysstat) - descubra quais são os seus iops práticos - e verifique se o seu swap está ocupado também

Eu tenho visto um comportamento similar com drives sata em um software raid (md), toda vez que um convidado kvm fazia muitas gravações, a capacidade de resposta da VM ficava um pouco mais lenta. Eu não tive tempo para ajustar, nós mudamos para um controlador RAID com cache, bateria e writeback - ainda as mesmas unidades, que ajudaram muito - meu palpite é o cache de gravações foi o truque. (que era um único quad xeon com 12GB de memória RAM rodando 2 windows DC e 5 pequenos servidores de aplicativos, nenhum deles era tão ocupado, usei um 3ware 9690).

    
por 09.07.2011 / 01:28