Это гостевой пост компании ИТ-ГРАД. Те, кто использует продукты VMware, знают, что управление несколькими гипервизорами ESXi происходит с помощью vCenter Server, который чаще устанавливается на виртуальную машину, распложенную на одном из этих же гипервизоров. Выступая в роли подручного средства администрирования, vCenter Server используется для управления ресурсами, позволяя создавать, удалять, редактировать виртуальные машины.
Вы уверены, что знаете, что происходит на ваших датасторах? Где хранятся ваши ISO-образы? Сколько у вас «осиротевших» (orphaned) виртуальных дисков? Каков их размер, и как давно они там? И что ещё занимает совсем недешёвое пространство на вашей СХД? Функция Search-Datastore из моего PowerCLI модуля Vi-Module ответит вам на все эти и многие другие вопросы.
Как некоторые из вас знают, в августе компания VMware объявит об окончании поддержки версий платформ VMware vSphere 5.0 и 5.1 согласно своему расписанию жизненного цикла продуктов. Поэтому самое время задуматься об обновлении инфраструктуры на VMware vSphere 6.0. Но как проверить, поддерживаются ли ваши серверы, на которых исполняются старые версии платформ, новый релиз ESXi 6.0? Можно, конечно, смотреть в VMware HCL для каждого сервера, но это очень долго и муторно.
Как раз для нуждающихся в ускорении этой процедуры пользователей на сайте virten.net появился скрипт PowerCLI Check-HCL function, который позволяет вывести все версии VMware vSphere, которые поддерживает каждый из ваших хост-серверов. Результат работы скрипта выглядит следующим образом:
Скрипт соединяется с вашим сервером VMware vCenter, получает оттуда хосты ESXi и для каждого проверяет, с какими релизами vSphere хост данном модели совместим (обратите внимание, что для каждого из хостов указывается модель сервера).
Скрипт основан на предыдущих наработках автора - JSON based HCL и Check-HCL. Снипет для использования этих функций весьма прост:
По заявлению автора скрипты очень хорошо работают для оборудования HP и Dell, а также дают приемлемые результаты для серверов IBM и Cisco. Для остальных - надо качать, запускать и тестировать самостоятельно.
Почти 2 года назад мы писали о полезном для многих администраторов платформы vSphere плагине PowerActions for vSphere Web Client, который позволяет хранить и исполнять сценарии PowerCLI прямо из vSphere Web Client, что очень удобно, когда администратор выполняет повседневные задачи по управлению виртуальной инфраструктурой, где некоторые операции автоматизированы средствами PowerShell.
То есть вы просто нажимаете в веб-клиенте правой кнопкой по объекту виртуального датацентра и из контекстного меню выбираете нужный PowerCLI-скрипт для исполнения:
Очень часто мне, как и любому администратору виртуальной инфраструктуры VMware, требуется знать версию того или иного объекта. Это может быть версия VMTools/vHardware виртуальной машины или версия vSphere хоста ESXi или версия VMFS-датастора (продолжите список сами). И каждый раз вы начинаете судорожно вспоминать, как это делается, где и какой скрипт искать или пускаетесь в поиски по форумам или обращаетесь к доктору Google).
Вильям Лам написал интересный пост об изменении приветственного экрана физической консоли VMware ESXi. Некоторые из вас знают, что внешний вид DCUI-консоли ESXi можно менять в файле /etc/vmware/welcome.
Но руками залезать в него не нужно, вместо этого можно использовать расширенную настройку ESXi Advanced Setting, которая называется Annotations.WelcomeMessage. Ее можно изменить с помощью сценария PowerCLI / PowerShell.
Часто администраторам нужно узнать, на каком из хостов находится виртуальная машина, например, это сервер vCenter, который выключен по тем или иным причинам. В этом случае поможет вывод имен виртуальных машин прямо в физическую DCUI консоль сервера ESXi, к которой можно получить доступ напрямую с сервера или по SSH.
Ниже приведен PowerCLI-скрипта для описанного сценария, в котором все просто и понятно относительно того, как устанавливается рассмотренная выше расширенная настройка для вывода количества и списка виртуальных машин:
Конечно же, если у вас много виртуальных машин на хосте, то они просто не влезут на приветственный экран ESXi, но 15 виртуальных машин у Вильяма влезли без проблем:
Кстати, если вы хотите вывести только включенные виртуальные машины, то вы можете просто добавить фильтр:
-Filter @{"Runtime.PowerState" = "PoweredOn"}
в конце строчки, где используется командлет Get-View.
Все администраторы знают, как включать и отключать доступ по SSH на хостах ESXi. Однако часто в административных целях требуется перещелкнуть этот сервис не только на одном хост-сервере, а в пределах целого кластера VMware HA/DRS для выполнения комплекса задач на нескольких хостах. В этом случае поможет скрипт PowerCLI, который написал David Ring.
Сначала вводите IP-адрес сервера vCenter, логин и пароль администратора, ну а потом сценарий запросит имя кластера в котором вы хотите включить/отключить доступ к серверам по SSH:
Когда вы закончите проведение необходимых операций в консоли хостов ESXi по SSH, запустите скрипт повторно для отключения SSH в целях безопасности:
Ну и, собственно, сам скрипт PowerCLI:
########### vCenter Connectivity Details ###########
Write-Host “Please enter the vCenter Host IP Address:” -ForegroundColor Yellow -NoNewline
$VMHost = Read-Host
Write-Host “Please enter the vCenter Username:” -ForegroundColor Yellow -NoNewline
$User = Read-Host
Write-Host “Please enter the vCenter Password:” -ForegroundColor Yellow -NoNewline
$Pass = Read-Host
Connect-VIServer -Server $VMHost -User $User -Password $Pass
########### Please Enter the Cluster to Enable SSH ###########
Write-Host “Clusters Associated with this vCenter:” -ForegroundColor Green
$VMcluster = ‘*’
ForEach ($VMcluster in (Get-Cluster -name $VMcluster)| sort)
{
Write-Host $VMcluster
}
Write-Host “Please enter the Cluster to Enable/Disable SSH:” -ForegroundColor Yellow -NoNewline
$VMcluster = Read-Host
########### Enabling SSH ###########
Write-Host “Ready to Enable SSH? “ -ForegroundColor Yellow -NoNewline
Write-Host ” Y/N:” -ForegroundColor Red -NoNewline
$SSHEnable = Read-Host
if ($SSHEnable -eq “y”) {
Write-Host “Enabling SSH on all hosts in your specified cluster:” -ForegroundColor Green
Get-Cluster $VMcluster | Get-VMHost | ForEach {Start-VMHostService -HostService ($_ | Get-VMHostService | Where {$_.Key -eq “TSM-SSH”})}
}
########### Disabling SSH ###########
Write-Host “Ready to Disable SSH? “ -ForegroundColor Yellow -NoNewline
Write-Host ” Y/N:” -ForegroundColor Red -NoNewline
$SSHDisable = Read-Host
if ($SSHDisable -eq “y”) {
Write-Host “Disabling SSH” -ForegroundColor Green
Get-Cluster $VMcluster | Get-VMHost | ForEach {Stop-VMHostService -HostService ($_ | Get-VMHostService | Where {$_.Key -eq “TSM-SSH”}) -Confirm:$FALSE}
}
Скачать скрипт можно по этой ссылке (уберите расширение doc и добавьте .ps1).
PowerCLI включает в себя 3 функции для управления настройкой NTP серверa: Get/Add/Remove-VMHostNtpServer. Это можно видеть с помощью Get-Command. На мой взгляд явно не хватает ещё одной - Set-VMHostNtpServer. Данная функция объединяет в себе все 3 предыдущих плюс ещё пару для рестарта NTP-сервиса для применения конфигурации. Просто скачайте мой PowerCLI-модуль для управления виртуальной инфраструктурой VMware Vi-Module.psm1 и импортируйте его.
В этот раз мы рассмотрим сразу две функции Enable-VMHostSSH/Disable-VMHostSSH моего PowerCLI модуля для управления виртуальной инфраструктурой VMware Vi-Module.psm1. Очень часто администраторам виртуальной инфраструктуры требуется временно включить SSH на хосте/хостах ESXi, например, для запуска esxtop или для выяснения причин PSOD или для решения проблем с СХД...
Очередная функция Compare-VMHostSoftwareVibмоего PowerCLI-модуля для управления виртуальной инфраструктурой VMware Vi-Module.psm1 поможет вам сравнить установленные VIB-пакеты (vSphere Installation Bundle) между двумя и более хостами ESXi. Функция позволяет сравнивать как два отдельно взятых хоста, так и группу хостов, например, сравнить целый HA/DRS Cluster с эталонным хостом.
Очередная функция Get-VMHostFirmwareVersion моего PowerCLI модуля для управления виртуальной инфраструктурой VMware Vi-Module.psm1 поможет вам узнать версию и дату выпуска Firmware ваших серверов ESXi. Для большей гибкости и удобства в использовании, функция написана в виде PowerShell-фильтра.
VMware PowerCLI – это весьма мощный инструмент управления, а всё, что нужно сделать для начала работы с ним - это подключиться к серверу или серверам виртуальной инфраструктуры, которыми могут являться сервер управления vCenter Server, Linux vCenter Server Appliance (vCSA) или ESXi-хост.
Странные вещи происходят в последнее время с VMware. Сначала в технологии Changed Block Tracking (CBT) платформы VMware vSphere 6 был найдет серьезный баг, заключавшийся в том, что операции ввода-вывода, сделанные во время консолидации снапшота ВМ в процессе снятия резервной копии, могли быть потеряны. Из-за этого пользователи переполошились не на шутку, ведь бэкапы, а это критически важная составляющая инфраструктуры, могли оказаться невосстановимыми.
Недавно этот баг был пофикшен в обновлении ESXi600-201511401-BG, и вроде бы все стало окей. Но нет - оказалось, что накатить обновление на ваши серверы VMware ESXi недостаточно, о чем своевременно сообщила компания Veeam (официальная KB находится вот тут). Нужно еще и сделать операцию "CBT reset", то есть реинициализировать Changed Block Tracking для виртуальных машин.
Все дело в том, что уже созданные файлы CBT map могут содержать невалидные данные, касательно изменившихся блоков, а ведь они могли быть созданы еще до накатывания патча от VMware. Таким образом, простое обновление ESXi не убирает потенциальную проблему - старые файлы *-ctk.vmdk могут, по-прежнему, быть источником проблем. Удивительно, как такая могучая компания как VMware просто взяла и прошляпила этот момент.
Итак, как нужно делать CBT reset для виртуальной машины описано вот тут у Veeam. Приведем этот процесс вкратце:
1. Открываем настройки виртуальной машины (да-да, для каждой ВМ придется это делать) и идем в Configuration Parameters:
2. Там устанавливаем значение параметра:
ctkEnabled = false
3. Далее устанавливаем
scsi0:x.ctkEnabled также в значение false:
4. Открываем папку с виртуальной машиной через Datastore Browser и удаляем все файлы *-ctk.vmdk (это и есть CBT map файлы):
5. Включаем виртуальную машину и заново запускаем задачу резервного копирования Veeam Backup and Replication.
Для тех, кто умеет пользоваться интерфейсом PowerCLI есть бонус - компания Veeam сделала PowerShell-скрипт, который автоматизирует эту операцию. Он позволяет переинициализировать CBT для указанных пользователем виртуальных машин. Виртуальные машины со снапшотом, а также выключенные ВМ будут проигнорированы. Также надо отметить, что при выполнении сценария создается снапшот машины, а потом удаляется, что может вызвать временное "подвисание" машины и ее недоступность в течение некоторого времени, поэтому лучше выполнять этот скрипт ночью или в нерабочие часы.
Компания VMware на днях представила проект VMware Sample Exchange, представляющий собой портал, где разработчики выкладывают для загрузки различные шаблоны сценариев, помогающие в решении повседневных задач по администрированию виртуальной инфраструктуры VMware vSphere.
На этом сайте можно найти не только сценарии сотрудников VMware на языках/оболочках PowerShell/PowerCLI, Python, Ruby, Java и других, но и предложить свой вариант решения задачи или запросить его у сообщества профессионалов, которые будут там тусоваться (потому и называется Exchange). На данный момент на портале есть контент от таких известных многим людей, как Alan Renouf и William Lam.
Сейчас загружать свой контент и сценарии могут только носители звания VMware vExpert и авторизованные со стороны VMware люди, но в релизной версии сервиса это смогут сделать все желающие (на данный момент обсуждения по этим вопросам находятся вот тут).
В левой колонке портала находятся фильтры по категориям применения сценариев (платформы, решения VMware и бизнес-задачи):
А также по языку программирования/интерфейсу:
Пока в библиотеке всего 260 сэмплов (нераспиханных по категориям и интерфейсам), но будем надеяться, что скоро коллекция существенно расширится и там наведут порядок.
Сегодняшняя статья расскажет вам ещё об одной функции моего PowerShell-модуля для управления виртуальной инфраструктурой VMware - Vi-Module. Первая статья этой серии с описанием самого модуля находится здесь. Функция Convert-VmdkThin2EZThick. Как вы уже поняли из её названия, функция конвертирует все «тонкие» (Thin Provision) виртуальные диски виртуальной машины в диски типа Thick Provision Eager Zeroed.
Некоторое время назад вышло обновление VMware vSphere 6.0 Update 1, после чего пользователи Onyx под Web Client заметили, что он перестал работать. Напомним, что Onyx предназначен для записи действий пользователя в клиенте vSphere, после чего они записываются в виде сценариев PowerShell.
Теперь в обновленном Onyx для VMware vSphere Web Client, который можно скачать с сайта VMware Labs, новая версия vSphere 6.0 U1 полностью поддерживается.
Причина плохого поведения Onyx проста - так как этот продукт теперь полностью завязан на VMware vCenter, то теперь любое значимое изменение оного требует отдельного апдейта.
Таги: VMware, Onyx, Update, Labs, vSphere, Web Client, PowerShell, PowerCLI
Этой статьёй я хочу открыть серию статей, целью каждой из которых будет описание одной из написанных мной функций PowerCLI или так называемых командлетов (cmdlets), предназначенных для решения задач в виртуальных инфраструктурах, которые невозможно полноценно осуществить с помощью только лишь встроенных функций PowerCLI. Все эти функции будут объединены в один модуль - Vi-Module. Как им пользоваться, можете почитать здесь.
Многие из вас в курсе, что на сайте проетка VMware Labs есть расширения PowerCLI Extensions (о них мы писали вот тут), позволяющие получить доступ к командлетам PowerCLI/PowerShell, которые еще не выпущены в релиз и доступны только в экспериментальном режиме.
На днях PowerCLI Extensions были обновлены, оттуда убрали командлеты относящиеся к VSAN, так как они были включены в релизную версию PowerCLI 6.0 R1. Но самое интересное, что в PowerCLI Extensions добавили экспериментальные командлеты функций Instant Clone. На самом деле, это фича VM Fork или Project Fargo, о которой мы писали вот тут.
Суть технологии VMFork такова, что "на лету" создается клон виртуальной машины (VMX-файл, процесс в памяти), который начинает использовать ту же память (Shared memory), что и родительская ВМ. При этом дочерняя ВМ в шаренную память писать не может, а для записи собственных данных используется выделенная область памяти. Для дисков аналогично - с использованием технологии Copy-on-write в дельта-диск дочерней ВМ пишутся отличия от базового диска родительской ВМ.
Вот эти командлеты в обновленных PowerCLI Extensions:
В рамках процесса создания мгновенного клона дочерняя ВМ появляется на свет без изначальной загрузки. В процессе работы VMFork происходит кратковременное "подвешивание" родительской ВМ (quiescence) с помощью технологии "fast suspend resume" (FSR), после чего дочерняя ВМ "отцепляется" от родительской, приобретая свою сетевую идентификацию (IP-адрес, маску и т.п.). При этом ВМ шарят общие ресурсы на чтение и имеют свои уникальные области на запись - это очень удешевляет стоимость ресурсов в перерасчете на одну ВМ на хосте.
Сначала сетевые параметры клона задаются следующим массивом:
Это позволяет мгновенно получить свою новую, независимую виртуальную машину, которая имеет свою сетевую идентификацию и диски. Так как в машине стоят VMware Tools, то можно проверить новые настройки с помощью вызова VMware Tools RPCTool:
На видео ниже проверяются настройки ВМ, которую собираются клонировать, затем вызываются PowerCLI-команды, чтобы получить 9 мгновенных клонов (у автора видео это заняло 15 секунд):
Потенциально это очень полезная технология, особенно для сред разработки и тестирования. Скачать VMware PowerCLI Extensions с функциями VMware Instant Clone можно по этой ссылке.
Наши постоянные читатели помнят, что еще в 2009 году компания VMware анонсировала Project Onyx, предназначенный для записи действий пользователя в клиенте vSphere и их перекладывания на язык сценариев PowerShell. Также какое-то время назад на сайте проекта VMware Labs появилась утилита Onyx, которая проксировала команды от vSphere Client к серверу vCenter и записывала их как PowerCLI-скрипт (сейчас ее страница переехала вот сюда).
Ну а на днях компания VMware выпустила техническое превью Onyx for the Web Client, который уже позволяет начать запись действий пользователя и получить готовый сценарий прямо в веб-клиенте vSphere.
После установки Onyx for the Web Client появится иконка утилиты в домашнем меню веб-клиента:
Далее просто нажимаем кнопку записи (Start), после чего выполняем нужные нам действия в Web Client:
И получаем на выходе готовый сценарий для исполнения того же самого действия через PowerCLI:
Полученный сценарий можно сохранить:
Классная штука и просто находка для тех, кто хочет все автоматизировать в своей виртуальной инфраструктуре. Скачать Onyx for the Web Client можно по этой ссылке. Инструкции по установке находятся здесь. Поставить его можно как на vCenter Server Appliance, так и на vCenter Server для Windows.
Многие администраторы VMware vSphere знают про файлы vSphere Installation Bundle (VIB), которые позволяют распространять программные компоненты для серверов ESXi. Например, с помощью VIB-файлов устанавливаются кастомные драйвера (и куча своих VIB есть для каждого кастомизированного образа, например, HP).
На днях была выпущена утилита VIBSearch, которая может оказаться полезной многим администраторам в вопросах поиска и сравнения версий VIB-пакетов на разных хостах ESXi.
Утилита представляет собой скрипт на PowerShell c GUI, в котором можно ввести параметры доступа vCenter и поискать на серверах ESXi конкретный VIB-пакет (по вхождению строчки в его название).
С чем тестировался скрипт:
PowerShell 4.0
PowerCLI 5.8 Release 1
Для командлета Out-GridView нужен компонент PowerShell ISE. Для его установки нужно использовать следующие команды PowerShell:
На сайте проекта VMware Labs (напомним, что за его обновлениями можно следить у нас вот тут) появился интересный плагин для VMware vSphere Web Client - PowerActions. Он позволяет хранить и исполнять сценарии PowerCLI прямо из веб-клиента, что очень удобно, когда администратор выполняет повседневные задачи по управлению виртуальной инфраструктурой, где некоторые операции автоматизированы средствами PowerShell.
Кроме того, PowerActions предоставляет высокую степень интеграции с vSphere Web Client - вы можете, например, открыть контекстное меню для объекта (к примеру, виртуальная машина или кластер) и выполнить скрипт PowerCLI для него.
Кроме всего прочего, PowerActions - это отличный способ расшарить ваши скрипты другим администраторам виртуальной инфраструктуры VMware vSphere, которые могут нуждаться в ваших наработках.
Вот тут в блоге компании VMware очень детально расписано как установить и пользоваться плагином PowerActions for vSphere Web Client. Скачать его можно по этой ссылке.
Таги: VMware, Labs, PowerCLI, PowerShell, Web Client, vSphere
На проходившей на прошлой неделе конференции VMworld 2014 компания VMware анонсировала обновленную версию пакета продуктов VMware vCloud Suite 5.8 (о том, что это такое, мы писали вот тут). Напомним, что vCloud Suite - это комплект решений для создания частного облака на основе продуктов VMware. Он поставляется в одном из трех изданий:
Состав пакета VMware vCloud Suite (основные компоненты):
Платформа виртуализации VMware vSphere Enterprise Plus
Средство обеспечения катастрофоустойчивости VMware SRM
Поскольку версия продвинулась всего лишь до 5.8, а не до полноценной шестерки (при этом версия vSphere так и осталась 5.5), то новых возможностей у продуктов, входящих в состав пакета, не так уж и много.
Итак, что нового в VMware SRM:
5x the scale of protection – теперь можно защитить до 5000 виртуальных машин для одного сервера VMware vCenter (это в пять раз больше предыдущего лимита).
Enhanced self-service - улучшенные возможности портала самообслуживания для пользователей, которые позволяют самостоятельно применить политики катастрофоустойчивости к новым виртуальным машинам на основе шаблонов в vCloud Automation Center при использовании репликации на уровне дискового массива (array-based replication). В vCAC решение SRM доступно теперь как сервис.
В целом VMware vCloud Suite 5.8 получил следующие новые возможности:
Big Data Extensions, поддерживающие решение Hadoop 2.
Новые средства проактивной поддержки (бесплатный плагин Support Assistant для vCenter).
Также технология репликации на уровне хоста продвинулась до версии vSphere Replication 5.8. Там появились средующие новые возможности:
Поддержка публичного облака VMware vCloud Air. Теперь при настройке репликации предлагают выбрать, куда нужно будет это делать - на другой хост под управлением vCenter или в облако.
Представление обоих типов репликации в vSphere Web Client:
Улучшилась отчетность по репликации. Теперь она включает в себя такие параметры, как Replicated VMs (by VC), Replicated VMs (by Host), RPO Violations и Transferred Bytes.
Улучшенная поддержка бизнес-критичных приложений. Пользователи могут выполнять бэкапы кластеров серверов Microsoft SQL Server, также как и групп Microsoft Exchange DAGs (Database Availability Groups).
Прокси-серверы и Backup Work Streams теперь более кастомизабельны - теперь можно выбрать число параллельно выполняемых потоков резервного копирования, чтобы соблюсти требования по SLA.
Теперь можно восстановить реплицируемые ВМ как на основной, так и на резервный сайт. Реплицированные ВМ можно снова реплицировать.
Помимо этого обновились и средства автоматизации администрирования PowerCLI 5.8 U1:
Улучшенная скорость работы
Командлеты политик хранилищ
Возможность опроса свойств виртуальных модулей OVF/OVA, а также их развертывание и конфигурация
Фильтры по тэгам
Улучшенная отчетность по ошибкам
Поддержка RelatedObject в процедуре Get-HardDisk
Поддержка фильтров в разных областях
Поддержка последней версии vCloud API
Новый командлет New-CIVM
Поддержка VMware SRM 5.8.
Про стоимость и комплектацию решения VMware vCloud Suite 5.8, доступного уже сегодня, написано в этом документе.
От администратов VMware vSphere часто приходится слышать о том, что есть категория пользователей, которой хотелось бы предоставить доступ к отдельным задачам по работе с виртуальной инфраструктурой, при этом не давая доступ к средствам управления VMware vSphere Client или Web Client. Например, это может оказаться необходимо сетевым администраторам или администраторам хранилищ. Особенно эта задача актуальна тогда, когда реализация необходимой функции состоит из нескольких шагов, некоторые из которых нельзя сделать в графическом интерфейсе vSphere Client.
В этом случае проблема решается средствами интерфейса PowerCLI / PowerShell, а вот недавно обновившаяся утилита с VMware Labs - Web Commander 3.0 - позволяет опубликовать командлеты PowerShell через веб-интерфейс, доступ к которому можно предоставить пользователям.
Что нового появилось именно в третьей версии:
Новый интерфейс
Улучшенные контролы
Улучшенный рабочий процесс
Новые команды для сервера
Системные требования для установки Web Commander:
ОС Windows 2008 или 2012
Установленный Powershell версий 3/4, а также фреймворк vSphere PowerCLI
Сервер приложений IIS 8
Установленный PHP 5
Скачать Web Commander можно по этой ссылке, документация по установке доступна здесь.
Таги: VMware, Labs, Web commander, PowerCLI, PowerShell, Update
Давно что-то не было новостей в сфере обновления инструментов для автоматизации операций в инфраструктуре VMware vSphere. Но вот они и пришли - сразу же после выхода VMware vSphere 5.5 и технологии Virtua SAN компания VMware выпустила обновление PowerCLI 5.5 R2.
Напомним, что PowerCLI является надстройкой над Microsoft PowerShell, которая позволяет администраторам просто управлять компонентами виртуальной инфраструктуры через командлеты:
Эта версия PowerCLI действительно принесла много нового, а именно:
Возможность создания/удаления тэгов и категорий тэгов.
Получение статуса и настройка режима Enhanced vMotion Compatibility (EVC) для кластеров.
Управление политиками безопасности для обычных виртуальных коммутаторов (vSwitch) и их групп портов.
Поддержка Windows PowerShell 4.0.
Поддержка серверов vSphere с настроенным IPv6.
Указание приоритета миграции ВМ (VMotionPriority для командлета Move-VM).
Возможность использования объекта Hard Disk как RelatedObject в методе Get-Datastore.
Командлет Get-Datastore позволяет фильтровать вывод по кластерам.
Командлеты Get-Stat и Get-StatType теперь работают со всеми типами, что позволяет собирать больше статистической информации.
Добавлена поддержка сетевых адаптеров e1000e.
Возможность указания всех значений в параметре DiskStorageFormat при клонировании виртуальной машины.
Поддержка 64-битных ОС для методов New-OSCustomizationSpec и Set-OSCustomizationSpec.
Свойство ToolsVersion объекта VMGuest показывает версию тулзов как строку.
Возможность использования объекта virtual portgroup как RelatedObject в методах Get-VirtualSwitch и Get-DVSwitch.
Получение списка ВМ рассортированного по виртуальным коммутаторам.
Различные исправления ошибок и улучшения производительности командлетов, которые можно посмотреть в логе изменений.
Вот какие штуки теперь можно использовать для решения VMware SRM через PowerCLI:
Protect a Virtual Machine - настройка репликации ВМ на удаленную площадку.
Connect-SrmServer - соединение с сервером vCenter Site Recovery Manager (SRM).
Create a Report of the Virtual Machines Associated with All Protection Groups - простенький отчет о виртуальных машинах и протекш-группах, в которые они входят.
Create a Report of the Protected Virtual Machines - простенький отчет о всех защищенных SRM виртуальных машинах.
Кроме vSphere PowerCLI 5.5 R2 обновился также и vCloud Director PowerCLI R2, который можно опционально установить при развертывании этого средства.
На сайте проекта VMware Labs, известного всем администраторам VMware vSphere, появились интересные утилиты для управления инфраструктурой VMware vSphere через PowerShell - командлеты PowerCLI Extensions, объединенные в отдельный PowerShell-модуль VMware.VimAutomation.Extensions.
Эти командлеты реализуют управление следующими новыми компонентами VMware vSphere 5.5:
Мы часто пишем заметки о безопасности виртуальной инфраструктуры VMware vSphere и других продуктов на данной платформе (их можно найти по тэгу Security). И вот на днях я натолкнулся на интересную статью "It’s a Unix system, I know this!", в которой есть одна умная мысль, касающаяся настройки безопасности, и которую я часто пытаюсь донести до заказчиков. А именно: некорректное планирование и исполнение процедур по обеспечению безопасности может привести к еще большим проблемам как с точки зрения конфигурации виртуальной среды, так и с точки зрения самой безопасности.
Итак, обратимся к статье. Есть такая организация в штатах Defense Information Systems Agency (DISA), которая выпускает документ Security Technical Implementation Guide (STIG), являющийся руководящим документом по обеспечению безопасности для правительственных организаций. Есть подозрение, что в части виртуальных машин он сделан на основе VMware vSphere Security Hardening, однако не из самой актуальной версии последнего.
Так вот в этом DISA STIG есть пункты, касающиеся виртуальных машин, например, пункт про отключение операций Copy/Paste с гостевой ОС виртуальной машины из ОС компьютера, где выполняется vSphere Client.
Посмотрим, как рекомендуется выполнить эту процедуру:
To edit a powered-down virtual machine’s .vmx file, first remove it from vCenter Server’s inventory. Manual additions to the .vmx file from ESXi will be overwritten by any registered entries stored in the vCenter Server database. Make a backup copy of the .vmx file. If the edit breaks the virtual machine, it can be rolled back to the original version of the file.
1. Open the vSphere/VMware Infrastructure (VI) Client and log in with appropriate credentials. If connecting to vCenter Server, click on the desired host. Click the Configuration tab. Click Storage. Right-click on the appropriate datastore and click Browse Datastore. Navigate to the folder named after the virtual machine, and locate the <virtual machine>.vmx file. Right-click the .vmx file and click Remove from inventory.
2. Temporarily disable Lockdown Mode and enable the ESXi Shell via the vSphere Client.
3. Open the vSphere/VMware Infrastructure (VI) Client and log in with appropriate credentials. If connecting to vCenter Server, click on the desired host. Click the Configuration tab. Click Software, Security Profile, Services, Properties, ESXi Shell, and Options, respectively. Start the ESXi Shell service, where/as required.
4. As root, log in to the ESXi host and locate the VM’s vmx file.
# find / | grep vmx
Add the following to the VM’s vmx file.
keyword = “keyval”
Open the vSphere/VMware Infrastructure (VI) Client and log in with appropriate credentials.
If connecting to vCenter Server, click on the desired host.
Click the Configuration tab.
Click Storage.
Right-click on the appropriate datastore and click Browse Datastore.
Navigate to the folder named after the virtual machine, and locate the <virtual machine>.vmx file.
Right-click the .vmx file and click Add to inventory. The Add to Inventory wizard opens.
Continue to follow the wizard to add the virtual machine.
Круто, да? Это все для того, чтобы просто отключить копирование из консоли ВМ (для одной машины), которое если уж кому-то очень сильно понадобится - он сделает все равно через принтскрин или еще как.
А теперь подумаем, к чему это все может привести:
В процессе такой настройки администратор может что-то испортить.
Сотни виртуальных машин обработать таким способом очень долго и нудно.
Такая процедура открывает больше дырок, чем закрывает (администратор снимает Lockdown хоста, делает операции в шеле и тыркается по вицентру).
Контролировать исполнение процесса очень сложно - все ли локдауны были закрыты, по всем машинам ли мы прошлись и т.п.
Конечно же, есть простой и элегантный способ сделать все это сразу для всех ВМ и с помощью PowerCLI через методы, описанные в пунктах vm.disable-console-copy и vm.disable-console-paste документа vSphere Hardening Guide.
Однако те из вас, у кого в компании есть отдел информационной безопасности, знают что такое формализм этих ребят, которые может в виртуализации и не разбираются, зато прекрасно понимают, что приведенный выше гайд несколько отличается от двух строчек на PowerShell.
И, хотя это в основном касается западных организаций, в отечественных крупных компаниях тоже возникают проблемы из-за подобных процедур.
Так вот какова мораль сей басни:
При разработке руководящих документов по обеспечению безопасности виртуальной инфраструктуры поймите, какие требования являются обязательными, а какие можно реализовать факультативно (то есть не реализовывать вовсе). Минимизируйте число обязательных требований и по мере необходимости расширяйте.
Используйте последние версии руководящих документов по ИБ от вендоров и всегда обновляйте свои собственные (хотя бы с выходом мажорной версии продукта).
Максимально применяйте автоматизацию при выполнении процедур по конфигурации безопасности. В VMware vSphere и других продуктах VMware можно автоматизировать практически все.
Если выполнение требования к ИБ виртуальной среды потенциально может открыть еще больше дырок, вызвать ошибки конфигурации и причинить еще беды, подумайте - а может стоит отказаться от этого требования или переформулировать его?
Ну а если кратко - с головой надо подходить, а формализм отставить. Больше интересных подробностей - в статье.
Написана она на PowerCLI человеком по имени Sean Duffy и обновлялась совсем недавно - 29 декабря прошлого года.
Для резервного копирования и восстановления конфигурации VMware ESXi используются командлеты PowerCLI Get-VMHostFirmware и Set-VMHostFirmware. Утилита была протестирована для ESXi 5.0 и 5.1, графический интерфейс позволяет производить резервное копирование на локальный диск компьютера, где она запущена. Убедитесь, кстати, что в вашей инфраструктуре работает служба DNS, так как утилита обращается к хост-серверам по именам.
Из интересных особенностей - возможность восстановить конфигурацию на другой хост ESXi (на скриншоте подчеркнуто красным). В последней версии также добавлена валидация хоста на возможность резервного копирования и восстановления (т.е., что он не находится в maintenance mode и вообще работает).
Скачать ESXi Host Backup & Restore GUI Utility можно по этой ссылке. Для запуска утилиты вам потребуется установленный PowerShell / PowerCLI.
Для обладателей устройств iPad или iPhone и, по совместительству, разработчиков сценариев для автоматизации операций в виртуальной инфраструктуре VMware vSphere на App Store есть замечательное справочное руководство по скриптам PowerCLI - vPowerCLI5 Reference.
Справочник включает в себя более 200 командлетов PowerCLI, которые упорядочены в алфавитном порядке, также есть поиск. Для каждого командлета предоставляется описание, взятое из vSphere PowerCLI Reference от VMware.
Если вы являетесь разработчиком и администраторов скриптов PowerCLI / PowerShell для автоматизации операций в виртуальной инфраструктуре VMware vSphere, вам, наверняка, часто приходится хардкодить логин и пароль для соединения с сервером vCenter или вводить их в интерактивном режиме. Это не очень безопасно (мало ли кто увидит ваш скрипт на экране), да и вообще, не очень удобно.
Специально для этого в PowerCLI есть хранилище, называемое Credential Store, в которое можно помещать логин и пароль от сервера, с которым вы соединяетесь из скрипта.
Таким образом для этого хоста вы помещаете креды "user" с паролем "password" в шифрованное хранилище Credential Store, которое находится в следующем файле:
%APPDATA%\VMware\credstore\vicredentials.xml
Теперь при соединении с vCenter из скрипта, просто пишете:
Connect-VIServer 192.168.1.10
В этом случае, при отсутствии указания логина и пароля, PowerCLI заглядывает в хранилище и смотрит, нет ли там кредов для этого хоста, и если они есть, то подставляет их. Все просто.
Чтобы посмотреть креды из хранилища, нужно просто вызвать следующий командлет:
Такой способ хранения логинов и паролей для скриптов действует для конкретного пользователя, так как они хранятся в Credential Store в зашифрованном виде и могут быть расшифрованы только под ним. То есть, если злоумышленник украдет виртуальную машину с этими скриптами, но не сможет залогиниться под этим пользователем, получить эти пароли он не сможет, при условии использования Windows file encryption (EFS) для файла хранилища.
Есть также и альтернативный метод хранения кредов для скриптов в произвольном файле.