Запуск виртуальных машин#
Для запуска ВМ можно использовать интерфейс командной строки (CLI), также есть возможность настроить автостарт ВМ при запуске хоста.
Запуск виртуальной машины из командной строки#
Из командной строки можно запустить остановленную ВМ или восстановить ВМ, сохраненную ранее; запускать как локальные, так и удаленные ВМ.
Перед запуском ВМ убедитесь, что она создана и на нее установлена операционная система, а именно:
существует ранее созданная неактивная ВМ;
известно имя этой ВМ;
для удаленной ВМ:
известен IP-адрес хоста, где расположена ВМ;
есть полномочия администратора (например,
root) на хосте.
Ниже представлены сценарии запуска локальных и удаленных ВМ из командной строки:
Для локальной ВМ используйте команду
virsh start:virsh start <example-vm>Где
<example-vm>– имя ВМ.Пример вывода команды:
Domain '<example-vm>' startedДля ВМ, расположенной на удаленном хосте, используйте
virsh startвместе с подключением QEMU + SSH к хосту:virsh -c qemu+ssh://root@<IP_address>/system start <example-vm>Команда запускает ВМ
<example-vm>на хосте с IP-адресом<IP_address>. После ввода команда запросит пароль для подключения:root@<IP_address>'s password:А после выведет информацию о запуске ВМ:
Domain '<example-vm>' started
Примечание
Подробнее про команду virsh start см. в разделе «Команда virsh start».
Дополнительную информацию можно получить, выполнив команду virsh start --help.
Автоматический запуск виртуальной машины при старте хоста#
Когда хост, на котором работают ВМ, перезапускается, ВМ оказываются выключены. Запуск ВМ в таком случае осуществляется вручную. Для автоматического запуска ВМ при старте хоста требуется дополнительная настройка.
Примеры сценариев настройки автоматического запуска:
Для настройки автоматического запуска ВМ, воспользуйтесь командой
virsh autostart:virsh autostart <example-vm>Пример вывода команды:
Domain '<example-vm>' marked as autostartedПри использовании сетевого интерфейса, которым не управляет
libvirt, внесите изменения в конфигурациюsystemd:В
/etc/systemd/system/создайте каталогvirtqemud.service.d, если он не существует:mkdir -p /etc/systemd/system/virtqemud.service.d/Создайте файл
10-network-online.confдля переопределения юнитаsystemdв ранее созданном каталоге:touch /etc/systemd/system/virtqemud.service.d/10-network-online.confСодержимое этого файла переопределяет конфигурацию
systemdпо умолчанию для сервисаvirtqemud.Добавьте следующие строки в файл
10-network-online.conf. Данное изменение конфигурации гарантирует, чтоsystemdзапустит службуvirtqemudтолько после того, как сеть на хосте будет готова:[Unit] After=network-online.targetВнимание
Если не выполнить пункты выше, ВМ могут не запуститься.
Примечание
К интерфейсам, не управляемым
libvirt, относятся, например:устройства связи, созданные NetworkManager;
сети, настроенные на использование режима переадресации
forward mode='bridge'/.
Проверка#
Проверьте конфигурацию ВМ с помощью команды:
virsh dominfo <example-vm>Пример вывода команды:
Id: 2 Name: <example-vm> UUID: e46bc81c-74e2-406e-bd7a-67042bae80d1 OS Type: hvm State: running CPU(s): 2 CPU time: 385.9s Max memory: 4194304 KiB Used memory: 4194304 KiB Persistent: yes Autostart: enable Managed save: no Security model: selinux Security DOI: 0 Security label: system_u:system_r:svirt_t:s0:c873,c919 (enforcing)В выводе команды должна содержаться информация о включении опции автоматического запуска.
Если вы используете сетевые интерфейсы, которыми не управляет
libvirt, проверьте файл10-network-online.conf:cat /etc/systemd/system/virtqemud.service.d/10-network-online.confУбедитесь, что содержимое файла
10-network-online.confсоответствует следующей записи:[Unit] After=network-online.target
Дополнительную информацию можно получить, выполнив команду virsh autostart --help.