Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6290 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru | Ссылка дня: Полный список лабораторных работ VMware Hands-on Labs

Резервное копирование сервера VMware vCenter Server Appliance (vCSA) через PowerCLI.


Некоторое время назад мы писали о том, как делать резервное копирование и восстановление базы данных сервера vCenter Server и виртуального модуля vCenter Server Appliance (vCSA). А сегодня мы поговорим о том, как сделать бэкап всей виртуальной машины vCSA с помощью средств PowerCLI.

Для начала напомним, что простейший способ бэкапить сервер vCSA - это сделать его резервную копию в графическом интерфейсе на вкладке Summary:

Но если вам нужно резервное копирование и восстановление с помощью сценариев PowerCLI, то для этого можно использовать функцию Backup-VCSAToFile, о которой Brian Graf рассказывал вот тут. Бэкап может проводиться в следующие хранилища назначения:

  • FTP
  • FTPS
  • HTTP
  • HTTPS
  • SCP

Для управления процессом резервного копирования можно использовать следующие функции:

  • Backup-VCSAToFile
  • Get-VCSABackupJobs
  • Get-VCSABackupStatus

Отрабатывает Backup-VCSAToFile следующим образом:

Некто Magnus Andersson на базе функции Backup-VCSAToFile создал вот такой скрипт попроще, который позволяет забэкапить сервер vCSA, задав в заголовке сценария несколько параметров:

  • Сервер бэкапов и директория
  • Имя пользователя и пароль на хранилище назначения
  • Тип бэкапа - Fullbackup (полный) или Seatbackup (только конфигурация vCSA)
  • Пароль к файлу бэкапа, который понадобится при восстановлении
  • Тип хранилища бэкапа
  • Комментарий

Пользоваться скриптом просто, вот он:

# Script to backup vCenter Server Appliance
# Author: Magnus Andersson - Sr Staff Solutions Engineer @Nutanix
# Version 1.0
# Created 2017-11-15
# Kudos to Brian Graf for creating the Backup-VCSAToFile function, used in this script, which can be found here Backup-VCSAToFile Function Created By Brian Graf - https://www.brianjgraf.com/2016/11/18/vsphere-6-5-automate-vcsa-backup/
#
#--------------------------------------------
# User Defined Variables Sections Starts Here
#
# Specify vCenter Server, vCenter Server User name and vCenter Server Password
$vcsa="vcsa01.vcdx56.local"
$vcsauser="vcsabkpuser@vsphere.local"
$vcsapasswd="TopSecret76!"
# 
# Backup location
$bkpserver="10.10.100.199/vcsabackups/"
$bkpdir=get-date -uformat %Y-%m-%d
$bkpLocation=$bkpserver+$bkpdir
#
# Specify backup location user and password
$LocationUser="ftps-user"
$LocationPasswd="TopSecret67!"
#
# Specify backup type where Fullbackup is 1 and Seatbackup is 2
$BackupType=2
#
# Specify backup password - needed when performing restore
$bkpPassword="TopSecret68!"
#
# Specify backup localtion type where you must specify HTTP, HTTPS, SCP, FTP or FTPS
$LocationType="FTPS"
#
# Specify Backup Comment
$Comment="vCenter Server Appliance vcsa01.vcdx56.local backup"
#
# User Defined Variables Sections Ends Here
#--------------------------------------------
#
# Import Module VMware.VimAutomation.Cis.Core
Import-module VMware.VimAutomation.Cis.Core
#
# #--------------------------------------------
# Import Backup-VCSAToFile Function
Function Backup-VCSAToFile {
    param (
        [Parameter(ParameterSetName=’FullBackup’)]
        [switch]$FullBackup,
        [Parameter(ParameterSetName=’SeatBackup’)]
        [switch]$SeatBackup,
        [ValidateSet('FTPS', 'HTTP', 'SCP', 'HTTPS', 'FTP')]
        $LocationType = "FTP",
        $Location,
        $LocationUser,
        [VMware.VimAutomation.Cis.Core.Types.V1.Secret]$LocationPassword,
        [VMware.VimAutomation.Cis.Core.Types.V1.Secret]$BackupPassword,
        $Comment = "Backup job",
        [switch]$ShowProgress
    )
    Begin {
        if (!($global:DefaultCisServers)){ 
            [System.Windows.Forms.MessageBox]::Show("It appears you have not created a connection to the CisServer. You will now be prompted to enter your vCenter credentials to continue" , "Connect to CisServer") | out-null
            $Connection = Connect-CisServer $global:DefaultVIServer 
        } else {
            $Connection = $global:DefaultCisServers
        }
        if ($FullBackup) {$parts = @("common","seat")}
        if ($SeatBackup) {$parts = @("seat")}
    }
    Process{
        $BackupAPI = Get-CisService com.vmware.appliance.recovery.backup.job
        $CreateSpec = $BackupAPI.Help.create.piece.CreateExample()
        $CreateSpec.parts = $parts
        $CreateSpec.backup_password = $BackupPassword
        $CreateSpec.location_type = $LocationType
        $CreateSpec.location = $Location
        $CreateSpec.location_user = $LocationUser
        $CreateSpec.location_password = $LocationPassword
        $CreateSpec.comment = $Comment
        try {
            $BackupJob = $BackupAPI.create($CreateSpec)
        }
        catch {
            Write-Error $Error[0].exception.Message
        }
            

        If ($ShowProgress){
            do {
                $BackupAPI.get("$($BackupJob.ID)") | select id, progress, state
                $progress = ($BackupAPI.get("$($BackupJob.ID)").progress)
                Write-Progress -Activity "Backing up VCSA"  -Status $BackupAPI.get("$($BackupJob.ID)").state -PercentComplete ($BackupAPI.get("$($BackupJob.ID)").progress) -CurrentOperation "$progress% Complete"
                start-sleep -seconds 5
            } until ($BackupAPI.get("$($BackupJob.ID)").progress -eq 100 -or $BackupAPI.get("$($BackupJob.ID)").state -ne "INPROGRESS")

            $BackupAPI.get("$($BackupJob.ID)") | select id, progress, state
        } 
        Else {
            $BackupJob | select id, progress, state
        }
    }
    End {}
}
#
#--------------------------------------------
# Create passwords
[VMware.VimAutomation.Cis.Core.Types.V1.Secret]$BackupPassword=$bkpPassword
[VMware.VimAutomation.Cis.Core.Types.V1.Secret]$LocationPassword=$LocationPasswd
#
# Connect to vCenter Server Appliance
Connect-CisServer -Server $vcsa -User $vcsauser -Password $vcsapasswd 
#
# Start the backup
If ($BackupType -eq 1) {
	Backup-VCSAToFile -BackupPassword $BackupPassword -LocationType $LocationType -Location $bkpLocation -LocationUser $LocationUser -LocationPassword $locationPassword -Comment $Comment -Fulbackup ShowProgress
	}
	Else {
	Backup-VCSAToFile -BackupPassword $BackupPassword -LocationType $LocationType -Location $bkpLocation -LocationUser $LocationUser -LocationPassword $locationPassword -Comment $Comment -Seatbackup -ShowProgress
	}
