Powercli vmware что это

Обновлено: 07.07.2024

PowerCLI - это инструмент командной строки и сценария на основе Windows PowerShell, официально запущенный VMware. Он содержит несколько модулей и обеспечивает большинство функций автоматического управления. Управляемые продукты включают vSphere, vCloud, vRealize Operations Manager, vSAN, NSX-T. , VMware Cloud on AWS, среды VMware Horizon.

Официальный модуль

VMware.PowerCLI: базовый модуль других модулей, обеспечивающий объединение всех модулей при установке, обновлении и удалении PowerCLI.

VMware.VimAutomation.Sdk: этот модуль не имеет никаких команд и предоставляет только общие функции для других модулей.

VMware.VimAutomation.Vds: предоставляет команды для управления распределенными коммутаторами и группами портов.

VMware.VimAutomation.Storage: предоставляет командную строку для управления хранилищем.

VMware.VimAutomation.StorageUtility: предоставляет инструмент-скрипт для управления хранилищем.

VMware.VimAutomation.License: Get-LicenseDataManager Управляйте лицензионными компонентами.

VMware.ImageBuilder: модуль для управления хранилищами программного обеспечения Esx, профилями изображений и VIB.

VMware.DeployAutomation: интерфейс управления VMware Auto Deploy для физического хоста.

VMware.VimAutomation.Cloud: командная строка, относящаяся к vCloud Director.

VMware.VumAutomation: Связанные командные строки vSphere Update Manager.

VMware.VimAutomation.vROps: связанные командные строки vRealize Operations Manager.

VMware.VimAutomation.Srm: командная строка управления VMware Site Recovery Manager.

VMware.VimAutomation.HorizonView: командная строка VMware Horizon

VMware.VimAutomation.Nsxt: предоставляет командную строку для управления серверами NSX-T.

VMware.VimAutomation.Vmc: командная строка для управления VMware Cloud на AWS.

PowerCLI Inventory Provider

использовать Connect-VIServer При подключении к серверу по умолчанию создаются два диска (диск): vi и vis. Vi представляет список последнего подключенного сервера, а vis представляет список всех подключенных серверов vSphere в текущем сеансе. Этот тип накопителя предоставляет возможность доступа к различным объектам на сервере и управления ими, аналогично файловому каталогу.

Асинхронный запуск команд PowerCLI

Команда PowerCLI по умолчанию ожидает окончания выполнения, чтобы принять возвращаемый результат. Если вы выполняете серию задач и не хотите ждать окончания каждой команды, вы можете использовать -RunAsync параметр. В настоящее время команда возвращает только объект задачи, включая начальное состояние задачи. Это состояние не будет обновляться автоматически, вам необходимо использовать Get-Task Получите статус объекта задачи. Если обратить внимание на запущенный процесс и дождаться его окончания, можно использовать Wait-Task 。

Пример команды

Подключить и отключить vCenter

Перед выполнением каких-либо операций сначала подключитесь к vCenter Server:

Управлять виртуальными машинами

Просмотреть все виртуальные машины

Получите состояние питания всех виртуальных машин в пуле ресурсов

Включите виртуальную машину

Выключите операционную систему

Выключите виртуальную машину

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

Добавить отдельный хост в vCenter

Создайте новый объект vSphere Inventory

Управление шаблонами виртуальных машин

Создавайте и используйте снимки

Вывод

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

Интеллектуальная рекомендация


Использование Jmeter Beanshell

Использование Beanshell Что такое бобовая скорлупа Beanshell - это язык сценариев, который полностью соответствует синтаксису Java, и имеет свои собственные встроенные объекты и синтаксис Beans.

Android получить информацию о приложении (пакете) и размере кэша при использовании PackageManager

[size = medium] [b] класс PackageManger [/ b] [/ size] Описание: Получить информацию об установленных приложениях. Его можно получить с помощью метода [color = red] getPackageManager () [/ color]. Общ.


UITextView добавить текст заполнителя

UITextView - это простой и легкий в использовании метод для добавления текста заполнителя. В основном используйте drawRect: метод для рисования текста заполнителя. Создайте файл CustomPlaceholderTextV.


Разница между равным и "= mh-excerpt">

1. Разница между равным и "==" (1) Роль равенства заключается в сравнении одинакового содержимого двух независимых объектов., Другими словами, это для сравнения значений двух объектов. I1, i.

date

05.02.2020

directory

PowerShell, VMWare, Вопросы и ответы

comments

комментария 4

PowerCLI для VMware vSphere — невероятно мощный инструмент, основанный на Microsoft PowerShell. PowerCLI позволяет выполнять из командной строки 98% рутинных операций по управлению виртуальной инфраструктурой. PowerCLI – это инструмент, который позволяет централизованно управлять из командной строки серверами ESXi и vCenter Server. При помощи утилиты PowerCLI возможно создавать сценарии, контролировать состояние виртуальных машин, хранилищ, сетей, пользователей и автоматизировать ряд процессов.

