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

Обновлено: 05.07.2024

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

Я хочу помочь в написании скрипта для автоматического запуска машин VBox при загрузке.

Вы можете использовать сервис автоматического запуска VirtualBox. Хороший учебник, описывающий, как это сделать, размещен в блоге "Life of a Geek Admin".

Сначала вам нужно создать файл /etc/default/virtualbox и добавить несколько переменных.

VBOXAUTOSTART_DB, который содержит абсолютный путь к каталогу базы данных автозапуска и
VBOXAUTOSTART_CONFIG, который содержит расположение настроек конфигурации автозапуска. Файл должен выглядеть примерно так:

Теперь нам нужно создать /etc/vbox/vbox.cfg файл и добавить

Примечание: если имя файла vbox.cfg выше не работает, попробуйте назвать autostart.cfg ,

Если вы единственный пользователь, вы можете просто добавить строку default_policy = allow к vbox.cfg файл.

Установите права доступа к каталогу для группы vboxuser и убедитесь, что пользователи могут писать в каталог, а также прикреплять биты.

Добавьте каждого пользователя в vboxusers группа.

(заменить USERNAME с именем пользователя)

ПРИМЕЧАНИЕ. Если вы изменили разрешения группы для текущего пользователя, выйдите из системы и снова войдите в нее, чтобы обновить разрешения. (кредит @ кР105)

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

и включить автозапуск для отдельной виртуальной машины с

Это создаст myuserid.start файл в /etc/vbox каталог

Теперь перезапустите vboxautostart-service, чтобы прочитать изменения.

Перезагрузите систему и ваша виртуальная машина должна запуститься

У меня были похожие несчастные случаи, когда я пытался выполнить эту операцию на ванильном LTS.

В этой версии файл ключа /etc/init.d/vboxautostart-service не был установлен.

Насколько я знаю, все VitualBox и требования были введены с помощью apt-get, поэтому я не могу сказать, почему файл 'vboxautostart-service' также не был предоставлен. Но чтобы преодолеть это, вот мое обновление к посту kdmurray.

1) файл / etc / default / virtualbox для меня существовал. Итак, должны добавить переменные:

2) Необходимо создать /etc/vbox/autostart.cfg, как указано в OP.

6б) Нужно получить скрипт vboxautostart-service и сделать его исполняемым.

6c) Оповещение контроллера rc.d, но я использовал 24 в качестве времени запуска. Ставлю только 20 и он не запускается. Возможно, он работал еще до того, как Virtualbox работал.

Затем перезагрузка запустила виртуальную машину правильно.

После многих несчастных часов, пытаясь заставить работать процедуры из kdmurray выше, я безуспешно нашел способ, который работал просто.

Сначала мой хост Linux (Mint 17) был настроен во время загрузки для автоматического входа в мою основную учетную запись.

Во-вторых, я использовал средства VirtualBox GUI (v4.3.12), чтобы создать ярлык для каждой виртуальной машины на рабочем столе.

Далее: я уже обнаружил, что при вызове Меню-> Центр управления -> Запускаемые приложения -> Добавить и добавлении ярлыков на рабочем столе были получены файлы, которые не работали, я заметил из другого ответа на этой странице, что местоположение стартапов - /home/USERNAME/.config/autostart, поэтому я щелкнул правой кнопкой мыши по каждому ярлыку виртуальной машины на рабочем столе, а затем вставил их в эту папку, переписав более ранние файлы дерьма. Теперь они разработали "красивые" иконки VirtualBox.

И, конечно же, при перезапуске хост-компьютера 3 виртуальные машины запускались автоматически.

Решил я начать внедрять виртуализацию в одном государственно учреждении. Мой выбор пал сначала на Citrix XenServer, т.к. в нем можно было организовать программный RAID1 (т.к. из-за нехватки бюджета в сервере не был установлен аппаратный RAID-контроллер), но потыкавшись с ним все таки выбил деньги на аппаратный RAID-контроллер и перешел на VmWare ESXi 5.0. Что хорошо, оба они предоставляются бесплатно.

