У меня есть хост Ubuntu 12.04 LTS KVM с гостевой ОС 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 ...
- После ожидания в течение 5 минут статус не изменился.
Выключение из гостевого режима
- Просмотр журнала во время запроса на выключение истории:
sudo tail -F /var/log/messages
- Никаких дополнительных значений в результате запроса на выключение не зарегистрировано.
- Терминал (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"
- Версия хоста 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
- Разместите kvm dominfo в гостевой системе:
$ 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*
решение1
Qemu делает предположения об ACPI, которые OpenBSD не делает. В ходе нескольких версий OpenBSD и Qemu/KVM я обнаружил, что единственный способ эффективно закрыть гостевую систему OpenBSD — это
halt -p
в самом госте.
решение2
Это распространенная проблема OpenBSD как виртуальной машины при попытке завершения работы в KVM.
Решено:
root@myhost:~# config -ef /bsd
disable mpbios
q
root@myhost:~# reboot