PowerCLI можно установить на компьютеры с Microsoft Windows 7 / Windows Server 2008 R2 и выше и Ubuntu.

В состав PowerCLI вход более 1900 командлетов для управления облачной и виртуальной инфраструктурой VMware (vSphere, vSAN, vRealize Operations Manager, vCloud Director, Site Recovery Manager, Horizon 7 and vCloud Air). При выполнении командлета происходит обращение к API на указанном сервере ESXi или сервере vCenter и выполняет свою работу на этом сервере.

Вы можете бесплатно скачать последнюю версию VMware PowerCLI 6.5 с сайта VMWare (потребуется регистрация).

скачать VMware PowerCLIс сайта VMWare

Установка VMWare PowerCLI не требует особых комментариев – просто щелкайте Next.

vmware vsphere powercli установка

Если вы не хотите устанавливать толстого клиента PowerCLI, вы можете установить модуль VMware.PowerCLI из интернета с помощью следующей команды PowerShell.

Install-Module -Name VMware.PowerCLI -AllowClobber -Force

Для запуска консоли PowerCLI просто запустите ярлык VMWare VSphere PowerCLI с правами администратора.

запуск vmware powercli в windows

Для отображения списка доступных команд в консоли PowerCLI наберите:

powercli - вывести список доступных командлетов

Получить список команд для виртуальных машин можно так:

Для получения справки о назначении, и примерами использования того или иного командлета PowerCLI можно воспользоваться командой help (Get-Help), например:

help Connect–VIServer –Full

help Connect–VIServer –Examples

Чтобы начать управление виртуальной инфраструктурой, нужно подключится к vCenter Server или к конкретному серверу ESXi. Для этого используется команду Connect-VIServer. Команда подключения может выглядеть так:

Connect-VIServer vsphere6 -User corp\aborisov_admin -Password VMware1!

Connect-VIServer подключение к vmware vcenter powercli

Можно вывести только включенные ВМ:

Get-VM | Where | Select Name, VMHost, NumCPU, MemoryMB| ft

powercli вывести список включенных виртуальных машин в vmware vsphere

Список виртуалных машин можно выгрузить в CSV, XML или HTML файл с помощью pipline и командлетов Export-Csv, ConvertTo-Xml, ConvertTo-Html.

Информация. PowerCLI работает в режиме только чтения (read-only) с бесплатным VMware vSphere Hypervisor. Это означает, что вы можете использовать ее для просмотра каких-то свойств и значений хоста и ВМ, но не сможете их изменять.

Вы можете вывести список снапшотов для конкретной ВМ так:

Get-VM| Get-Snapshot| Format-List

Чтобы выполнить VMotion и переместить запущенную ВМ на другой хост, воспользуйтесь командой Move-VM. Например, мы хотим перенести все ВМ с хоста esxi1 на esxi2:

Get-VMHost esxi1|Get-Vm| Move-VM –Destination (Get-VMHost esxi2)

Чтобы создать новую виртуальную машину используются командлет New-VM:

New-VM –Name VMname1 -VMHost esxi1 –ResourcePool Production –DiskGB 20 –DiskStorageFormat Thin –Datastore EVA64VMFS

С помощью командлетов можно взаимодействовать и с гостевой операционной системой. Для этого на ней должны быть установлены VMware Tools. Вы можете обновить VMware Tools так:

Get-VMGuest VMname1 | Update-Tools

Чтобы скопировать определенный файл на все ВМ, выполните команду:
Get-VM | Copy-VMGuestFile -Source c:\ps\reset_id.vbs -Destination c:\ps\ -GuestToLocal -HostUser root -HostPassword P@ssw0rd -GuestUser administrator -GuestPassword $uper$trong2

С помощью командлета Invoke-VMS можно выполнить скрипт в гостевой ОС виртуальной машины с Windows:

$script = '"%programfiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" /report "%tmp%\inforeport"'

Invoke-VMScript -ScriptText $script -VM VMname1 -HostCredential $hostCredential -GuestCredential $guestCredential -ScriptType Bat


В этой части материала мы познакомим вас с основами PowerShell и PowerCLI. Отметим, что PowerCLI – расширение для Windows Powershell, добавляющее более 500 новых командлетов для управления облачной и виртуальной инфраструктурой. Последняя версия пакета доступна на официальном сайте VMware. После установки дистрибутива необходимо запустить ярлык VMware vSphere PowerCLI. Это позволит открыть консоль PowerShell и загрузить все модули PowerCLI.

Запуск VMware vSphere PowerCLI

Рисунок 1. Запуск VMware vSphere PowerCLI

В качестве альтернативы можно использовать редактор сценариев PowerShell ISE, который позволяет выполнять команды, создавать, изменять, тестировать и отлаживать скрипты в среде, поддерживающей цветное выделение синтаксиса и Unicode.

Итак, что же умеет PowerCLI? Для отображения списка доступных команд в консоли PowerCLI набираем:

Get–VICommand

Имейте в виду, что выводимый список получается достаточно большим. Но если вас интересует что-то конкретное, связанное, к примеру, с виртуальными машинами, команда приобретет следующий вид:

Чтобы начать управление виртуальной инфраструктурой, подключимся к vCenter Server. Для этого используем команду Connect-VIServer. А поскольку в рассматриваемом примере vCenter Server имеет название vcsa-01a, используем это значение при подключении. Команда выглядит следующим образом:

Connect-VIServer vcsa-01a -User corpadministrator -Password VMware1!

Если вы не уверены в том, как использовать тот или иной командлет, обратитесь к справке. Для этого необходимо набрать Get-Help или упрощенный вариант «help», после чего указать название командлета:

Пример вывода справочной информации

Рисунок 2. Пример вывода справочной информации

Для отображения детальной информации с примерами использования командлетов и описанием параметров, используйте ключ –Full:

help Connect–VIServer –Full

А если возникла необходимость разобраться только в примерах, используйте ключ –Examples:

help Connect–VIServer –Examples

PowerCLI как средство для построения отчетов

Несмотря на широкие возможности командлетов, PowerCLI выступает отличным инструментом для построения отчетов. Одна из типовых задач – построение списка виртуальных машин vCenter Server для проведения инвентаризации или планов дальнейшего использования объектов инфраструктуры:

Get–VM

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

Get-VM linux-CPU-Load-01aGet–VM linux*

Извлечение свойств заданного объекта

Когда вы запускаете командлет, например Get-VM, возвращаемые им значения преобразуются в текст и выводятся на экран. Но если возникла необходимость передать возвращаемое значение одного командлета на вход другого, используйте | или конвейер (pipeline или piping):

Get-VM linux-CPU-Load-01a | Get-Member -MemberType property

В этом примере запрашиваются детали виртуальной машины с именем linux-CPU-Load-01a и выводится информация по конкретному свойству. Если же вы хотите получить информацию с описанием имени машины, указанием количества процессоров, используемой памяти, power-статуса и названием VM-хоста, используйте следующий набор:

Get-VM linux-CPU-Load-01a | Select Name, NumCPU, MemoryMB, PowerState, VMHost

Фильтрация результатов

Используя командлет Get-* совместно с PowerShell-командой ‘where’, вы можете получить результаты по интересующим вас свойствам. Если вы хотите вывести список всех виртуальных машин, находящихся в режиме PoweredOn, и отобразить результаты вывода с характеристиками: имя машины, количество процессоров, используемая память, статус ВМ и имя VM-хоста, примените следующий командлет:

Get-VM | Where | Select Name, NumCPU, MemoryMB, PowerState, VMHost

Обратите внимание на переменную $_, которая хранит текущий объект конвейера, а результат выводится следующим образом:

Список виртуальных машин согласно заданным критериям

Рисунок 3. Список виртуальных машин согласно заданным критериям

Экспорт результатов с использованием различных форматов

Согласитесь, что метод построения отчетов и вывод результатов, рассмотренный ранее, не совсем удобен. Особенно если эти результаты необходимо предоставить какой-либо команде для анализа. Работать с таким нечитабельным набором текста достаточно сложно. Для придания отчетам красивого вида с возможностью сохранить результаты локально, используется экспорт данных с выбором соответствующего формата. Это может быть файл txt, csv, xml или html. Предлагаем сравнить вывод результатов отчета в каждом из озвученных форматов.

Таблица 1. Примеры форматов экспорта

Формат TXT

Формат CSV

pic5.jpg

pic6.jpg

Формат XML

Формат HTML

pic7.jpg

Создание и конфигурация кластера

Настало время практического кейса, приближенного к жизни. В этой части статьи рассмотрим создание виртуального окружения для небольшой вымышленной компании Nephosoft. Для начала создадим и сконфигурируем новый кластер. В процессе настроим сетевые параметры и виртуальный свитч VDS (virtual distributed switch). Затем в рамках созданного виртуального окружения развернем несколько виртуальных машин и зададим соответствующие настройки. Выполним шаги с помощью командной строки.

Для создания нового кластера будем использовать командлет New-Cluster. Обратите внимание, что кластеру необходимо задать имя и локацию. Для этого используем команду:

$cluster1 = New-Cluster -Name “Nephosoft Cluster 1” -Location “Datacenter Site A”

Теперь уделим внимание функциональности vMotion, которая позволяет мигрировать виртуальные машины между хостами без остановки и прерывания их работы. Функционал vMotion доступен с редакции vSphere Advanced, для его работы требуется vCenter, кластер vCenter, общее хранилище виртуальных машин, одинаковая конфигурация виртуальной сети на всех узлах в составе кластера с vMotion, интерфейс VMkernel с включенной опцией vMotion, процессоры с одинаковым набором инструкций.

Следующее, что необходимо сделать, – проверить, поддерживают ли хосты режим EVC (enhanced vMotion compatibility). Для этого используем командлет:

$evcModes = Get–VMHost | Select MaxEVCMode

Теперь необходимо проверить содержимое $evcModes. Для этого вводим название переменной, после чего на экран будут выведены значения. В рассматриваемом примере оба хоста используют одинаковый режим EVC.

Напомним, что EVC автоматически настраивает кластер для совместимости процессоров разных поколений. Применяется ко всему кластеру, ко всем узлам при активации.

В следующем шаге включаем EVC-режим в свойствах кластера. По умолчанию эта функциональность выключена. После применения EVC можно мигрировать виртуальные машины между узлами в кластере. Используем следующую команду:

Set–Cluster $cluster1 –EVCMode $evcModes[0].MaxEVCMode

Настройка функциональности HA и DRS

В следующем шаге выполним конфигурацию высокой доступности кластера (HA), чтобы виртуальные машины были защищены в случае непредвиденных обстоятельств. Для этого используем команду:

Set-Cluster $cluster1 -HAEnabled:$true -Confirm:$false

Пример исполнения командлета Set-Cluster

Рисунок 4. Пример исполнения командлета Set-Cluster

Обращаем ваше внимание, что принцип HA заключается в следующем: несколько физических серверов объединяют в кластер, а при выходе одного узлов из строя виртуальные машины, которые были на нем, запускаются на других узлах кластера, на которых зарезервированы ресурсы. Однако при отказе оборудования будет зафиксировано небольшое время простоя сервиса / виртуальной машины. Чтобы сделать время простоя близким или равным нулю, используют технологию VMware Fault Tolerance.

Далее включим и настроим DRS. Напомним, что VMware DRS – это функциональность, которая определяет, на каком физическом узле запустить или куда смигрировать работающую виртуальную машину, чтобы выровнять нагрузку на всех узлах кластера. DRS объединяет ресурсы кластера в единый пул и в зависимости от выбранного режима распределяет виртуальные машины равномерным слоем по физическим узлам в кластере. В примере используется режим ‘manual’, а командлет выглядит следующим образом:

Set-Cluster $cluster1 -DRSEnabled:$true -DRSAutomationLevel “Manual” -Confirm:$false

Заключение

В первой части статьи мы познакомились с особенностью администрирования виртуальной инфраструктуры средствами PowerShell и PowerCLI. Научились автоматизировать создание отчетов, извлекать свойства относительно заданных объектов виртуализации, создавать и конфигурировать кластер, настраивать функциональность HA и DRS.

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

Несколько лет назад VMware выпустила свой модуль для PowerShell под названием PowerCLI. Этот модуль позволяет развертывать, управлять, администрировать и контролировать среды VMWare vSphere используя командлеты PowerShell.

При помощи утилиты PowerCLI возможно создавать сценарии, контролировать состояние виртуальных машин, хранилищ, сетей, пользователей и автоматизировать ряд процессов.

В PowerCLI насчитывается порядка 350 команд, в более чем 6 модулях.

Существует возможность установки утилиты на рабочую станцию под управлением операционной системы Microsoft Windows 7 и выше, а также на серверную операционную систему Windows Server 2008 R2 и выше.

VMware PowerCLI

После установки запустите PowerCLI из стартового меню.

Для подключения к северу vSphere vCenter воспользуйтесь следующей командой:

Connect-VIServer servername

Далее Вам будет предложено авторизоваться на vSphere.

авторизация на vcphere через PowerCLI

Get-VM | measure

В нашем примере мы видим, что имеется 214 виртуальных машин. На скриншоте ниже представлен список всех модулей, которые доступны в PowerCLI.

список доступных модуелей PowerCLI

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

New-VM -VM someVMname, NewVM -Location NFSStore01 -VMHost msk-esxi6

Если вы хотите переместить виртуальную машину на другой хост, выполните следующую команду:

Get-VM -Name NewVM | Move-VM -Destination 192.168.1.50

Полный список доступных команд PowerCLI и их синтаксис доступен в документации на сайте VMWare по ссылке ниже:

PowerCLI справка

VMware также предлагает ещё один продукт под названием «VMware vRealize Automation», который позволяет автоматизировать всю инфраструктуру, приложения и службы в Software-Defined Data center.

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