Все было прекрасно, нужные задачи были виртуализированны, виртуалки исправно работали, но тут случился Update 1 для ESXi 5.0. После обновления перестали работать функции автозапуска и автовыключения виртуальных машин. Казалось бы, мелочь, но питание у нас оставляло желать лучшего, и периодически возникал вопрос с автоматическим стартом виртуалок, после перезагрузки самого сервера. Ну и иногда сервер тоже приходится выключать, и для этого приходилось подключаться VMware vSphere Client к гипервизору и поочереди гасить виртуалки, что было очень лень.

Покопавшись в сети, был найден способ, как включать ВМ при запуске сервера написанием скрипта и вызовом его из /etc/rc.local .

Но хотелось, что бы и выключение отрабатывало корректно, правки в /etc/inittab не помогали. Правки файлов типа /sbin/shutdown.sh и /sbin/vmware-autostart.sh пользы не принесли, т.к. выяснилось, что все окружение гипервизора загружается в оперативку из образов и там живет.

Было принято решение внести правки в сам образ гипервизора.

sleep_time=`/bin/vim-cmd hostsvc/autostartmanager/get_defaults | grep startDelay | sed "s/ //g" | sed "s/,//g" | awk 'FS=" s/',//g" | awk 'FS=":" '`; do
state=`/bin/vim-cmd vmsvc/power.getstate $i | grep Power`
if [ "$state" = "Powered off" ]; then
/bin/vim-cmd vmsvc/power.on $i
j=0
while [ $j -le 3 ]; do
sleep $((sleep_time))
state=`/bin/vim-cmd vmsvc/get.guestheartbeatStatus $i`
if [ "$state" = "green" ]; then
break
fi
j=$((j+1))
done
fi
done

sleep_time=`/bin/vim-cmd hostsvc/autostartmanager/get_defaults | grep stopDelay | sed "s/ //g" | sed "s/,//g" | awk 'FS=" s/',//g" | awk 'FS=":" '`; do
state=`/bin/vim-cmd vmsvc/power.getstate $i | grep Power`
if [ "$state" = "Powered on" ]; then
/bin/vim-cmd vmsvc/power.shutdown $i
j=0
while [ $j -le 3 ]; do
sleep $((sleep_time))
state=`/bin/vim-cmd vmsvc/power.getstate $i | grep Power`
if [ "$state" = "Powered off" ]; then
break
fi
j=$((j+1))
done
fi
done

. Все изменения вносятся на ваш страх и риск, автор ни какой ответственности за последствия не несет.

Есть у одних моих клиентов хитрая программа, защита которой привязана к аппаратной части пк. Мы посадили эту программу на виртуальную машину virtualbox, а виртуалбокс установили на один из виндовых серверов. Все бы ничего, но при перезагрузке физического сервера приходилось логиниться на него, запускать виртуальную машину и оставлять все это добро работать в терминальной сессии. Неудобно.

Error creating VirtualBox instance! rc = 0x80004002

Погуглил. Наткнулся на предложение обновить версию VirtualboxVmService в соответствии с версией самого виртуалбокса. Догадался, что у нас с точностью до наоборот: для старой версии виртуалбокса нужен старый VirtualboxVmService. Скачал устаревшую версию и все заработало с полпинка!

Документация на VirtualboxVmService.

На всякий случай приведу перевод документации текущей версии 4.1

Шаг 1.
Убедитесь что Virtualbox установлен и ваши виртуальные машины могут стартовать с помощью менеджера virtualbox без каких либо проблем. Выключите виртуальные машины и закройте VirtualBox Manager.
ВАЖНО: Если вы хотите управлять вашей виртуальной машиной с помощью VRDP, Включите поддержку удаленного монитора в настройках display settings и определите соответствующий порт для каждой виртуальной машины индивидуально (т.е 3010 для Vm0, 3020 для Vm1, и т.д). Не используйте для этих целей стандартный порт 3389!

Шаг 2.
Скачайте и распакуйте последний релиз VBoxVmService в c:\vms.

