Хочу также как и по аналогии с ESXi хостами разобрать и в последствии использовать чтобы после перезагрузки хоста контейнер с виртуальной машиной поднимался автоматически. По первой это казалось трудно настроить, но выкроив время задумка была реализована. Хотите узнать как? см. ниже мою пошаговую заметку.

  • Мой хост QEMU KVM on Ubuntu 18.04 (172.33.33.25)

ekzorchik@navy:~$ ssh -l root 172.33.33.25

root@srv-bionic:~# virsh list --all

Id Name State

----------------------------------------------------

- FOX_PXE_1804_Server shut off

- generic shut off

- UServer1804 shut off

- Userver1804_2 shut off

- UServer1804_3 shut off

- UServer1804_CLONE shut off

- W7X64 shut off

root@srv-bionic:~#

root@srv-bionic:~# libvirtd -V

libvirtd (libvirt) 4.0.0

Мне нужно чтобы VM с именем UServer1804 запускалась автоматом когда стартует хост, по сути то что у меня сделано под ESXi

Шаг №1: Проверяю, а не включена ли случаем настройка автозапуска для данной VM:

root@srv-bionic:~# virsh dominfo UServer1804

Id: -

Name: UServer1804

UUID: b0ef2747-bc6c-48ee-92c7-8369af03a737

OS Type: hvm

State: shut off

CPU(s): 2

Max memory: 2097152 KiB

Used memory: 2097152 KiB

Persistent: yes

Autostart: disable → автозапуск выключен

Managed save: no

Security model: apparmor

Security DOI: 0

Шаг №2: Включаю автозапуск VM при загрузке хоста QEMU+KVM:

root@srv-bionic:~# virsh autostart UServer1804

Domain UServer1804 marked as autostarted

данной командой был создан каталог autostart, а внутри него ссылка на конфигурационный файл с виртуальной машиной:

root@srv-bionic:~# ls -l /etc/libvirt/qemu/autostart/UServer1804.xml

lrwxrwxrwx 1 root root 33 May 29 20:55 /etc/libvirt/qemu/autostart/UServer1804.xml -> /etc/libvirt/qemu/UServer1804.xml

По-сути получается что можно просто создать символическую ссылку вида:

mkdir /etc/libvirt/qemu/autostart/ && ln -s /etc/libvirt/qemu/UServer1804.xml /etc/libvirt/qemu/autostart/UServer1804.xml

Шаг №3: После нужно перезапустить хост чтобы он воспринял внесенные изменения:

root@srv-bionic:~# systemctl reload libvirtd.service

root@srv-bionic:~# virsh dominfo UServer1804 | grep Autostart

Autostart: enable

Шаг №4: Чтобы исключать запуск VM вместе с хостом при загрузке, нужно удалить ссылку:

root@srv-bionic:~# unlink /etc/libvirt/qemu/autostart/UServer1804.xml

root@srv-bionic:~# systemctl reload libvirtd.service

root@srv-bionic:~# virsh dominfo UServer1804 | grep Autostart

Autostart: disable

Шаг №5: Проверяю, а действительно ли VM с именем UServer1804 запуститься при вынужденном выключении и последующим включении хоста QEMU+KVM:

root@srv-bionic:~# reboot

Подключаюсь к хосту с домашнего ноутбука под управлением Ubuntu 18.04 Desktop amd64 через приложение virt-manager и вижу:

Настроенный автозапуск VM на хосте QEMU+KVM

Что да! VM запустилась автоматически. Делаю вывод что настройка работает.

Шаг №6: Включить автозапуск для любой VM необязательно задействовать консоль, можно и через утилиту virt-manager (Менеджер виртуальных машин) подключиться к хосту, затем открывай свойства VM и настройка называется «Параметры загрузки» тут следует отметить галочкой «Запускать виртуальную машину при включении компьютера» и после не забыть нажать «Применить». Как только это проделано будет появится сообщение с текстом «Изменения вступят в силу после выключения гостевой системы».

Как по мне, мне проще делать через консоль командной строки, так я действительно вижу что делаю и что меняется и где, но вариант через «Менеджер виртуальных машин» так же подходит.

Так кстати всегда чем больше интересуешься тем больше узнаешь. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.