Я создал виртуальную машину с помощью virt-manager, который работает на kvm / qemu. Машина хорошо работает при запуске через вирт-менеджера. Однако я хотел бы иметь возможность запускать и останавливать виртуальную машину с помощью сценария в файле init.d, чтобы он включался и выключался вместе с хостом. Мне нужно, чтобы virt-manager показал, что машина работает, и чтобы через нее можно было подключиться к ее консоли.
Когда я использую командную строку, которая создается при запуске ps -eaf | grep kvm
после запуска vm через virt-manager, я получаю некоторые консольные сообщения о перенаправленных символьных устройствах, но машина действительно запускается и работает правильно. Однако я не получаю никаких указаний от virt-manager о том, что он запущен. Как я могу изменить командную строку, чтобы virt-manager поднял работающую виртуальную машину? Есть ли что-то еще в командной строке, которая должна измениться при запуске вне virt-manager?
Командная строка (немного переформатирована для удобства чтения):
/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name BORON \
-uuid fa7e5fbd-7d8e-43c4-ebd9-1504a4383eb1 \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/BORON.monitor,server,nowait \
-monitor chardev:monitor -localtime -boot c \
-drive file=/dev/FS1/BORON,if=ide,index=0,boot=on,format=raw \
-net nic,macaddr=52:54:00:20:0b:fd,vlan=0,name=nic.0 \
-net tap,fd=41,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 \
-parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -k en-us -vga cirrus
источник
Ответ Тима - это путь, который
virsh
позволяет вам делать много полезных вещей, кроме этого.Чтобы настроить автоматический запуск виртуальной машины, вы используете:
Это
<domain-id>
либо номер виртуальной машины, UUID, либо «понятное имя», например «debian1», в которое вы ввелиvirt-manager
.Чтобы получить список виртуальных машин (номера и имена), используйте:
В моем случае я получаю:
Итак, я использовал:
источник
затем установите virsh
источник
GRUB_TIMEOUT=0
. тогдаupdate-grub
Вы также можете разместить символическую ссылку на гостевой domxml в
/etc/libvirt/qemu/autostart
:Будет выглядеть так для виртуальной машины с именем «test»:
test.xml -> /etc/libvirt/qemu/test.xml
источник
Вы также можете использовать KVM_AutoBoot ( https://github.com/eduardolucioac/kvm_autoboot ) для запуска одной или нескольких виртуальных машин при загрузке сервера с использованием KVM (libvirt). Также возможно определить интервал между запуском виртуальной машины и следующей.
Спасибо! = D
источник