Host KVM Ubuntu 12.04 LTS con un invitado OpenBSD 5.4, `virsh Shutdown` no funciona/congela el invitado

Host KVM Ubuntu 12.04 LTS con un invitado OpenBSD 5.4, `virsh Shutdown` no funciona/congela el invitado

Tengo un host KVM Ubuntu 12.04 LTS con un invitado OpenBSD 5.4.

Tengo un problema porque virsh shutdownno funciona o congela al invitado.

Después de llamar al cierre, el invitado se congela y no responde. Todas las sesiones ssh se congelan y las consolas vnc no responden. No hay nada en los registros del cliente en el momento de la congelación.

La única solución es destruir al huésped en vish.


El problema parece similar a: http://comments.gmane.org/gmane.os.openbsd.misc/200982


Apagar desde el host

  • Del anfitrión:

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

$ sudo virsh shutdown ssh2 Domain ssh2 is being shutdown

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

  • Después de esperar 5 minutos, no hay cambios de estado.

Apagar desde invitado

  • Registro de observación durante la solicitud de apagado histórico:

sudo tail -F /var/log/messages

  • No se registraron valores adicionales como resultado de la solicitud de cierre.
  • Tanto la terminal (ssh) como la consola (a través de vnc) dejan de responder.
  • Terminal (ssh) finalmente produce errores con Write failed: Broken pipe.

Detalles del anfitrión

  • Anfitrión:

$ 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"

  • Versión de 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

  • Anfitrión kvm dominfo en invitado:

$ 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

Pasos de instalación para invitados

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

  • Ejecute virt-instalación:

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: Se utilizó br0 en lugar de virbr0, ya que el host usa br0.

  • De kvm:

sudo virsh vncdisplay ssh2

  • Desde el escritorio:

ssh -L 5910:127.0.0.1:5909 kvm2

  • Conéctese a través de vnc al localhost 5910, continúe con la instalación.

  • No instalé game54.tgz ni ningún paquete x:

-game* -x*

Respuesta1

Qemu hace suposiciones sobre ACPI que OpenBSD no hace. En el transcurso de múltiples versiones de OpenBSD y múltiples Qemu/KVM, he descubierto que la única forma de cerrar efectivamente un invitado de OpenBSD es con

halt -p

en el propio huésped.

Respuesta2

Este es un problema común con OpenBSD como máquina virtual cuando se intenta apagar en KVM.

Resuelto por:

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

información relacionada