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

Гости KVM не загружаются

Я установил KVM на Ubuntu Oneiric Server 64 AMD.

uname -a 
Linux myhostname 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Я пробовал создать гостя с той же ОС. Сначала я попробовал это:

vmbuilder kvm ubuntu \
--suite oneiric --flavour virtual --arch amd64 \ 
--libvirt qemu:///system \
--ip 192.168.0.100 \
--hostname myguest \
--part vmbuilder.partition \ 
--user adminUser --name fullname--pass defaultPass \
--addpkg apache2 --addpkg apache2-utils --addpkg tomcat6 --addpkg mysql-client \
--addpkg mysql-server --addpkg wwwconfig-common --addpkg dbconfig-common \
--addpkg apache2.2-common --addpkg unattended-upgrades --addpkg vim \ 
--addpkg openssh-server \ 
--mem 2048 \
--bridge br0

(для этого мне нужно было отдельно настроить последовательную консоль, кстати)

Тогда это:

virt-install \ 
--connect qemu:///system -n myguest -r 2048 -f myguest.qcow2 \
-s 12 -c ubuntu-11.10-server-amd64.iso --vnc --noautoconsole --os-type linux \
--os-variant ubuntuOneiric --accelerate --network=network:default

В обоих случаях гость создается успешно. Потом пытаюсь запустить гостя:

virsh start myguest
virst list --all

Id Name                 State
----------------------------------
4 myguest               running

Далее пытаюсь подключиться к консоли:

virsh --connect qemu:///system console myguest
Connected to domain myguest
Escape character is ^]

После этого ничего не происходит. Поведение одинаково для обоих гостей. Еще пробовал подключиться удаленно.

В некоторых случаях KVM затем увеличивает использование ЦП до 100%. Прямо сейчас он не использует CPU.

При удаленном подключении консольный вывод был немного интереснее:

Booting from Harddisk

И ничего больше. Также я не могу позвонить virsh shutdown myhost, Я могу использовать только destroy команда.

Может ли кто-нибудь указать на какие-то ошибки, которые я, вероятно, сделал?

dpkg --list | grep qemu

ii  qemu-common                      0.14.1+noroms-0ubuntu6.2             
ii  qemu-keymaps                     0.15.50-2011.08-0ubuntu4              
ii  qemu-kvm                         0.14.1+noroms-0ubuntu6.2               
ii  qemu-kvm-extras                  0.15.50-2011.08-0ubuntu4                
ii  qemu-system                      0.15.50-2011.08-0ubuntu4                
ii  qemu-user                        0.15.50-2011.08-0ubuntu4                
ii  python-vm-builder                0.12.4+bzr469-0ubuntu1        
ii  libvirt-bin                      0.9.2-4ubuntu15.2         
ii  libvirt0                         0.9.2-4ubuntu15.2                   
ii  python-libvirt                   0.9.2-4ubuntu15.2                                 
ii  virtinst                         0.600.0-1ubuntu1                        

Единственный вывод журнала, который я вижу в /var/log/libvirt/libvirt.log происходит, когда я уничтожаю гостя и пытаюсь подключиться к консоли раньше:

11:49:28.072: 1441: error : qemuMonitorIO:576 : internal error End of file from monitor

Чтобы подключиться к последовательной консоли, вам сначала нужно, чтобы гость поддерживал ее. Это означает, что гость должен иметь console=ttyS0 добавляется к стартовой строке ядра в grub.conf. Это также означает, что конфигурация libvirt для виртуальной машины должна содержать следующее:

<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>

Как было предложено в комментариях, я решил эту проблему обходным путем, используя еще один инструмент для создания гостей. Это графический инструмент под названием Virtual Machine Manager, с помощью которого я смог удаленно подключиться к моему kvm и создать гостя из ISO-образа, который я разместил на сервере.

Я знаю, что это неверное решение, но я не буду рассматривать другие варианты, поскольку нашел способ создавать гостей.

У меня была аналогичная проблема на хосте ubuntu 12.04:

  • Я использовал ubuntu-vm-builder для создания гостя (точнее ubuntu)
  • virsh start testguest -> консоль через VNC сообщает мне "Загрузка с жесткого диска"
  • kvm использует процессор на 100% ... ах

/var/log/libvirt/libvirtd.log показал мне:

2013-11-19 18:25:10.551+0000: 9815: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2013-11-19 18:25:13.122+0000: 9815: error : virExecWithHook:327 : Cannot find 'pm-is-supported' in path: No such file or directory

Похоже, что vm-builder понадобились инструменты для управления питанием.

apt-get install pm-utils

на хосте решил за меня эту проблему.