Назад | Перейти на главную страницу

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

Я создал виртуальную машину с virt-manager, которая работает на kvm / qemu. Машина хорошо работает при запуске через virt-manager. Однако я хотел бы иметь возможность запускать и останавливать виртуальную машину с помощью скрипта в init.d, чтобы она поднималась и опускалась вместе с хостом. Мне нужно, чтобы virt-manager показывал, что машина работает, и чтобы через нее можно было подключиться к своей консоли.

Когда я использую командную строку, созданную при запуске ps -eaf | grep kvm после запуска виртуальной машины через 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, вы можете сделать это так (как привилегированный пользователь)

virsh autostart Domain

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

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

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

Ответ Тима - это путь, 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

установить вирш затем

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)

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

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

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

Спасибо! = D