Управление рабочей станцией и vSphere с помощью команды vmrun

Опубликовано: 20 Апреля, 2023

Хотя можно удаленно управлять виртуальными машинами VMware Workstation с помощью нового веб-интерфейса WSX на основе HTML5, существует также ряд вариантов использования маршрута командной строки. Допустим, вы хотите написать скрипт в Windows (рабочая станция работает и в Linux, так что большая часть этого должна применяться, но я не тестировал) для управления виртуальными машинами с вашей рабочей станции? Вы можете предположить, что это не так сложно, если виртуальные машины, которыми вы хотите управлять, находятся на локальной рабочей станции, но что, если эти виртуальные машины работают на Mac в Fusion или что, если они работают в центре обработки данных в VMware vSphere. Не волнуйтесь; Рабочая станция может обрабатывать все это одной командой. - вмрун.

Как установить и найти команду vmrun

Когда вы устанавливаете VMware Workstation в Windows (в этой статье я сосредоточусь только на Windows), вы получите ряд инструментов командной строки (файлы.EXE, которые вы видите на рисунке ниже). По умолчанию они расположены в «C:Program Files (x86)VMwareVMware Workstation». Некоторые из этих команд используются рабочей станцией VMware для выполнения своей работы (например, команды vmnetdhcp.exe и vmware-hostd.exe ). Другие команды просто запускают графическое приложение рабочей станции, такое как vmware (которое имеет некоторые параметры командной строки) или vmnetcfg.exe (которое запускает редактор виртуальной сети рабочей станции).

Однако в каталоге VMware Workstation есть по крайней мере одна команда, которая может управлять виртуальными машинами, работающими на рабочей станции (локально), общими виртуальными машинами рабочей станции (на другом хосте, на котором запущена рабочая станция), виртуальными машинами VMware Fusion, виртуальными машинами хоста ESXi, виртуальными машинами, управляемыми vCenter, и даже ВМ, работающие в VMware Player. Это команда vmrun.

Как я уже сказал, команда vmrun (и другие исполняемые файлы рабочей станции, упомянутые выше) устанавливаются вместе с рабочей станцией в «C:Program Files (x86)VMwareVMware Workstation», как вы видите ниже:

Изображение 15544
Рис. 1.
Исполняемые команды VMware Workstation

Таким образом, каждый раз, когда вы запускаете команду vmrun, вам нужно либо находиться в этой папке, указать полный путь, либо вам пришлось бы добавить эту папку в свой Windows PATH.

Запуск виртуальных машин рабочей станции с помощью команды vmware

Гораздо менее многофункциональная команда vmware может запускать виртуальные машины из командной строки, запускать виртуальные машины, а затем переходить в полноэкранный режим, запускать виртуальные машины в режиме паузы и останавливать виртуальные машины при закрытии рабочей станции. В отличие от команды vmrun, команда vmware имеет только это ограниченное количество или использование.

Изображение 15545
Рисунок 2:
Параметры командной строки для команды vmware

Тем не менее, команда vmware полезна, и я смог использовать ее для создания значка на рабочем столе Windows, который я мог дважды щелкнуть, запустить виртуальную машину и развернуть ее в полноэкранном режиме. Получив командную строку, я создал ярлык Windows на рабочем столе (как для команды vmware, так и для ярлыка команды vmrun, который я создал в следующем разделе). Вот как выглядели значки на рабочем столе:

Изображение 15546
Рисунок 3.
Значки рабочего стола Windows для запуска виртуальных машин с помощью сценариев

Командная строка, которую я использовал для создания этого значка:

«C:Program Files (x86)VMwareVMware Workstationvmware.exe» -X «C:[Путь к файлу конфигурации VMX для виртуальной машины]»

Изображение 15547
Рис. 4.
Ярлык командной строки с использованием vmware для запуска виртуальной машины

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

Использование vmrun для управления виртуальными машинами рабочей станции

Команда vmrun, входящая в состав Workstation, обладает гораздо большей функциональностью. Первым тестом, для которого я его использовал, было включение виртуальной машины, работающей на моей локальной рабочей станции. Чтобы получить все параметры, введите vmrun /? и вы, вероятно, захотите передать его примерно так:

вмрун /? -помощь

Оттуда вы получите длинную справочную информацию, и вы можете пролистнуть ее, нажав клавишу пробела.

Что я сделал, так это взял эту информацию и прокрутил до основных параметров команды:

Изображение 15548
Рисунок 5:
Справочная информация по команде vmrun

Как видите, команда разбита на аутентификацию, команду и параметры. Особый интерес представляют флаги аутентификации, так как именно здесь вы указываете опцию «-T» для «типа хоста». Возможные типы хостов: VMware Server (server/server1), Workstation (ws), общие виртуальные машины VMware Workstation (ws-shared), VMware Fusion (fusion), VMware ESX Server (esx) и vCenter Server (vc). Таким образом, команда vmrun может манипулировать виртуальными машинами, работающими на любой из этих платформ.

Как я уже сказал, в моем случае я начал с управления локальными виртуальными машинами Workstation с использованием опции типа сервера «ws» (для Workstation).

Точная опция командной строки:

Изображение 15549
Рисунок 6:
Строка командной строки vmrun

Эта команда запустила виртуальную машину на рабочей станции. Я поместил его в ярлык на рабочем столе Windows (вы видите значок выше) и использовал его для запуска виртуальной машины со своего рабочего стола всего лишь двойным щелчком мыши. Однако vmrun можно использовать не только для запуска и остановки виртуальных машин. Вы также можете думать так:

  • Снимки — список, создание снимков, удаление снимков, возврат к снимку
  • Гостевая ОС — запустить программу в гостевой системе, проверить, существует ли гостевой файл, проверить, существует ли каталог, изменить общую папку, добавить/удалить/включить/отключить/отключить общую папку, список процессов в гостевой системе, список каталогов в гостевой системе, и более
  • Команды vProbe
  • Общая виртуальная машина — список всех работающих виртуальных машин, обновление виртуального оборудования виртуальной машины, список всех установленных инструментов VMware, регистрация/отмена регистрации виртуальной машины, удаление виртуальной машины, клонирование виртуальной машины и т. д.

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

Использование vmrun для управления виртуальными машинами vSphere

Еще одна функция vmrun — управление виртуальными машинами, работающими в VMware vCenter или на определенном хосте ESXi. Для этого используйте (в основном) те же команды, но используйте тип хоста «T» для ESXi или «vc» для vCenter.

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

Сначала я проверил, что виртуальная машина, которую я собирался включить, уже выключена (см. мою виртуальную машину на рисунке ниже).

Изображение 15550
Рис. 7.
Виртуальная машина vSphere отключена до запуска vmrun

Во-вторых, вам потребуется полный путь к файлу VMX для виртуальной машины, работающей в vSphere (включая имя хранилища данных). Самый простой способ найти это для вашей виртуальной машины — зайти в свойства виртуальной машины и в общих настройках посмотреть, где написано «Файл конфигурации виртуальной машины» (как вы видите на рисунке ниже) . Обратите внимание, что имя хранилища данных узла находится в начале пути к этому файлу в квадратных скобках, например:

[Хранилище данных 1]

Также потребуется пробел между концом имени хранилища данных и началом имени файла конфигурации VMX.

Изображение 15551
Рис. 8.
Поиск файла VMX виртуальной машины и имени хранилища данных

Имея на руках полный путь к файлу VMX (включая имя хранилища данных), вы готовы манипулировать виртуальными машинами в vSphere с помощью vmrun.

В-третьих, используйте команду vmrun с найденным нами путем к файлу VMX, например:

Изображение 15552
Рисунок 9.
Использование vmrun для включения виртуальной машины в vSphere

После выдачи виртуальная машина в vSphere быстро включилась. Вот как это выглядело из vSphere Client:

Изображение 15553
Рис. 10.
Виртуальная машина vSphere включена через vmrun

Вы также можете делать такие вещи, как перечисление запущенных виртуальных машин в vSphere или vCenter или «зарегистрированных виртуальных машин» (которые могут быть виртуальными машинами, которые были зарегистрированы на хосте или vCenter, но могут быть включены или не включены). Вот как:

Изображение 15554
Рисунок 11:
Список зарегистрированных виртуальных машин с помощью команды vmrun

Дополнительные сведения о VMware Workstation см. в Сообществе VMware Workstation.