Virt-installを使用してOSをインストールした後、ゲストを再起動するのに少し問題があります。
何らかの理由で、virt-installは、VMを作成するときに「--no-reboot」を挿入することを要求します。
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name centos62test -uuid f4938758-98f1-cda3-5ec9-d91d6cc40596 -nodefconfig -nodefaults
-chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/centos62test.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot* -no-shutdown -kernel /var/lib/libvirt/boot/virtinst-vmlinuz.HzY2RZ -initrd
notを指定した場合でも、-no-rebootを指定します。
virt-install --name centos62test --disk path=/home/vms/centos62test,size=50,bus=virtio --vnc --noautoconsole --vcpus=1 --ram=512 --network bridge=virbr0,mac=52:54:00:75:80:12 --location=http://192.168.15.100/mirrors/centos/6.2/os/x86_64/ -x "ks=http://192.168.15.100/mirrors/ks/6.2/kvm/x86_64.cfg"
VM virt-managerを使用して作成すると、-no-rebootオプションはnot挿入されるため、virt-installの「問題」は独特のようです。
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name centos62test -uuid f4938758-98f1-cda3-5ec9-d91d6cc40596 -nodefconfig -nodefaults
-chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/centos62test.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/home/vms/centos62test,if=none,id=drive-virtio-disk0,format=
そして、それはCentOS 6.2(これは私がこれの上に載せた出力です)とUbuntu10.04の両方で発生するようです:
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name opensuseks -uuid 05ed4424-08ba-e724-a14f-50b76017609c -chardev socket,id=monitor,path=/v
ar/lib/libvirt/qemu/opensuseks.monitor,server,nowait -monitor chardev:monitor -no-reboot -boot c -kernel /var/lib/libvirt/boot/virtinst-linux.SZsBVy
私はここで少し途方に暮れています。 virt-installをnot add --no-rebootにするにはどうすればよいですか。これにより、OSの初期インストール後にゲストが再起動できるようになります。
「--noautoconsole」オプションを使用している場合は、「-wait」も指定する必要があります。 virt-installのマニュアルページから:
--wait = WAIT
a VMがインストールを完了するまで待機する時間(分単位)。このオプションがない場合、virt-installはコンソールが閉じるのを待機します(必ずしもゲストがシャットダウンしました)、または--noautoconsoleの場合は、インストールを開始して終了します。負の値を指定すると、virt-installが無期限に待機し、値が0の場合、noautoconsoleと同じ結果がトリガーされます。制限時間を超えると、virt-installは単に終了し、仮想マシンを現在の状態のままにします。
したがって、「-noautoconsole --wait = -1」オプションを指定したvirt-installは、ゲストOSのインストールプロセスが完了するまで(永久に)待機し、その後VMが再起動されます。
ドメインが終了するのを待ちたくない場合は、-events on_poweroff = preserveをvirt-installコマンドラインに追加できます。qemuコマンドラインには-no-rebootは追加されません。