virt-install продолжала добавлять --no-reboot - хотя я этого не хочу

У меня есть небольшая проблема, заставляющая моих гостей перезагружаться после установки ОС с помощью virt-install.

По какой-либо причине virt-install настаивает на вставке "--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

Даже если вы не указали --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"

Это кажется уникальной "проблемой" virt-install, поскольку при создании виртуальной машины с помощью virt-manager опция --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-shutdown -drive file=/home/vms/centos62test,if=none,id=drive-virtio-disk0,format=

И, похоже, это происходит как в CentOS 6.2 (это вывод, который я поставил выше этого), так и в Ubuntu 10.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, чтобы не добавлять --no-reboot, чтобы мои гости могли перезагрузиться после первоначальной установки ОС.

2 ответа

Если вы используете опцию --noautoconsole, вам также нужно указать "--wait". Из страницы руководства virt-install:

--wait = ПОДОЖДИТЕ
Время ожидания (в минутах), в течение которого виртуальная машина завершила установку. Без этой опции virt-install будет ожидать закрытия консоли (не обязательно указывая на то, что гость выключился), или в случае --noautoconsole просто начните установку и завершите работу. Любое отрицательное значение заставит virt-install ждать бесконечно, значение 0 вызывает те же результаты, что и noautoconsole. Если ограничение по времени превышено, virt-install просто завершает работу, оставляя виртуальную машину в ее текущем состоянии.

Таким образом, virt-install с опциями "--noautoconsole --wait=-1" будет ожидать (навсегда), пока процесс установки гостевой ОС не будет завершен, и после этого виртуальная машина будет перезапущена.

Если вы не хотите ждать выхода из домена, вы можете добавить --events on_poweroff=preserve к cmdline virt-install, и он не добавит -no-reboot к cmdline qemu.

Другие вопросы по тегам