Как автоматически запустить виртуальную машину, созданную virt-manager?

10

Я создал виртуальную машину с помощью 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
Джефф Шатток
источник

Ответы:

17

Что касается автоматического запуска / остановки и использования virsh, вы можете сделать это следующим образом (как привилегированный пользователь)

virsh autostart Domain

Я не уверен, почему вирт-менеджер не дает никаких результатов. У него есть связь с машиной, на которой находится хостинг, верно? Он должен показать список доменов, если он подключен.

Тим Белава
источник
13

Откройте дисплей виртуальной машины, нажмите View-> Details

введите описание изображения здесь

Выберите Параметры загрузки и установите флажок Запускать виртуальную машину при загрузке хоста.

введите описание изображения здесь

Phyxx
источник
1
Это почему-то не работает для меня ..
Afriza N. Arief
10

Ответ Тима - это путь, который virshпозволяет вам делать много полезных вещей, кроме этого.

Чтобы настроить автоматический запуск виртуальной машины, вы используете:

# virsh autostart <domain-id>

Это <domain-id>либо номер виртуальной машины, UUID, либо «понятное имя», например «debian1», в которое вы ввели virt-manager.

Чтобы получить список виртуальных машин (номера и имена), используйте:

# virsh list --all

В моем случае я получаю:

 Id Name                 State
----------------------------------
  1 other                running
  2 other-clone          running

Итак, я использовал:

# virsh autostart other
Томаш Гандор
источник
8

затем установите virsh

virsh list                    (this will print list of your VMs)
virsh dominfo your_vm_name    (get info about selected VM)
virsh autostart your_vm_name  (set autostart of selected VM)
HVNSweeting
источник
если виртуальная машина застряла в grub, virt-viewer your_vm_name и загрузиться. После этого измените / etc / default / grub, убедитесь, что GRUB_TIMEOUT=0. тогдаupdate-grub
HVNSweeting
6

Вы также можете разместить символическую ссылку на гостевой domxml в /etc/libvirt/qemu/autostart:

Будет выглядеть так для виртуальной машины с именем «test»:
test.xml -> /etc/libvirt/qemu/test.xml

dyasny
источник
1

Вы также можете использовать KVM_AutoBoot ( https://github.com/eduardolucioac/kvm_autoboot ) для запуска одной или нескольких виртуальных машин при загрузке сервера с использованием KVM (libvirt). Также возможно определить интервал между запуском виртуальной машины и следующей.

Спасибо! = D

Эдуардо Лучио
источник