#
# Disconnect from vCenter Server Appliance
disconnect-CisServer $vcsa -confirm:$false
#

Надо сказать, что для скрипта нужно использовать пользователя, определенного на уровне SSO, так как если вы возьмете пользователя из AD, но с правами группы SSO Administrators - сценарий все равно работать не будет.

Скачать сценарий можно с репозитория на GitHub по этой ссылке.

Восстановить бэкап vCSA можно через vCenter Server Appliance Installer, выбрав опцию Restore:


Таги: VMware, PowerCLI, vCSA, Backup

PowerCLI-сценарий для обнаружения логических дисков Windows в виртуальных дисках VMDK.


Allan Kjaer написал интересный скрипт PowerCLI, который позволит определить, какие логические тома Windows находятся в виртуальных дисках VMDK машин на платформе vSphere. Как-то я сталкивался с такой проблемой, поэтому может быть она не такая уж и редкая.

Скрипт соединяется с управляющим сервером VMware vCenter, запрашивает учетные данные к гостевой ОС Windows, после чего строит отчет о том, на каких дисках VMDK какие разделы были обнаружены. Отчет включает в себя индекс диска Windows, букву диска и метку тома.

Вот так он выглядит:

"vmName      vmHardDiskDatastore vmHardDiskVmdk           vmHardDiskName windowsDiskIndex windowsDiskSerialNumber          vmHardDiskUuid                   windowsDeviceID    drives   volumes
------ ------------------- -------------- -------------- ---------------- ----------------------- -------------- --------------- ------ -------
test-vm FC01 test-vm/test-vm.vmdk Hard disk 1 0 6000c29c481f32e9763fe6d2d8dc8f7b 6000C29c481f32e9763fe6d2d8dc8f7b \\.\PHYSICALDRIVE0 C:
test-vm FC01 test-vm/test-vm_1.vmdk Hard disk 2 1 6000c297d1a7352ed5ee1b870023f57d 6000C297d1a7352ed5ee1b870023f57d \\.\PHYSICALDRIVE1 D: Data
test-vm FC03 test-vm/test-vm.vmdk Hard disk 3 2 6000c290e36c2f3b641a56308551e998 6000C290e36c2f3b641a56308551e998 \\.\PHYSICALDRIVE2 {E:, F:} {New Volume, New Volume}

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


Таги: VMware, PowerCLI, Storage, VMachines

Сохранять и извлекать учетные данные с помощью PowerCLI


Рано или поздно каждый администратор приходит к тому, что ему необходимо каким-то образом сохранить, а потом и извлечь учётные данные. Причём это должно быть быстро, эффективно, удобно и самое главное безопасно. Ни один из известных мне способов не отвечал всем этим требованиям одновременно. Я стал искать и нашел свой способ, которым и хочу поделиться с вами. Это PowerCLI! Удивлены? Порой самое простое решение лежит на поверхности.


Таги: VMware, PowerCLI, Security, ESXi, vSphere

Как увеличить VM Guest Partition с помощью PowerCLI.


Как часто вам приходится увеличивать логические диски внутри гостевых ОС ВМ? Довольно часто, не так ли? Вам надо сначала найти вашу ВМ в vSphere Client, потом кликнуть Edit Settings и перво-наперво увеличить виртуальный диск ВМ. После вы должны будете открыть RDP к вашей ВМ, затем открыть Disk Management, выбрать Rescan Disks из контекстного меню и только после этого ещё один правый клик на нужном вам логическом диске и вот сейчас выбрать Extend Volume...


Таги: VMware, PowerCLI, Storage, PowerShell, VMachines, ESXi, vSphere

Как конфигурировать SDRS Anti-Affinity правила с PowerCLI – Часть 3


Это Часть 3 в серии о Storage DRS. В предыдущей части мы говорили о том как создавать и удалять SDRS Anti-Affinity правила. Чтобы закрыть тему, нам осталось редактировать/реконфигурировать существующие правила. Логично предположить, что это будет функция Set-SdrsAntiAffinityRule.


Таги: SDRS, PowerCLI, vSphere, VMware, Storage

Как создавать и удалять SDRS Anti-Affinity правила с PowerCLI – Часть 2.


Это Часть 2 в серии о Storage DRS. Часть 1 «Как конфигурировать Storage DRS кластеры с PowerCLI – Часть 1» находится здесь. Часть 3 «Как конфигурировать SDRS Anti-Affinity правила с PowerCLI – Часть 3» и может быть даже Часть 4 «Как просмотреть историю операций SDRS кластеров с PowerCLI – Часть 4» ожидаются в ближайшем будущем. Следите за новыми публикациями! Эта статья расскажет о 4 новых функциях...


Таги: VMware, PowerCLI, DRS, vSphere

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


Это гостевой пост компании ИТ-ГРАД. В статье Управление виртуальной и облачной инфраструктурой с помощью VMware vSphere PowerCLI мы знакомили читателей с инструментами, автоматизирующими выполнение рутинных задач в облаке.

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

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

Get-VM

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

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

Move-VM

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

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

New-VM

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

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

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


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

Invoke-VMS

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

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

Get-VMHost

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

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

Get-VMHost -Location (Get-Datacenter -Name VeeamNewVsphereDatacentre) -VM (Get-VM -Name «Veeam1»)

Ссылка на статью в блоге ИТ-ГРАД.


Таги: IT-Grad, PowerCLI, Cloud

Как конфигурировать Storage DRS кластеры с PowerCLI – Часть 1.


Несмотря на растущую популярность технологии VMware vSAN, большинство крупных предприятий по-прежнему частично или полностью продолжают работать с общими хранилищами (shared storage). Есть достаточно PowerCLI командлетов для конфигурирования большинства аспектов HA/DRS кластеров, однако для SDRS кластеров выбор не велик.


Таги: VMware, PowerCLI, SDRS, Storage

VMware PowerCLI 6.5.1 и 6.5.2 - что нового по сравнению с осенним релизом 6.5.


Где-то во время релиза обновленной версии платформы VMware vSphere 6.5 компания VMware выпустила и новую версию фреймворка PowerCLI 6.5, в котором было много новых возможностей, особенно касающихся управления кластером vSAN.

На днях же вышла версия PowerCLI 6.5.2 (сразу же после релиза vSphere 6.5 Update 1), посмотрим что там появилось нового, а также заодно упомянем новые фичи прошлого апдейта - PowerCLI 6.5.1 (он вышел 3 месяца назад).

Напомним также, что теперь PowerCLI можно устанавливать и обновлять через портал Microsoft PowerShell Gallery всего одной командой:

Итак, посмотрим что нового в PowerCLI 6.5.2:

1. Параметр InventoryLocation.

Если раньше при перемещении ВМ использовался параметр Destination, который принимал тип folder, ESXi-хост, кластер или ресурс-пул (но только одно из вышеперечисленного), то теперь можно использовать параметр InventoryLocation для задания непосредственного конечного положения ВМ. Это упрощает перемещение ВМ, например, между серверами vCenter:

2. Можно использовать ISO из Content Library.

Теперь командлет New-CDDrive имеет параметр ContentLibraryIso, который можно использовать для указания ISO-образа в библиотеке.

3. Обновления экспериментальных фичей:

  • Set-HardDisk -ZeroOut. Этот параметр можно использовать для заполнения диска нулями при прямом обращении к хосту ESXi.
  • New-HardDisk -AdvancedSetting. Этот параметр используется для ассоциации правил Storage Distributed Resource Scheduler (SDRS).
  • New-VM -AdvancedSetting. Аналогично предыдущему пункту - нужен для правил SDRS.
  • Install-VMHostPatch. Весь этот командлет пока экспериментальный.

А вот что нового было в PowerCLI 6.5.1:

1. Автозагрузка модулей PowerShell.

Теперь после логина и выполнения запроса к командлету автоматически подгружаются все необходимые модули. Например, вот что происходит после выполнения Connect-VIServer (обратите внимание на состав модулей):

2. Новые и обновленные командлеты для групп кластеров DRS и правил VM/Host.

Следующие командлеты были добавлены:

  • Get-DRSClusterGroup
  • New-DRSClusterGroup
  • Set-DRSClusterGroup
  • Remove-DRSClusterGroup
  • Get-DRSVMHostRule
  • New-DRSVMHostRule
  • Set-DRSVMHostRule
  • Remove-DRSVMHostRule

3. Новый модуль VMware.VimAutomation.Srm для управления SRM.

Теперь он вынесен из основного модуля в отдельный.

4. Обновления API.

Для работы с внешними продуктами были очень существенно обновлены модули vR Ops (vRealize Operations) и Horizon (для работы с Horizon View 7.1 API).

5. Новые командлеты для iSCSI vSAN.

Здесь появились следующие командлеты для управления инициаторами и таргетами iSCSI:

  • Get-VsanIscsiInitiatorGroup
  • New-VsanIscsiInitiatorGroup
  • Set-VsanIscsiInitiatorGroup
  • Remove-VsanIscsiInitiatorGroup
  • Get-VsanIscsiTarget
  • New-VsanIscsiTarget
  • Set-VsanIscsiTarget
  • Remove-VsanIscsiTarget
  • Get-VsanIscsiInitiatorGroupTargetAssociation
  • New-VsanIscsiInitiatorGroupTargetAssociation
  • Remove-VsanIscsiInitiatorGroupTargetAssociation
  • Get-VsanIscsiLun
  • New-VsanIscsiLun
  • Set-VsanIscsiLun
  • Remove-VsanIscsiLun
  • Get-VsanStat
  • Start-VsanDiskFormatUpdate
  • Get-VSANView

Также модуль Storage получил новые командлеты для механизма storage policy based management (SPBM):

  • Start-SpbmReplicationPromote
  • Start-SpbmReplicationTestFailover
  • Stop-SpbmReplicationTestFailover

Более подробно обо всем этом написано в VMware PowerCLI 6.5.2 Cmdlet Reference. Загрузить vSphere PowerCLI 6.5.2 и получить подробную информацию о новых фичах по релизам можно на этой странице.


Таги: VMware, PowerCLI, Update, PowerShell, vSphere

Обновления кастомных OEM-образов VMware ESXi (Cisco, Dell, HPE) и визуализация полученных различий.


Многие пользователи виртуальной инфраструктуры VMware vSphere часто используют кастомизированные образы гипервизора VMware ESXi, который распространяется OEM-производителями оборудования, например, HP. Эти образы включают в себя специфические драйвера устройств, которые, зачастую, отсутствуют в стандартном комплекте поставки ESXi (это и понятно, так как нельзя поддерживать все устройства всех производителей в одном образе).

Между тем, многие администраторы обновляют такие образы достаточно редко - иногда по полгода ждут пока OEM-вендор выпустит очередную версию образа и накатывают его. Но ведь бывают критические обновления безопасности ESXi, которые нужно установить как можно скорее. Для этого нужно знать, как выглядит процедура обновления кастомного образа vSphere.

Во-первых, нужно понимать, что основные номера билдов и даты релиза гипервизора указаны в статье KB 2143832. А патчи в виде VIB-пакетов можно скачать с портала MyVMware здесь.

Во-вторых, есть утилита PowerCLI Image Builder (о ней мы писали вот тут), которая позволяет поддерживать актуальное состояние образа ESXi с точки зрения последних обновлений, но в то же время сохранять специфический контент кастомных образов.

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

Set-ESXImageProfile $ClonedProfile -SoftwarePackage (Get-ESXSoftwarePackage -Newest)

Также у VMware есть скрипты PowerCLI, которые демонстрируют более тонкий подход к обновлению образов ESXi. Но надо отметить, что они официально не поддерживаются со стороны техподдержки VMware.

Итак, первый скрипт - esxi-image-creator.ps1 - представляет собой обертку к Image Builder и дает некоторые дополнительные возможности, которые часто требуются для кастомных образов ESXi. Например, он позволяет монтировать depot-файлы и включать или исключать VIB-пакеты из состава образов. Также там есть такие расширенные настройки, как указание билдов по датам выпуска, а не по номерам и т.п. Итоговый образ можно собрать в формате ISO или ZIP.

Второй скрипт - esxi-image-comparator.ps1 - показывает различия между двумя профилями образов ESXi. Эти различия можно показать в консоли или графическом интерфейсе, а также экспортировать в CSV-файл для последующего анализа.

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

Вот пример использования утилиты при обновлении кастомного образа Cisco для ESXi 5.5 (обновление U3b от декабря 2015) с последними патчами VMware и обновленными драйверами Cisco для устройств enic и fnic. При этом исключается VIB-пакет tools-light для оптимизации использования с Auto Deploy:

esxi-image-creator.ps1 -NewProfileName Cisco_5.5_OEM_with_express_patch_11 -WriteZip -Files Vmware-ESXi-5.5.0-3248547-Custom-Cisco-5.5.3.2-Bundle.zip,ESXi550-201703001.zip,enic-2.3.0.13-offline_bundle-5367272.zip,fnic_driver_1.6.0.28_ESX55-offline_bundle-4179470.zip

Ну а вот так выглядит результат сравнения обновленного профиля с исходным:

Еще один пример - включение в образ Dell ESXi 6.0U3, который уже был обновлен Dell, патча patch 7a (5224934) с пакетами VIB для NSX и удаление VMware Tools для использования с Auto Deploy.

esxi-image-creator.ps1 -NewProfileName Dell_6.0_OEM_5224934_with_NSX -Files VMware-VMvisor-Installer-6.0.0.update03-5224934.x86_64-Dell_Customized-A01.zip,vxlan.zip,vShield-Endpoint-Mux-6.5.0esx60-4885300.zip -Acceptance PartnerSupported

Результат:

А вот пример генерации образа для HPE Proliant, содержащего последние обновления из репозитория HP, а также последние обновления оффлайн-бандла ESXi 6.5:

Add-EsxSoftwareDepot http://vibsdepot.hpe.com/index-ecli-650.xml
esxi-image-creator.ps1 -LeaveCurrentDepotsMounted -NewProfileName ESXi_6.5.0d_with_HPE_drivers -Files ESXi650-201704001.zip -Acceptance PartnerSupported

Вот полученный результат:

Надо отметить, что не следует использовать публичный репозиторий VMware image profile repository для создания кастомных образов, так как он содержит много различных версий и модификаций, что может привести к созданию образа, который невозможно будет использовать.

Но зато вот такая команда позволит сформировать таблицу с отличиями каждого из релизов VMware ESXi:

Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

esxi-image-comparator.ps1 | Export-Csv all_profiles.csv

Мораль поста такова - нужно пользоваться, по-возможности, кастомными образами ESXi от OEM-производителей, но не забывать накатывать обновления (особенно security patches) от обычных образов VMware ESXi, создаваемых VMware.


Таги: VMware, ESXi, Update, HP, Cisco, Dell, Hardware, PowerCLI

Как проверить наличие хотфикса в VMware ВМ с помощью PowerCLI.


В свете последних событий, связанных с WannaCry ransomware, очень актуальным становится проверка наличия того или иного установленного патча (Patch/Hotfix/KB) внутри ОС виртуальных машин. Test-VMHotfix из моего PowerCLI Vi-Module модуля быстро и эффективно проверит все ваши ВМ. Пользоваться функцией проще простого, передайте в pipeline ВМ для проверки и шаблон названия патча в параметре -KB...
Таги: VMware, PowerCLI, Security, vSphere, VMachines

VMware vCenter Cluster Performance Tool - утилита для определения производительности кластера в ракурсе различных метрик.


На сайте проекта VMware Labs появился интересный PowerCLI-скрипт vCenter Cluster Performance Tool, с помощью которого можно получить информацию о производительности кластера за счет агрегации данных, поступающих от хостов VMware ESXi.

Это уже вторая версия сценария, переработанная на базе механизма модулей PowerCLI 6.0 (ранее она была построена на снипетах).

Для работы сценария понадобится указать 2 следующих параметра:

  • Интервал от 20 до 300 секунд. По умолчанию это 20 секунд, что соответствует сбору статистики в близкому к реальном времени, а значение 300 даст пятиминутный интервал между сборами, чтобы не создавать лишнюю нагрузку.
  • Специальный флаг для получения списка уникальных идентификаторов счетчиков производительности, доступных на vCenter Server (нужно указать -1 в качестве аргумента для получения списка). Далее можно использовать один из полученных идентификаторов для вывода соответствующей метрики для кластера.

Возможности скрипта vCenter Cluster Performance Tool:

  • Сбор всех данных в указанном интервале, которые доступны на каждом хосте заданного кластера.
  • Простой способ запуска сценария.
  • Данные сохраняются в файл CSV, которые можно подставить в любое средство визуализации.
  • Также генерируется график в формате картинки PNG (как показано выше).

Для работы скрипта потребуется VMware vCenter Server 5.0 или более поздний, а также Microsoft Chart Controls для Microsoft .NET Framework 3.5. Скачать vCenter Cluster Performance Tool можно по этой ссылке.


Таги: VMware, PowerCLI, Labs, vCenter, Performance

Автоматизация создания и удаления глобальных пермиссий VMware vSphere.


Начиная с VMware vSphere 6.0, компания VMware предлагает администраторам очень удобный механизм для назначения прав доступа на самом высоком уровне при наличии нескольких серверов VMware vCenter - глобальные пермиссии (global permissions).

Для тех, кто использует режим vCenter Enhanced Linked Mode (ELM) с несколькими географически разделенными площадками и разнородными инфраструктурами, глобальные пермиссии - это отличное решение, так как они создаются один раз, после чего распространяются и (что самое главное) поддерживаются в согласованном состоянии на всех серверах vCenter связанной инфраструктуры в рамках одного домена Single Sign-On (SSO).

Вильям Лам, известный своими сценариями для автоматизации инфраструктуры vSphere, написал удобный скрипт GlobalPermissions.ps1, позволяющий добавлять и удалять глобальные пермиссии. Он содержит методы New-GlobalPermission и Remove-GlobalPermission, для которых можно задавать следующие параметры:

  • vc_server - хост сервера vCenter
  • vc_username - имя пользователя vCenter
  • vc_password - пароль пользователя vCenter
  • vc_user - пользователь vCenter, которому будут назначаться пермиссии
  • vc_role_id - идентификатор Role ID, который связан с ролью vSphere на данном vCenter Server
  • propagate - значение true или false для распространения пермиссий вниз по уровням иерархии

Чтобы получить параметр vc_role_id, нужно соединиться с vCenter Server и указать имя роли, выполнив сниппет ниже. В данном примере мы получаем ID административной роли с именем Admin:

(Get-VIRole -Name Admin).ExtensionData.RoleId

Вот пример создания новой глобальной пермиссии для одного из пользователей:

$vc_server = "192.168.1.51"
$vc_username = "administrator@vsphere.local"
$vc_password = "VMware1!"
$vc_role_id = "-1"
$vc_user = "VGHETTO\lamw"
$propagate = "true"
New-GlobalPermission -vc_server $vc_server -vc_username $vc_username -vc_password $vc_password -vc_user $vc_user -vc_role_id $vc_role_id -propagate $propagate

А вот появление соответствующей пермиссии в интерфейсе vSphere Web Client как результат работы сценария выше:

Ну а вот так удаляется глобальная пермиссия:

Remove-GlobalPermission -vc_server $vc_server -vc_username $vc_username -vc_password $vc_password -vc_user $vc_user

Посмотреть и загрузить сценарий GlobalPermissions.ps1 можно по этой ссылке.


Таги: VMware, vCenter, PowerCLI, Blogs, vSphere

Как получить информацию о графическом процессоре ESXi с помощью PowerCLI.


Эта статья предназначена в помощь администраторам VDI, которые обновили свои хосты ESXi, оснащенные картами GRID vGPU, до vSphere версии 6.5. Как сказано Джереми Майном в этом форуме NVIDIA, vSphere 6.5 и драйвер GRID от ноября 2016 требует изменения режима GPU с «Shared» (vSGA) на «Shared Direct» (vGPU) через веб-клиент для включения поддержки режима vGPU виртуальными машинами...


Таги: VMware, PowerCLI, ESXi, vSphere, vGPU, NVIDIA

Конец VMware vSphere Management Assistant - пользуйтесь vCLI и другими интерфейсами.


Вслед за снятием с продаж продукта VMware vSphere Data Protection, компания VMware напомнила нам о том, что вскоре прекратится выпуск продукта VMware vSphere Management Assistant (vMA), который пока еще доступен для скачивания (версия 6.5, которая вышла вместе с vSphere 6.5). Об этом было объявлено еще в мае прошлого года при выпуске обновления vSphere 6.0:

Напомним, что этот продукт позволяет централизованно управлять хост-серверами VMware ESXi за счет автоматизации операций системных администраторов. По-сути, vSphere Management Assistant представляет собой "вынесенную" за пределы серверов ESXi сервисную консоль (консольную ОС), которая для виртуальной инфраструктуры присутствует в единственном экземпляре, но централизованно исполняет сценарии на хостах, используя различные интерфейсы VMware vSphere.

Теперь вместо vMA предлагается использовать интерфейсы vCLI и PowerCLI. В целом, этот подход выглядит достаточно логичным - большинство функций удаленного управления платформой взяли на себя эти фреймворки, а сами ESXi и vCenter отлично управляются через стандартные средства и API.

Сама VMware предлагает использовать интерфейс vSphere Command Line Interface (vCLI) в качестве альтернативы vMA. Между тем, она заявляет о том, что команды esxcfg- и vicfg- также будут выведены из эксплуатации (deprecated). Поэтому администраторам vSphere стоит проверить, не используются ли эти две команды в старых скриптах для управления виртуальной инфраструктурой (подробнее о заменах для этих команд - тут).

Вот какие еще предлагаются альтернативы интерфейсу vCLI и устаревшему модулю vMA:

  • Фреймворк PowerCLI и средство кроссплатформенного использования PowerCLI Core.
  • Docker Container с VMware Tools внутри и интегрированными в него нужными административными интерфейсами. Эта штука называется vmware-utils и содержит в себе множество зашитых интерфейсов, а именно:
    • vSphere CLI 6.5
    • PowerCLI Core 1.0
    • vSphere Management SDK 6.5
    • vSphere SDK for Perl 6.5
    • vSphere SDK for Ruby (rbvmomi)
    • vSphere SDK for Python (pyvmomi)
    • vSphere Automation SDK for Ruby 6.5
    • vSphere Automation SDK for Python 6.5
    • vSphere Automation SDK for Perl 6.5
    • vSphere Automation SDK for Java 6.5
    • VSAN Management SDK for Ruby 6.5
    • VSAN Management SDK for Python 6.5
    • VSAN Management SDK for Java 6.5
    • VSAN Management SDK for Perl 6.5
    • Virtual Disk Development Kit (VDDK) 6.5
    • OVFTool 4.2
    • PowerCLI Community Repository
    • PowerCLI Core Docker Container Samples
    • William Lam's vGhetto Script Repository
    • Pyvmomi Community Samples
    • Docker Client v1.12.3
    • Docker Compose v1.8.1

Подробнее о vmware-utils можно почитать вот тут.

Ну а пока VMware vSphere Management Assistant все еще доступен для скачивания по этой ссылке.


Таги: VMware, vSphere, vMA, vCLI, PowerCLI, Update

Несколько новых видео серии Whiteboarding о VMware vSphere и PowerCLI.


Компания VMware время от времени выпускает видеоролики серии Whiteboarding, где технические специалисты компании рассказывают в понятной форме о продуктах и технологиях, рисуя на доске схемы и элементы интерфейса.

На днях вышло несколько новых видео, посвященных VMware vSphere и PowerCLI и заслуживающих внимания (а еще и со стильным бородатым мужиком в последнем ролике). Давайте взглянем:

О шифровании ВМ и трафика vMotion

О режиме безопасной загрузки (Secure Boot) в VMware vSphere

О механизме доступности управляющего сервера - VMware vCenter High Availability

О топологии составляющих архитектуры VMware vCenter

Об апгрейде VMware vCenter и миграции на vCenter Server Appliance (vCSA)

О методах API access methods в интерфейсе PowerCLI

Ну и, конечно же, обратите внимание на плейлист компании VMware, посвященный новой версии платформы VMware vSphere 6.5 - там есть что посмотреть.


Таги: VMware, vSphere, Video, Update, vCenter, PowerCLI

Как сделать VMFS UNMAP через PowerCLI в VMware vSphere.


Как некоторые знают, в VMware vSphere 6.5 появилась (а точнее вернулась снова) возможность Automatic VMFS UNMAP - возврат дискового пространства виртуальной машины (ее VMDK) на сторону дискового массива средствами VAAI (vStorage API for Array Integration). Если раньше эта возможность требовала выполнения различных команд, то теперь управление этой штукой доступно из GUI, а возврат дисковых блоков происходит автоматически. Работает UNMAP только для "тонких" (Thin Provisioned) LUN, на которых размещаются тома VMFS.

Из GUI vSphere Web Client можно управлять только UNMAP'ом для томов VMFS 6, для пятой версии файловой системы это нужно делать вручную с помощью ESXCLI. Кроме того, механизм UNMAP работает в асинхронном режиме, а иногда хочется почистить хранилища от неиспользуемых блоков прямо сейчас.

Поэтому весьма кстати, что на сайте EnterpriseDaddy обнаружился полезный PowerCLI-скрипт, который возвращает дисковое пространство в LUN для заданного хранилища хоста ESXi.

Эта функция принимает на вход имя хоста ESXi и Datastore, а также отключает таймаут на исполнение операций, так как возврат дискового пространства LUN может занять часы.

Function Perform-VMFSUnmap {
[CmdletBinding()]
param(
[Parameter(
Mandatory=$true)]
[String[]]$Datastore,
[String]$ESXiHost
)
Set-PowerCLIConfiguration -WebOperationTimeoutSeconds -1 -Scope Session -Confirm:$false
$ESXHost = Get-VMHost $ESXiHost
$DatastoreName = Get-Datastore $Datastore
Write-Host 'Using ESXCLI and connecting to $VMHost' -ForegroundColor Green
$esxcli = Get-EsxCli -VMHost $ESXHost
Write-Host 'Unmapping $Datastore on $VMHost' -ForegroundColor Green
$esxcli.storage.vmfs.unmap($null,$DatastoreName,$null)
}

Ну а вот так надо запускать этот сценарий:

Perform-VMFSUnmap -ESXiHost ESXi65-A.lab.local -Datastore ISOs


Таги: VMFS, Storage, VMware, vSphere, ESXi, PowerCLI

Как снять скриншот консоли виртуальной машины через VMware PowerCLI.


Многие администраторы виртуальной инфраструктуры VMware vSphere или Horizon View в целях мониторинга пользовательской активности хотели бы иметь возможность снимать скриншоты консоли виртуальных машин. На сайте vcloudnine появился такой скрипт для интерфейса PowerCLI:

Также этот сценарий доступен для скачивания в GitHub.

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


Таги: VMware, PowerCLI, VMachines

Как контролировать максимально разрешённое количество VMware VM снапшотов с помощью PowerCLI.


Шесть лет назад, признанный VMware guru William Lam написал отличную статью на эту тему. Сегодня мы автоматизируем его решение с помощью PowerCLI. Прошу любить и жаловать функцию Set-MaxSnapshotNumber из моего PowerCLI Vi-Module модуля. Функция может выполнять следующие 3 действия...


Таги: PowerCLI, vSphere, Snapshots, VMachines, PowerShell, ESXi

Вышел полезный постер VMware PowerCLI 6.5 Release 1 Reference Poster.