Шаг 3
Откройте VBoxVmService.ini в любом текстовом редакторе и отредактируйте под ваши нужды. Этот файл содержит пример установки с двумя виртуальными машинами.

VmServiceControl.exe -i [ENTER]

По умолчанию все виртуальные машины, запущенные на сервере VMWare ESXi или VMware Hypervisor не запускаются автоматически после перезагрузки сервера. Это означает, что после перезагрузки хоста ESXi (плановой или неплановой, по питанию), администратору придется вручную запускать все виртуальные машины. Разберемся, как настроить автоматический запуск ВМ на сервере VMWare ESXi, чтобы ВМ загружались автоматом без участия администратора.

Итак, запустите браузер, откройте стартовую страницу VMware Web Client и авторизуйтесь. Затем в консоли Web Client выберите хост, на котором вы хотите настроить автозапуск ВМ. Затем перейдите в раздел Manage -> Settings -> VM Startup / Shutdown.

Как вы видите все ВМ, расположенные на данном сервере ESXi, перечислены в списке Manual Startup. Это означает, что после перезагрузки сервера, их нужно включать вручную.

Чтобы они загружались автоматически, нужно вручную добавить в список Automatic Startup. Для этого нажмите кнопку Edit.

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

В диалоговом окне Edit VM Startup and Shutdown, поставьте чекбокс Autmatically start and stop the virtual machines with the system. Теперь можно настраивать параметры автозапуска ВМ.

Доступны следующие опции включения/выключения виртуальных машин:

  • Startup delay — задержка в секундах перед включением ВМ (по умолчанию 120 секунд). С помощью данной задержки можно дождаться загрузки других ВМ, запуска служб (например, AD, DNS, NTP и пр.), а также выполнения скриптов.
  • Shutdown delay –задержка перед выключением каждой ВМ (по умолчанию 120 секунд).
  • Shutdown Action –доступны четыре варианта действий, которые можно выполнить при выключении виртуальной машины: None, Power Off , Suspend или Guest Shutdown (с помощью возможностей VMTools). По умолчанию используется Power Off.

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

Можно поместить ВМ в одну из следующих секций:

  • Automatic Startup –все ВМ, помещенные в эту секцию запускаются автоматически после загрузки хоста ESXi. Администратор может изменить порядок загрузки виртуальных машин. Например, сначала должен запуститься контроллер домена, потом сервера Exchange и т.д.
  • Any Order – виртуальные машины загружаются в произвольном порядке
  • Manual Startup — администратор должен вручную включить данные ВМ

Выберите виртуальную машину и с помощью кнопок Вверх/Вниз переместите ее в секцию Automatic Startup. Аналогичную операцию выполните для всех ВМ.

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

Сохраните изменения, нажав ОК.

Кроме того, параметры автозапуска ВМ могут быть настроены с помощью PowerCLI. Выведем список ВМ на хосте с их настройками автозапуска:

Get-VM –VMname * | Select-Object VMname, AutomaticStartAction

Чтобы включить автозапуск для всех ВМ, чьё имя начинается с msk, выполните команду:

Get-VM –VMname msk* | Set-VM –AutomaticStartAction Start

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или VMware ESXi 5.5 после перезагрузки хоста

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или VMware ESXi 5.5 после перезагрузки хоста

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-01

Всем привет сегодня расскажу как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5. Представим ситуацию, у вас не штатно выключился ESXI хост и естественно все виртуальные машины на нем, после возобновления работы, виртуальные машины сами не включаться, для этого нужно настроить автозапуск или как он правильно называется startup. Настраивать мы его будем двумя способами через VMware vSphere Client и VMware Web Client.

Как настроить автозапуск виртуальной машины через VMware vSphere Client

Для настройки авто запуска виртуальной машины в Vcenter 5.5 или VMware ESXi 5.5. Логинимся, выбираем нужный host и переходим в пункт Configuratin-Virtual Machine Startup/Shutdown. в правом верхнем углу жмем Properties

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-02

В окне Virtual Machine Startup and Shutdown, видим что все не активно, поставим для активации галку на Allow virtual machine to start and stop automatically with the system, что означает разрешить авто запуск и автоматическое выключение виртуальных машин.

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-03

