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

Обновлено: 07.07.2024

Тема автозапуска виртуальной машины VMware Player избитая, но при этом в Сети частенько можно увидеть вопрос - как автоматически запустить виртуальную машину при загрузке Windows?

Есть очень простое решение данного вопроса, справится с которым может каждый:
1. Необходимо создать ярлык на VMware Player (VMware Player.lnk);
2. В свойствах ярлыка "Объект" после пути к vmplayer.exe дописать в кавычках путь к Вашему образу виртуальной машины. В итоге должно получится: "C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe" "C:\images\image1.vmx";
3. Далее этот ярлык поставить в автозагрузку любым способом: хоть стандартной автозагрузкой, хоть bat-файлом (например, start explorer "C:\VMware Player.lnk"), хоть. другим привычным способом.
Комментарий 1: создавая ярлык автозапуска виртуальной машины с помощью bat-файла, можно сразу сделать бэкап машины перед запуском. Для этого перед командой старта ВМ в bat-файле надо прописать, предварительно создав папку backup на диске D (либо на другом любом диске):
set datetemp=%date:

-10%
MD D:\backup\%datetemp%
MD D:\backup\%datetemp%\images
xcopy C:\images D:\backup\%datetemp%\images /E /F /H /R /Y
В итоге при запуске bat-файла в папке backup будет создаваться папка, имя которой будет соответствовать дате запуска bat-файла. В эту папку и будет копироваться образ виртуальной машины.
Комментарий 2: совместно с вопросом об автозапуске возникает вопрос - как автоматически заходить в Windows? или - как убрать заставку входа в Windows 8/8.1/Server 2012R2? Или - как настроить автоматический вход в Windows? Очень просто.
1. Нажать Выполнить (Win+R);
2. Прописать команду netplwiz;
3. Убрать галочку с "Требовать ввод имени пользователя и пароля". Причем Вы можете создать отдельного пользователя с ограниченными правами; только для работы ВМ. И настроить именно на него автоматический вход, оставив Администратора и других пользователей в покое.
Простые решения для простых задач)

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

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

Совет . В том случае, если хост ESXI включен в кластер vSphere HA, настроить автозапуск ВМ таким образом не удастся, т.к. за доступность ВМ отвечает кластерная служба HA, которая учитывает и запоминает состояние ВМ.

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

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

В диалоговом окне 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.

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

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

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

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

Совет . Если HA у вас не настроен, но возможна миграция ВМ между серверами с помощью vMotion, параметры автозапуска переезжают между серверами вместе с виртуальной машиной. Поэтому не придется настраивать автозапуск на всех хостах, где может быть запущена ВМ.

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

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

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

date

05.02.2020

directory

VMWare

comments

комментариев 6

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

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

Совет. В том случае, если хост ESXI включен в кластер vSphere HA, настроить автозапуск ВМ таким образом не удастся, т.к. за доступность ВМ отвечает кластерная служба HA, которая учитывает и запоминает состояние ВМ.

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

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


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

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


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

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


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

Совет. Если HA у вас не настроен, но возможна миграция ВМ между серверами с помощью vMotion, параметры автозапуска переезжают между серверами вместе с виртуальной машиной. Поэтому не придется настраивать автозапуск на всех хостах, где может быть запущена ВМ.

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

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

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

Решил я начать внедрять виртуализацию в одном государственно учреждении. Мой выбор пал сначала на 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 пользы не принесли, т.к. выяснилось, что все окружение гипервизора загружается в оперативку из образов и там живет.

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

Специально для этих целей были написаны скрипты автозапуска и автовыключения, которые берут информацию об автоматически запускаемых и выключаемых машин у самого гипервизора, т.е. сделав изменения в конфигурации в разделе «Virtual Machines Startup/Shutdown» скрипты корректно их обработают (разве что порядок не соблюден, т.е. работает по принципу «Any Order»).

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

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

Первоначально распакуем gunzip’ом файл образа на основное хранилище:

/sbin/autostart.sh

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