Компания VMware вместе с выпуском обновленной версии платформы vSphere 6.5 выпустила и обновленный интерфейс для администрирования виртуальной инфраструктуры через PowerShell - PowerCLI 6.5 R1. Ну а на днях стал доступен большой и информативный постер на эту тему - VMware PowerCLI 6.5 Release 1 Reference Poster.

Напомним, что постер о PowerCLI 6.3 доступен у нас по ссылке тут (кому интересно - мы писали и о постере PowerCLI 5.8).

В PowerCLI 6.5 R1 появилось множество полезных командлетов для работы с хранилищами, которые добавляют функциональность для работы с vSAN, VVOLs и виртуальными дисками. Также появились отдельные командлеты для работы с виртуальными дисками (при этом нет необходимости обращаться к самой виртуальной машине).

Скачать VMware PowerCLI 6.5 R1 можно по этой ссылке. Release notes доступны тут, User Guide можно скачать здесь, а changelog вот тут. Постер можно скачать по этой ссылке.


Таги: VMware, PowerCLI, Poster, PowerShell, vSphere

PowerShell и putty – лучше вместе.


PowerShell функция Connect-VMHostPutty из моего PowerCLI Vi-Module модуля поможет вам открывать несколько SSH-сессий putty к хостам ESXi без ввода пароля. Функция на самом деле не требует, чтобы на вашем компьютере был установлен VMware PowerCLI. Всё, что нужно - это PowerShell версии 3.0 или выше. Это очень короткая и простая функция всего с двумя параметрами и только один из них обязательный...


Таги: VMware, PowerShell, PowerCLI, ESXi

Slack Bot для VMware vCenter от компании OpVizor.


Как известно, с некоторых пор на предприятиях стало модно использовать мессенджер Slack, в котором есть удобные средства совместной работы и интеграции с различными Enterprise-сервисами (например, JIRA).

Компания OpVizor выпустила виртуальный модуль OpBot Virtual Assistant, реализующий бота Slack, который позволит вам исполнять команды PowerCLI / PowerShell для вывода различных статистик прямо в виде сообщений в адрес бота.

Установка виртуального модуля OpBot проста:

  • Интегрируем OpBot в мессенджер Slack (получаем токен Slack API для импорта в виртуальный модуль).
  • Скачиваем и конфигурируем OpBot Virtual Appliance.

Для оперирования этого виртуального модуля надо создать специальный аккаунт (желательно с правами Read Only по вполне понятным причинам). При работе с OpBot есть следующие нюансы:

  • На данный момент один виртуальный модуль может работать с одним сервером vCenter и одним ботом.
  • Пермиссии задаются в настройках (все команды будут исполняться в контексте указанного аккаунта).
  • Несколько виртуальных модулей/серверов vCenter могут управляться как одним Slack-ботом, так и разными. Обе модели реализуются через повторное развертывание OVF-шаблона.
  • При работе используется механизм PowerCLI Core (со всеми его ограничениями).

Начать работу с OpBot Virtual Assistant можно по этой ссылке. Кстати, удобно использовать алиасы для выполнения команд, например:

@yourbotname alias badvms=posh get-view -ViewType VirtualMachine -Filter @{'RunTime.ConnectionState'='disconnected|inaccessible|invalid|orphaned'} | select name
@yourbotname badvms


Таги: VMware, PowerCLI, Enterprise, vSphere, vCenter

Как мигрировать VMware VM Templates на другой Datastore с помощью PowerCLI.


К сожалению, нету «прямого» пути для миграции шаблонов (VM Templates) с одного датастора на другой (т.н. процедура Storage VMotion). Представляю вашему вниманию функцию Move-Template2Datastore из моего PowerCLI Vi-Module модуля. Функция принимает объект(ы) Template и один объект датастора и производит 3 действия...


Таги: VMware, PowerCLI, Storage, vSphere

Как узнать версии VMware Tools виртуальных машин во всем в вашем датацентре?


Не так давно мы писали о новых версиях VMware Tools, которые стали доступны с выходом обновленной платформы виртуализации VMware vSphere 6.5. Также мы рассказывали немало интересного о тулзах здесь и здесь.

А недавно на сайте blog.igics.com появился интересный и полезный PowerCLI-сценарий, который позволит вам вывести в одном гриде (или в файл) все виртуальные машины и версии VMware Tools в них. Вы, конечно же, можете посмотреть версии VMware Tools в vSphere Client, но если у вас большая инфраструктура, да еще и несколько серверов vCenter, то следить за версиями тулзов во всех виртуальных машинах через клиент будет затруднительно.

И тут на помощь вам придет следующий скрипт:

###################################################################################################################################### 
# Author: David Pasek
# E-mail: david.pasek@gmail.com
# Twitter: david_pasek
# Creation Date: 2016-11-25
#
# Use case:
# Key use case of this script is to report VMtools from all VMs in vCenter
#
# Disclaimer:
# Use it on your own risk. Author is not responsible for any impacts caused by this script.
######################################################################################################################################
#
# CHANGE FOLLOWING VARIABLES BASED ON YOUR SPECIFIC REQUIREMENTS
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
#
# Report type - table, grid, file, csv-file
$REPORT_TYPE = "csv-file"
# Report file name without file extension. Extension is automatically added. File is created in current working directory.
$REPORT_FILE_NAME = "report-vmtools"
######################################################################################################################################
Clear-Host
# We need VMware PowerCLI snapin
$o = Add-PSSnapin VMware.VimAutomation.Core
$o = Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
# Connect to vCenter
Write-Host "Connecting to vCenter ..."
$VC = Read-Host "Enter one vCentre Server or multiple vCenter servers delimited by comma."
Write-Host "Enter vCenter credentials ..."
$CRED = Get-Credential
Connect-VIServer -Server $VC -Credential $CRED -ErrorAction Stop | Out-Null
# Add new property (ToolsVersion) to VM
New-VIProperty -Name ToolsVersion -ObjectType VirtualMachine -ValueFromExtensionProperty 'Config.tools.ToolsVersion' -Force | Out-Null
# Initalize report
$Report = @()
foreach ($vm in Get-VM) {
# Numbers mapping is from https://packages.vmware.com/tools/versions
Switch ($vm.ToolsVersion) {
7302 {$GuestToolsVersion = "7.4.6"}
7303 {$GuestToolsVersion = "7.4.7"}
7304 {$GuestToolsVersion = "7.4.8"}
8192 {$GuestToolsVersion = "8.0.0"}
8194 {$GuestToolsVersion = "8.0.2"}
8195 {$GuestToolsVersion = "8.0.3"}
8196 {$GuestToolsVersion = "8.0.4"}
8197 {$GuestToolsVersion = "8.0.5"}
8198 {$GuestToolsVersion = "8.0.6"}
8199 {$GuestToolsVersion = "8.0.7"}
8290 {$GuestToolsVersion = "8.3.2"}
8295 {$GuestToolsVersion = "8.3.7"}
8300 {$GuestToolsVersion = "8.3.12"}
8305 {$GuestToolsVersion = "8.3.17"}
8306 {$GuestToolsVersion = "8.3.18"}
8307 {$GuestToolsVersion = "8.3.19"}
8384 {$GuestToolsVersion = "8.6.0"}
8389 {$GuestToolsVersion = "8.6.5"}
8394 {$GuestToolsVersion = "8.6.10"}
8395 {$GuestToolsVersion = "8.6.11"}
8396 {$GuestToolsVersion = "8.6.12"}
8397 {$GuestToolsVersion = "8.6.13"}
8398 {$GuestToolsVersion = "8.6.14"}
8399 {$GuestToolsVersion = "8.6.15"}
8400 {$GuestToolsVersion = "8.6.16"}
8401 {$GuestToolsVersion = "8.6.17"}
9216 {$GuestToolsVersion = "9.0.0"}
9217 {$GuestToolsVersion = "9.0.1"}
9221 {$GuestToolsVersion = "9.0.5"}
9226 {$GuestToolsVersion = "9.0.10"}
9227 {$GuestToolsVersion = "9.0.11"}
9228 {$GuestToolsVersion = "9.0.12"}
9229 {$GuestToolsVersion = "9.0.13"}
9231 {$GuestToolsVersion = "9.0.15"}
9232 {$GuestToolsVersion = "9.0.16"}
9233 {$GuestToolsVersion = "9.0.17"}
9344 {$GuestToolsVersion = "9.4.0"}
9349 {$GuestToolsVersion = "9.4.5"}
9350 {$GuestToolsVersion = "9.4.6"}
9354 {$GuestToolsVersion = "9.4.10"}
9355 {$GuestToolsVersion = "9.4.11"}
9356 {$GuestToolsVersion = "9.4.12"}
9359 {$GuestToolsVersion = "9.4.15"}
9536 {$GuestToolsVersion = "9.10.0"}
9537 {$GuestToolsVersion = "9.10.1"}
9541 {$GuestToolsVersion = "9.10.5"}
10240 {$GuestToolsVersion = "10.0.0"}
10245 {$GuestToolsVersion = "10.0.5"}
10246 {$GuestToolsVersion = "10.0.6"}
10247 {$GuestToolsVersion = "10.0.8"}
10249 {$GuestToolsVersion = "10.0.9"}
10252 {$GuestToolsVersion = "10.0.12"}
10272 {$GuestToolsVersion = "10.1.0"}
0 {$GuestToolsVersion = "Not installed"}
2147483647 {$GuestToolsVersion = "3rd party - guest managed"}
default {$GuestToolsVersion = "Unknown"}
}
$vminfo = New-Object -Type PSObject -Property @{
Name = $vm.Name
VMhardwareVersion = $vm.Version
ToolsVersion = $vm.ToolsVersion
GuestToolsVersion = $GuestToolsVersion
}
$Report += $vminfo
}
# Show report
Switch ($REPORT_TYPE) {
"grid" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Out-GridView }
"file" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Out-File -FilePath "$REPORT_FILE_NAME.txt" }
"csv-file" { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | export-csv "$REPORT_FILE_NAME.csv" }
default { $Report | select Name,VMhardwareVersion,ToolsVersion,GuestToolsVersion | Format-Table }
}
Disconnect-VIserver -Server $VC -Force -Confirm:$false

Форму отчета можно редактировать в переменной $REPORT_TYPE, которая задает одно из следующих представлений:

  • Стандартный вывод таблицы PowerShell в терминале (значение table)
  • Представление PowerShell GridView (grid)
  • Текстовый файл, содержащий таблицу (file)
  • Файл Comma separated values (csv-file)

Прогнав скрипт, мы получим вот такой результат, из которого можно сделать вывод о том, в каких виртуальных машинах нужно обновить VMware Tools (показывается еще и Virtual Hardware Version):


Таги: VMware, Tools, PowerCLI, Blogs, Enterprise

Очередная полезность на VMware Labs: утилита PowerCLI Core.


На сайте проекта VMware Labs не так давно появилась очередная полезная утилита для администраторов vSphere - PowerCLI Core. Эта штука позволяет пользователям применять те же самые командлеты PowerCLI на системах Linux, Mac и Docker, которые ранее были доступны только для Windows.

PowerCLI Core использует компоненты Microsoft PowerShell Core и .Net Core.

PowerCLI Core предоставляет мультиплатформенный язык сценариев, который позволяет управлять инфраструктурой VMware vSphere практически с любой ОС. Скрипты PowerCLI, которые были написаны ранее только для Windows-версий фреймворка, теперь можно портировать на различные операционные системы и запустить эти сценарии в них без необходимости их изменения.

На данный момент фреймворк реализует более 280 командлетов, но касаются они только основных возможностей vCenter и ESXi, а также распределенного виртуального коммутатора (vDS). Модули для работы с хранилищами, лицензиями и VMware Update Manager пока не поддерживаются:

Также пока нет и поддержки других расширенных модулей:

Для развертывания и начала использования PowerCLI Core почитайте документ с инструкциями. Скачать PowerCLI Core можно по этой ссылке.


Таги: VMware, PowerCLI, Labs, PowerShell

Вышла новая версия VMware PowerCLI 6.5 R1. Новые командлеты!


На днях компания VMware выпустила обновленную версию интерфейса PowerShell для управления виртуальной инфраструктурой VMware PowerCLI 6.5 R1, которая вышла сразу же после VMware vSphere 6.5.

Давайте посмотрим на новые возможности PowerCLI 6.5 R1:

Обновленные командлеты

  • Move-VM – теперь можно перемещать машины между серверами vCenter (а также между доменами SSO).
  • New-VM – можно задавать число ядер CPU.
  • Open-VMConsoleWindow – теперь поддерживается последняя версия VMware Remote Console (VMRC).

Также другие командлеты были обновлены, чтобы соответствовать vSphere 6.5 API.

Новые Storage Modules

В этой версии PowerCLI появилось множество модулей для работы с хранилищами, которые добавляют функциональность для работы с vSAN, VVOLs и виртуальными дисками. Теперь есть множество командлетов, сфокусированных на жизненном цикле всего кластера vSAN, создание которого теперь может быть полностью автоматизировано.

Вот новые модули, относящиеся к Virtual SAN:

  • Get-VsanClusterConfiguration
  • Get-VsanDisk
  • Get-VsanDiskGroup
  • Get-VsanFaultDomain
  • Get-VsanResyncingComponent
  • Get-VsanSpaceUsage
  • New-VsanDisk
  • New-VsanDiskGroup
  • New-VsanFaultDomain
  • Remove-VsanDisk
  • Remove-VsanDiskGroup
  • Remove-VsanFaultDomain
  • Set-VsanClusterConfiguration
  • Set-VsanFaultDomain
  • Test-VsanClusterHealth
  • Test-VsanNetworkPerformance
  • Test-VsanStoragePerformance
  • Test-VsanVMCreation
  • Update-VsanHclDatabase