Видим что в окне Startup Order есть три значения

  • Automatic Startup — все виртуальные машины кто тут находятся запускаются автоматически при включении ESXI 5.5 хоста. Причем запускаться будут в произвольном порядке.
  • Any Order — это настроенный порядок, который вы можете сами выстроить, например сначала стартует контроллер домена, потом exchenge и тд.
  • Manual Startup — то есть включение в ручную

Выбираем нужную вам машину и с помощью кнопки Move up перемещаем ее в пункт Automatic Startup

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-04

Вы можете задать время запуска и время выключения, а так же действие при выключении в пункте Shutdown Action.

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-05

Как настроить автозапуск виртуальной машины через VMware vSphere

Логинимся в ваш веб клиент. выбираем нужный хост ESXI. Нас будет интересовать пункт Manage-VM Startup/Shutdown. Жмем Edit.

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-06

Для включения также ставим галку Automatically start and stop the virtual vachine with the system

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-07

Перемещение виртуальных машин происходит с помощью стрелок

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

Как настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5-08

Вот так вот просто настроить автозапуск виртуальной машины в Vcenter 5.5 или ESXi 5.5.

Блог о технологиях, технократии и методиках борьбы с граблями

Автостарт виртуальных машин в VMware ESXi

Странная тема- мне вроде бы казалось что я уже писал про автостарт виртуальных машин в VMware ESXi, найти смог только тему про Workstation. Видимо еще много тем, которые как мне кажется я рассматривал на страницах своего блога, а на деле нет.

Видимо в какой то момент посчитал данную процедуру настолько тривиальной, что и писать о ней не имело никакого смысла, но в данный момент пересмотрел свое мнение. Так что пока распишу эту крайне важную процедуру, так как в случае аварийного выключения сервера VMware ESXi машины сами собой не поднимаются и ждут того прекрасного момента, когда разбуженный утренними звонками из офиса администратор, не даст им пендаля.

Как обычно- раньше это все делалось через консольную управлялку сервером виртуальных машин, тогда как сейчас это все можно проделать из VMware vSphere, но учитывая что эргономика вмваревских менюх находится на высоте, найти нужную кнопку могут только те, кто всегда находил все различия на картинках в загадках, то есть наблюдательные люди.

Так что открываем клиента VMware vSphere и логинимся к нашей машине, после чего ставим курсор на наш сервер ESXi и в правом окне выбираем вкладку Configuration. В этой вкладке в куче подменюшек выбираем раздел Software -> Vitual Machine Startup/Shutdown и видим список наших виртуальных машин с пометкой у кого включена автозагрузка, а у кого нет.

В верхнем правом углу нажимаем малозаметную кнопку Properties и попадаем в настройку автозапусков и выключений виртуальных машин вместе с сервером ESXi. Кнопочкой move up загоняем виртуалки в автостарт и нажав на Edit выставляем таймауты на загрузку. Лучше поставить таймауты отличные и большие чем дефолтный, так как при одновременном автостарте у меня наблюдались проблемы что одна из машин никак не хотела поднимать сетку, так что приходилось её выключать и запускать снова.

Автозапуск гостевой виртуальной машины VirtualBox после загрузки хостовой машины на базе Windows реализуется следующим образом.

  1. Узнаем uid гостевой машины, в этом нам поможет файл VBoxManage.exe , который запускаем со следующими атрибутами :

В командной строке это выглядит следующим образом:

vbox1

Собственно, данной командой мы вывели список гостевых операционных систем, созданных в VirtualBox’е. В данном случае их две. Рамкой обозначена та машина, для которой необходимо сделать автостарт:

vbox2

2. Создаем ярлык для автостарта.

vbox4

3. Добавляем созданный ярлык в автозапуск и радуемся автоматической загрузке гостевых операционных систем VirtualBox!

Вы можете заказать данную услугу, а так же весь спектр услуг по IT-сопровождению вашей компании по телефону: +375 44 7688419 ИП Архипович Виталий Владимирович.

Читайте также: