Ubuntu 12.04 LTS KVM host с гостем OpenBSD 5.4, `virsh shutdown` не работает / замораживает гостя
У меня есть Ubuntu 12.04 LTS KVM host с гостем OpenBSD 5.4.
У меня проблема с virsh 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
...
- После ожидания 5 минут состояние не меняется.
Отключение от гостя
- Просмотр журнала во время исторического запроса на отключение:
sudo tail -F /var/log/messages
- Никаких дополнительных значений не зарегистрировано как результат запроса shutodwn.
- Терминал (ssh) и консоль (через vnc) перестают отвечать на запросы.
- Терминал (SSH) даже ошибки с
Write failed: Broken pipe
,
Детали хоста
- Ведущий:
$ 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"
- 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
- Хост квм доминфо на гостя:
$ 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
Гостевая установка Шаги
Скачал amd64 install54.iso: http://ftp.openbsd.org/pub/OpenBSD/5.4/amd64/install54.iso
Создать диск:
sudo qemu-img create -f qcow2 -o preallocation=metadata /vm/ssh2-disk0.qcow2 2G
- Запустите 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
Примечание: используется br0 вместо virbr0, так как хост использует br0.
Из квм:
sudo virsh vncdisplay ssh2
- С рабочего стола:
ssh -L 5910:127.0.0.1:5909 kvm2
Подключитесь через vnc к localhost 5910, продолжайте установку.
Не установил game54.tgz или какие-либо x-пакеты:
-game*
-x*
2 ответа
Qemu делает предположения о ACPI, чего нет у OpenBSD. В течение нескольких версий OpenBSD и нескольких версий Qemu/KVM я обнаружил, что единственный способ эффективно закрыть гостевую систему OpenBSD - это
halt -p
в самом госте.
Это распространенная проблема с OpenBSD в качестве виртуальной машины при попытке завершить работу в KVM.
Решено:
root@myhost:~# config -ef /bsd
disable mpbios
q
root@myhost:~# reboot