Назад | Перейти на главную страницу

Узел KVM Ubuntu 12.04 LTS с гостевой ОС OpenBSD 5.4, `virsh shutdown` не работает / гость зависает

У меня есть хост KVM Ubuntu 12.04 LTS с гостевой системой OpenBSD 5.4.

У меня проблема с virsh shutdown не работает / замерзает гость.

После вызова shutdown гость зависает и не отвечает. Любые сеансы ssh зависают, и любые консоли vnc не отвечают. Во время зависания в клиентских журналах ничего не регистрируется.

Единственное решение - уничтожить гостя в виш.


Проблема выглядит примерно так: http://comments.gmane.org/gmane.os.openbsd.misc/200982


Завершение работы с хоста

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

$ sudo virsh shutdown ssh2 Domain ssh2 is being shutdown

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

Выключение из гостя

sudo tail -F /var/log/messages

Детали хоста

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

$ 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

$ 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

Шаги установки гостя

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

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

sudo virsh vncdisplay ssh2

ssh -L 5910:127.0.0.1:5909 kvm2

-game* -x*

Это обычная проблема с OpenBSD в качестве виртуальной машины при попытке завершить работу в KVM.

Решено:

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

Qemu делает предположения относительно ACPI, чего не делает OpenBSD. За время работы с несколькими версиями OpenBSD и Qemu / KVM я обнаружил, что единственный способ эффективно закрыть гостевую систему OpenBSD - это

halt -p

в самом госте.