Теперь также появились отдельные командлеты для работы с виртуальными дисками (при этом нет необходимости обращаться к самой виртуальной машине):

  • Copy-VDisk
  • Get-VDisk
  • Move-VDisk
  • New-VDisk
  • Remove-VDisk
  • Set-VDisk

Также есть группа командлетов, которая позволяет управлять новой фичей репликации VVOL, которая появилась в vSphere 6.5. Теперь можно искать fault domains и replication groups, синхронизировать их, а также подготавливать и стартовать процесс фейловера на целевую площадку:

  • Get-SpbmFaultDomain
  • Get-SpbmReplicationGroup
  • Get-SpbmReplicationPair
  • Start-SpbmReplicationFailover
  • Start-SpbmReplicationPrepareFailover
  • Sync-SpbmReplicationGroup
Совместимость с различными версиями vCenter, vSAN и SRM

Теперь PowerCLI 6.5 поддерживает все версии vCenter до 5.5:

А вот поддерживаемые версии vSAN и Site Recovery Manager (SRM):

Horizon Module

Теперь появился отдельный модуль, предназначенный для работы с решением VMware Horizon (пока поддерживается только Horizon 7.0.2). Теперь можно соединяться с Horizon Connection server, используя Connect-HVServer и Disconnect-HVServer, и выполнять различные действия, которые опубликованы через API. Загляните в репозиторий PowerCLI Examples, чтобы посмотреть на примеры использования.

PowerCLI Core

Теперь виртуальный модуль PowerCLI Core также имеет поддержку vSphere 6.5 API. То есть новыми командлетами теперь могут пользоваться и пользователи систем Linux, Mac и Docker.

Скачать VMware PowerCLI 6.5 R1 можно по этой ссылке. Release notes доступны тут, User Guide можно скачать здесь, а changelog вот тут.


Таги: VMware, PowerCLI, Update, PowerShell, vSphere

Вызов фейковых алармов VMware vCenter для проверки реагирования внешних систем VMware vSphere.


Многие Enterprise-администраторы используют алармы (alarms) для оповещения о каких-либо сбоях в виртуальном датацентре VMware vSphere, а наиболее продвинутые из них даже пишут сценарии, выполняемые при том или ином срабатывании аларма в ответ на событие (event).

Но как протестировать выполнение этого действия, если вам нужно вызвать этот аларм, но сам ивент симулировать в производственной среде трудно (например, потеря соединения с хостом ESXi)?

Для этого во фреймворке PowerCLI предусмотрена возможность генерации "фейкового" аларма в VMware vCenter, который не затрагивает производственную среду. Сначала нам нужно найти имя этого ивента, по происхождении которого срабатывает аларм. Нужно пойти по этой ссылке и найти названия, оканчивающиеся на "Event".

Например, найдем HostConnectionLostEvent (потеря соединения с хостом ESXi):

Список событий также можно узнать, выполнив следующий сценарий PowerCLI:

$evt = get-view eventManager
$evt.Description.eventinfo

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

# Usual load modules and connections
import-module VMware.VimAutomation.Core
connect-viserver 192.168.10.99
$server = $global:DefaultVIServer
$entity = Get-View (Get-VMHost -Name 192.168.10.240)
$eventMgr = Get-View $server.ExtensionData.Content.EventManager
# Subsitute your event to trigger
$event = New-Object VMware.Vim.HostConnectionLostEvent
# This property is specific to this event, and is required. This domain and user doesn't have to be an existing account.
$event.UserName = "CAGE.LOCAL\Chaos Monkey"
$hostEventArg = New-Object VMware.Vim.HostEventArgument
$hostEventArg.Host = $entity.MoRef
$hostEventArg.Name = "Host-is-a-label"
$event.Host = $HostEventArg
# Sends the event to vCenter
$eventMgr.PostEvent($event,$null)

Получим сгенерированный аларм в VMware vCenter (кликабельно):

Главная строчка тут - это вот эта:

$event = New-Object VMware.Vim.HostConnectionLostEvent

Если вы посмотрите структуру переменной $event, то увидите следующие поля:

  Key                  : 0
ChainId : 0
CreatedTime : 1/01/0001 12:00:00 AM
UserName :
Datacenter :
ComputeResource :
Host :
Vm :
Ds :
Net :
Dvs :
FullFormattedMessage :
ChangeTag :

Для некоторых ивентов заполнение некоторых данных свойств является обязательным. Например, если вы поменяете в сценарии выше строчку с инициализацией ивента вот на эту:

$event = New-Object VMware.Vim.UplinkPortVlanUntrunkedEvent

То получите вот такую ошибку:

  Exception calling "PostEvent" with "2" argument(s): "
Required property switchUuid is missing from data object of type UplinkPortVlanUntrunkedEvent
while parsing serialized DataObject of type vim.event.UplinkPortVlanUntrunkedEvent

Это значит, что вам надо добавить требуемый параметр - switchUuid. Заполним его для переменной $event:

$event.SwitchUuid = "Fake UUID"

После этого сценарий PowerCLI выполнится успешно, и мы увидим наш фейковый аларм в консоли vSphere Client:

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


Таги: VMware, vSphere, PowerCLI, Обучение, vCenter, ESXi, Alarms

Как сравнить 2 или более хостов VMware ESXi с помощью PowerCLI.


Представляю вам функцию Compare-VMHost из моего PowerCLI модуля Vi-Module, которая позволяет сравнивать один или группу хостов ESXi с эталонным хостом. Что именно будет сравниваться, регулируется параметром –Compare. На данный момент функция умеет сравнивать по следующим критериям...


Таги: VMware, PowerCLI, Blogs, ESXi, vSphere

Управление виртуальной и облачной инфраструктурой с помощью VMware vSphere PowerCLI. Часть 1.


Это гостевой пост компании ИТ-ГРАД. Те, кто использует продукты VMware, знают, что управление несколькими гипервизорами ESXi происходит с помощью vCenter Server, который чаще устанавливается на виртуальную машину, распложенную на одном из этих же гипервизоров. Выступая в роли подручного средства администрирования, vCenter Server используется для управления ресурсами, позволяя создавать, удалять, редактировать виртуальные машины.


Таги: IT-Grad, VMware, PowerCLI, vSphere

Как просматривать датасторы VMware с помощью PowerCLI.


Вы уверены, что знаете, что происходит на ваших датасторах? Где хранятся ваши ISO-образы? Сколько у вас «осиротевших» (orphaned) виртуальных дисков? Каков их размер, и как давно они там? И что ещё занимает совсем недешёвое пространство на вашей СХД? Функция Search-Datastore из моего PowerCLI модуля Vi-Module ответит вам на все эти и многие другие вопросы.


Таги: VMware, PowerCLI, Storage, VMDK, VMachines

<<   <    1 | 2 | 3 | 4 | 5 | 6    >   >>
Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V vSAN Private AI VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V HCX Aria NSX DPU Update EUC Avi Community Skyline Host Client Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile VMUG SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V KB VirtualCenter NFS ThinPrint Memory SIOC Troubleshooting Stretched Bugs Director ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2025, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge