Host KVM Ubuntu 12.04 LTS com um convidado OpenBSD 5.4, `virsh shutdown` não funciona/congelamento de convidado

Host KVM Ubuntu 12.04 LTS com um convidado OpenBSD 5.4, `virsh shutdown` não funciona/congelamento de convidado

Eu tenho o host Ubuntu 12.04 LTS KVM com um convidado OpenBSD 5.4.

Estou tendo o problema de virsh shutdownnão funcionar/congelar convidado.

Depois de chamar o desligamento, o convidado congela e não responde. Todas as sessões ssh congelam e todos os consoles vnc não respondem. Nada nos logs do cliente no momento do congelamento.

A única solução é destruir o convidado em vish.


O problema parece semelhante a: http://comments.gmane.org/gmane.os.openbsd.misc/200982


Desligamento do host

  • Do anfitrião:

$ sudo virsh list --all ... 15 ssh2 running ...

$ sudo virsh shutdown ssh2 Domain ssh2 is being shutdown

$ sudo virsh list --all ... 15 ssh2 running ...

  • Depois de esperar 5 minutos, nenhuma alteração de status.

Desligamento do convidado

  • Observando o log durante a solicitação de desligamento histórico:

sudo tail -F /var/log/messages

  • Nenhum valor adicional registrado como resultado da solicitação de desligamento.
  • Terminal (ssh) e console (via vnc) não respondem.
  • Erros de terminal (ssh) eventualmente com Write failed: Broken pipe.

Detalhes do anfitrião

  • Hospedar:

$ uname -a Linux kvm2 3.2.0-51-generic #77-Ubuntu SMP Wed Jul 24 20:18:19 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04.2 LTS"

  • Versão do host kvm:

$ virsh version Compiled against library: libvir 0.9.8 Using library: libvir 0.9.8 Using API: QEMU 0.9.8 Running hypervisor: QEMU 1.0.0

  • Host kvm dominfo no convidado:

$ virsh dominfo ssh2 Id: - Name: ssh2 UUID: 7bb1977e-7268-f40a-32d4-5ae972be7e5f OS Type: hvm State: shut off CPU(s): 2 Max memory: 524288 kB Used memory: 524288 kB Persistent: yes Autostart: disable Managed save: no Security model: apparmor Security DOI: 0

Etapas de instalação de convidado

sudo qemu-img create -f qcow2 -o preallocation=metadata /vm/ssh2-disk0.qcow2 2G

  • Execute virt-install:

sudo virt-install \ --name ssh2 \ --ram 512 \ --vcpus=1 \ --os-variant=openbsd4 \ --hvm \ --cdrom /vm/install/install54-amd64.iso \ --network bridge:br0,model=virtio \ --graphics vnc \ --disk path=/vm/ssh2-disk0.qcow2,bus=virtio,size=2

  • Nota: Usado br0 em vez de virbr0, pois o host usa br0.

  • Do kvm:

sudo virsh vncdisplay ssh2

  • Na área de trabalho:

ssh -L 5910:127.0.0.1:5909 kvm2

  • Conecte-se via vnc ao localhost 5910 e continue a instalação.

  • Não instalei game54.tgz ou qualquer pacote x:

-game* -x*

Responder1

O Qemu faz suposições sobre ACPI que o OpenBSD não faz. Ao longo de várias versões do OpenBSD e do Qemu/KVM, descobri que a única maneira de encerrar efetivamente um convidado do OpenBSD é com

halt -p

no próprio convidado.

Responder2

Este é um problema comum com o OpenBSD como VM ao tentar desligar no KVM.

Resolvido por:

root@myhost:~# config -ef /bsd
disable mpbios
q
root@myhost:~# reboot

informação relacionada