VMWare Workstation 8 автозапуск виртуальных машин и автоматическая остановка виртуальных машин (не ACPI)

На радость вполне подходящее решение предоставляет VMWare Workstation 8. (На сколько я понял именно с 8ой версии). Не сразу можно найти функции для автозапуска машин. И тем более для корректного выключения вместе с хостом. Далее по шагам как это всё сделать.
Инструкция пригодна и для гостевой ОС Windows. Необходимое условие: наличие установленных «VMMware Tools».

Понадобилось мне на длительный срок на Windows 2003 Server поставить Debian Linux виртуальной машиной. (По некоторым причинам, этот вариант я посчитал наиболее удачным в моём случае.).
Необходимо корректно выключать гостевую машину вместе с хостом. Причем, чтобы виртуальная машина запускалась сразу после загрузки сервера без входа пользователя.
Погуглил… Предлагают:

  • VMWare Server. «Компания VMWare объявила о конце срока поддержки VMWаre Sеrver 2 (летом 2011 заканчивается поддержка)»
  • обернуть в сeрвис командную строку для запуска машины. Ceрвис меня не устраивает из-за возможных запросов виртуальной машины к пользователю. Такое решение на коленке может нестабильно работать. UPD: У команды vmrun есть ключ nogui. Но как быть с выключением? Из-за навороченности решение не пробовал, можно конечно использовать vmrun -T ws stop "путь_к_файлу_виртуальной_машины.vmx" soft перед выключение компьютера. (vmrun находится в Program Files\VMware\VMware Workstation)
  • vSphere — из пушки по воробьям.

С установкой VMWare Workstation 8 стало ясно, что можно настроить автозапуск.VMWare Workstation 8 share option on virtual machine right clickVMWare Workstation 8 Manage AutoStart VMsVMWare Workstation 8 configure autostart VMs window
В контекстном меню на нужной виртуальной машине выбираем Manage -> Share. Выбираем один из способов: переместить виртуальную машину, или создать клон. Всё это происходит в специальную папку для шареных машин. Изменить можно в настройках (Edit -> Preferences ->Shared VMs). В настройках можно поменять порт для удаленной работы с виртуальными машинами.
На панели «Library» появится новая виртуальная машина в разделе «Shared VMs». Выбираем Shared VMs -> Manage AutoStart VMs. В диалоговом окне настраиваем порядок запуска виртуальных машин. И галками какие из них автозапускать. Виртуальные машины стартую из под службы «VMWare Workstation Server».
Корректное выключение гостя (например ACPI выключение, или через установленные VMWare Tools) не отрабатывают с выключением хоста. (Настройка на кнопку на панели «выключение» также настроена на shutdown guest — выключение через VMWare tools).
Нужно править файлы конфигурации config.xml и vmAutoStart.xml в
Vista/7: C:\ProgramData\VMware\hostd\
XP/2003: C:\Documents and Settings\All Users\Application Data\VMware\hostd\
В config.xml нужно убрать комментарии:
<!-- The file containing the AutoStart settings -->
<vmAutoStart>/etc/vmware/hostd/vmAutoStart.xml</vmAutoStart>

В vmAutoStart.xml:
в элементе /ConfigRoot/SystemDefaults — настройки по умолчаиню и в /ConfigRoot/AutoStartOrder/e[@id] — настройки для каждой виртуальной машины
stopAction установить в guestShutdown, для выключения гостевой машины вместе с хoстом через «VMware Tools». Возможные значения stopAction: none, powerOff, guestShutdown, suspend.
Подробней о значениях элемента stopAction
Таким образом получаем удобную виртуальную машину, к которой можно подключаться удаленно при помощи той же VMWare Workstation.

Дополнительная информация:
1. Пакет VMWare Tools для дебиана open-vm-tools
2. Служба, отвечающая за шаринг «VMwareHostd» («vmware-hostd.exe»). Вход от имени локальная система. Каждая виртуальная машина запускается в процессе «vmware-vmx.exe».
3. Пример перезагрузки удаленной расшаренной виртуальной машины:
vmrun -T ws-shared -h ip:port -u administrator -p password list
Получили список виртуальных расшаренных машин. Можно теперь подставить имя файла виртуальной машины для удаленной «мягкой» перезагрузки:
vmrun -T ws-shared -h ip:port -u administrator -p password reset "[ha-datacenter/standard] Debian GNU_Linux 6 (64-bit)/Debian GNU_Linux 6 (64-bit).vmx" soft
Команда возвращает управление в то время, когда заново загрузятся VMware Tools (по моим наблюдениям)

VMWare Workstation 8 автозапуск виртуальных машин и автоматическая остановка виртуальных машин (не ACPI): 7 комментариев

    • Какая у вас версия VMWare, Windows, сколькибитная windows? Расшаривали ли вы виртуальные машины (есть ли машины в разделе SharedVMs)? (возможно только после расшаривания появляются файлы настроек).

      У меня файл vmAutoStart.xml на Win2003 SP1 находится по пути «C:\Documents and Settings\All Users\Application Data\VMware\hostd» выглядит так (после правки):

      <ConfigRoot>
        <AutoStartOrder>
          <_length>2</_length>
          <_type>vim.host.AutoStartManager.AutoPowerInfo[]</_type>
          <e id="0">
            <_type>vim.host.AutoStartManager.AutoPowerInfo</_type>
            <key>
              <_type>vim.VirtualMachine</_type>
              <moid>1</moid>
            </key>
            <startAction>PowerOn</startAction>
            <startDelay>-1</startDelay>
            <startOrder>-1</startOrder>
            <stopAction>guestShutdown</stopAction>
            <stopDelay>-1</stopDelay>
            <waitForHeartbeat>systemDefault</waitForHeartbeat>
          </e>
          <e id="1">
            <_type>vim.host.AutoStartManager.AutoPowerInfo</_type>
            <key>
              <_type>vim.VirtualMachine</_type>
              <moid>2</moid>
            </key>
            <startAction>PowerOn</startAction>
            <startDelay>-1</startDelay>
            <startOrder>-1</startOrder>
            <stopAction>SystemDefault</stopAction>
            <stopDelay>-1</stopDelay>
            <waitForHeartbeat>systemDefault</waitForHeartbeat>
          </e>
        </AutoStartOrder>
        <SystemDefaults>
          <_type>vim.host.AutoStartManager.SystemDefaults</_type>
          <enabled>true</enabled>
          <startDelay>120</startDelay>
          <stopAction>guestShutdown</stopAction>
          <stopDelay>120</stopDelay>
          <waitForHeartbeat>false</waitForHeartbeat>
        </SystemDefaults>
      </ConfigRoot&gt
      

      Так же в папке есть ещё файлы (попробуйте поиск файлов), (логи и бэкапы не публикую):
      stats\
      authorization.xml
      config.xml
      datastores.xml
      proxy.xml
      vmAutoStart.xml
      vmInventory.xml

  1. Метода хорошая — работает отлично!
    Вот только есть одна ерундишка — после расшаривания виртуалки исчезает возможность использовать shared folders. Неудобно.

    • А вы перед расшариванием установите все желаемые настройки включая shared folder и лишь потом только расшаривайте. И ещё можно поискать соответствующую строчку в конфигурационном файле .vmx там будет строка для расшаренных папок.

  2. Уведомление: VMWare Workstation 8 автозапуск и автоматическая остановка виртуальных машин (не ACPI) | ExtraLAN.ru

  3. а еще при расшаривании почему то перестает работать сетевой мост(( гостевая машинка ни как не хочет получать адрес из сети(

Добавить комментарий для rodji Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *