e-mail
phone
mobile

5 PowerCLI командлетов для управления виртуальными машинами

Технологии
25.08.2017
4955
10 min
5 PowerCLI командлетов для управления виртуальными машинами
#powercli
В статье Управление виртуальной и облачной инфраструктурой с помощью VMware vSphere PowerCLI мы знакомили читателей с инструментами, автоматизирующими выполнение рутинных задач в облаке.

Напомним, что PowerCLI – это расширение для Windows PowerShell, которое позволяет использовать более 600 командлетов для работы с облачной инфраструктурой. Последняя версия пакета доступна на официальном сайте VMware.

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

Get-VM

Get-VM представляет собой классический подход, позволяющий извлекать список виртуальных машин на стороне vCenter. Кроме того, используя Get-VM со стандартным командлетом PowerShell Select-Object, можно запросить интересующие характеристики, например имя виртуальной машины, количество процессоров, объем оперативной памяти и прочую информацию. А затем с помощью Export-CSV экспортировать данные в файл формата CSV для дальнейшей работы с полученной информацией.

Get-VM - 1

Помимо работы с объектами ВМ, Get-VM используется для поиска снимков в виртуальной среде, о которых, вероятнее всего, могли забыть. В примере, представленном ниже, запрашивается список снимков ВМ, а полученный результат выводится в текстовый файл snapshots.txt.

Get-VM - 2

Move-VM

Если перед администратором стоит задача переноса виртуальных машин с одного хоста на другой средствами командной строки, используют командлет Move-VM. В примере ниже производится выборка ВМ, размещенных на узле esxi01, а с помощью Move-VM – перенос виртуальных машин на хост esxi02.

Move-VM - 1

Если же необходимо выполнить «живую миграцию», используют следующую комбинацию:

Move-VM - 2

New-VM

Когда требуется создать одну виртуальную машину, используют командлет New-VM. Обратите внимание, что таким способом создается пустая ВМ, на которую позже устанавливают ОС и соответствующие приложения.

New-VM - 1

Но существуют и альтернативные варианты развертывания, когда работают с заранее подготовленным шаблоном. В примере ниже путем клонирования виртуальной машины OriginalVM создается ВМ NewVM8 и размещается на узле esxi01.

New-VM - 2

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

New-VM - Содержимое файла CSV

Содержимое файла CSV

Invoke-VMS

Командлет Invoke-VMS обеспечивает удаленное выполнение команд и скриптов в гостевой Windows, Linux ОС, запущенной на виртуальной машине. Данная функция помогает автоматизировать задачи на одной или нескольких ВМ.

Обратите внимание, что в приведенном примере запускается скрипт типа Bat и используется переменная среды со следующим синтаксисом: %<environment variable>%, например,% programfiles%. При этом внешние кавычки ($ script = '...') определяют строковую переменную в PowerShell, а внутренние проставляются тогда, когда в значении переменной встречаются пробелы.

Invoke-VMS

Get-VMHost

Командлет Get-VMHost помогает узнать, на каком узле или в каком дата-центре запущена виртуальная машина. В примере ниже запрашивается информация о ВМ с именем MyVM.

Get-VMHost

Если необходимо получить информацию о ЦОД, прибегают к помощи командлета Get-Datacenter для передачи объекта в параметр Location. Таким образом, получаем следующую строку:

Get-VMHost -Location (Get-Datacenter -Name VeeamNewVsphereDatacentre) -VM (Get-VM -Name "Veeam1")


Екатерина Юдина
Профильный эксперт
Наш сайт использует cookie
Информацию о cookie, целях их использования и способах отказа от таковых, можно найти в «Политике использования файлов «cookie». Продолжая использовать наш Сайт, Вы выражаете согласие на обработку файлов «cookie», а также подтверждаете факт ознакомления с «Политикой использования файлов «cookie». Если Вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.