web-dev-qa-db-ja.com

KVMゲストが起動しない

Ubuntu Oneiric Server 64 AMDにKVMをインストールしました。

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

同じOSでゲストを作ってみました。まず私はこれを試しました:

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の場合、CPU使用率が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
7
Yashima

コメントで示唆されているように、ゲストを作成するためのさらに別のツールを使用することにより、この問題を回避策で解決しました。これはVirtual Machine Managerと呼ばれるグラフィックツールで、リモートで自分のkvmに接続し、サーバーに配置したISOイメージからゲストを作成できました。

私はそれが真の解決策ではないことを知っていますが、私はゲストを作成する方法を見つけたので、他のオプションを追求しません。

0
Yashima

シリアルコンソールに接続するには、ゲストが最初にそれをサポートする必要があります。これは、ゲストがconsole=ttyS0は、grub.confのカーネル開始行に追加されます。これは、VMのlibvirt設定に以下が含まれている必要があることも意味します。

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