VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

Представьте, ваш сервер внезапно перезагрузился, а все виртуальные машины остановились. Критичные службы недоступны, и вам срочно нужно всё восстанавливать вручную. Знакомая ситуация?

Больше не нужно каждый раз вручную запускать виртуальные машины после сбоя или перезагрузки системы. Мы покажем вам надёжный способ настроить их автозапуск.

Всё, что вам нужно — это встроенная в систему инициализация systemd. С её помощью вы создадите специальный конфигурационный файл, который возьмёт всю рутину на себя.

Ваши виртуальные серверы будут автоматически стартовать при загрузке, даже в «headless»-режиме, без графического интерфейса. Это идеально для серверных окружений.

Вы научитесь создавать и настраивать юнит для systemd, который будет управлять жизненным циклом ваших виртуальных машин. Мы разберём все ключевые параметры, включая правильное указание пользователя.

Узнаете, как запускать машины по имени или по UUID, что особенно актуально, если в названии есть пробелы. Мы также покажем, как проверить статус службы и найти ошибки, если что-то пошло не так.

Всё это займёт у вас буквально несколько минут, но сэкономит часы в будущем. Забудьте о простоях и рутине.

Готовы сделать вашу инфраструктуру стабильнее? Переходите к статье и настройте автозапуск раз и навсегда!


Если вы запускаете виртуальные машины VirtualBox на сервере, то скорее всего, захотите, чтобы они оставались запущенными даже после неожиданной перезагрузки сервера.

В этой небольшой статье мы рассмотрим как настроить автозапуск виртуальной машины VirtualBox с помощью системы инициализации systemd, которая сейчас используется повсеместно.

Автозапуск виртуальной машины в VirtualBox

Давайте создадим файл юнита, который будет управлять автозагрузкой. Для этого выполните такую команду:

sudo systemctl edit vbox@.service --full --force

В открывшемся редакторе вставьте такой текст:

Description=Virtual Box Guest %I
After=network.target vboxdrv.service
Before=runlevel2.target shutdown.target
[Service]
User=root
Group=root
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/usr/bin/VBoxManage startvm %i --type headless
ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton
[Install]
WantedBy=multi-user.target

VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

С помощью этого юнита мы и будем делать автозапуск virtualbox linux. В этом примере я запускаю виртуальную машину от имени пользователя root, но вам нужно запускать её от того пользователя, к которому добавлены виртуальные машины и от имени которого VirtualBox обычно работает.

Сохраните изменения в файле и выполните следующую команду, чтобы система инициализации перечитала конфигурационные файлы с диска:

systemctl daemon-reload

В нашем юнит файле мы предусмотрели возможность использования параметра, в котором передается имя или UUID идентификатор виртуальной машины. Если в имени машины есть пробел, то лучше использовать UUID, а иначе можно и имя.

Смотрим список виртуальных машин:

VBoxManage list vms

VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

Теперь давайте запустим машину Ubutnu1804 с UUID ed0ce7dd-0ddb-46bf-913c-876671c4d1f1 с помощью systemd:

sudo systemctl start vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1

Если во время запуска произошла ошибка, вы можете посмотреть её выполнив:

journalctl -xe

VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

В данном случае машина уже была запущена. Я остановил её и запустил ещё раз с уже помощью systemd. Смотрим статус виртуальной машины:

sudo systemctl status vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1

VirtualBox: Настрой автозапуск ВМ за 5 минут и забудь о ручном запуске

Если всё хорошо, то всё, что нам осталось, это добавить этот сервис в автозагрузку:

sudo systemctl enable vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1

Выводы

В этой статье мы разобрались как делается автозагрузка виртуальной машины virtualbox. Как видите, всё очень просто и удобно. Теперь ваши виртуальные машины будут всегда запущены.

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив