пятница, 9 февраля 2018 г.

PowerCLI. Get-View. Использование фильтров. Регулярные выражения.

Использование фильтрации вывода результатов командлета Get-View задача не очень простая. В том плане, что обычные приемы, применяемые как в случае с PowerCLI, так и PowerShell не всегда срабатывает. 

воскресенье, 4 февраля 2018 г.

Вышли новые книги про VMware vSphere 6.5

18 октября 2016 года состоялся релиз серверной платформы виртуализации VMware vSphere 6.5. 
И сейчас - в декабре 2017  и январе 2018 по этой версии VMware vSphere вышли в свет новые книги с уже привычными названиями - Mastering VMware vSphere и VMware vSphere Cookbook.

Mastering VMware vSphere 6.5 (авторы Andrea Mauro, Paolo Valsecchi, Karel Novak) состоит из 598 страниц.
VMware vSphere 6.5 Cookbook - Third Edition (составители Abhilash G B, Cedric Rajendra) - 539 страниц.

Если быть точным - то релиз бумажного варианта VMware vSphere 6.5 Cookbook состоится только 9 февраля, но электронная версия уже доступна на сайте www.packtpub.com.


пятница, 2 февраля 2018 г.

PowerCLI. Heartbeat Datastore

В прошлой статье PowerCLI. Использование API. Get-VIObjectByVIView я исследовал объекты, применяя Get-VIObjectByVIView, а тажке Get-Member с фильтром -MemberType Properties.
И обещал рассмотреть командлет получения хранилищ, используемых для Heartbeat Datastore.

Поэтому на этот раз все же рассмотрю вопрос с Heartbeat Datastore и одновременно исследуя командлет Get-Member с фильтром -MemberType Method. Также приведу аналоги командлета, в том числе с использованием Get-View.

Поскольку выделяется целая статья, то можно и дать немного теории про Heartbeat Datastore.
Когда master хост в vSphere HA не может связаться со slave хостом по сети управления, master использует Heartbeat Datastore  чтобы определить тип сбоя:
- выход из строяMaster не может получить сигналов доступности от хоста ни по сети управления, ни по сети хранилищ;
разделение сети. Master видит хосты через Heartbeat Datastores, но не видит хосты через сеть управления. В этом случае в каждом сегменте у нас получится два хоста Master;
изоляция хоста. Хост полностью выпадает из сети управления, не может пинговать Isolation Address, но видит хранилища (а значит не вышел из строя).

четверг, 1 февраля 2018 г.

PowerCLI. Использование API. Get-VIObjectByVIView.

Ранее, в статье PowerCLI. Использование Get-View. Часть 2. я упоминал командлет Get-VIObjectByVIView в контексте совместного использования командлетов Get-View и Get-VM. 

В данной статье я хочу рассказать про использование данного командлета немного подробнее. 

Напомню, что Get-VIObjectByVIView - это командлет, который конвертирует  vSphere View object в VIObject. 
VIObject - это объект PowerCLI (ВМ, Хост ESXi, датасторе и т.д.)

Но применение Get-VIObjectByVIView не ограничивается только  лишь случаями совместного использования командлетов Get-View и Get-VM.
Для начала немного теории.

В VMware vSphere имеется application programming interface (API), что переводится как программный интерфейс приложения
API (application programming interface) - это набор готовых классов, функций, процедур, структур и констант. Вся эта информация предоставляется самим приложением (или операционной системой). При этом пользователю не обязательно понимать, что это API технология обеспечивает взаимодействие модулей. Цель предоставленной информации – использование этих данных при взаимодействии с внешними программами.
В VMware PowerCLI есть два способа использования VMware vSphere API. 
1. Использование свойства ExtensionData, имеющееся у большинства объектов PowerCLI. Свойство ExtensionData является прямой ссылкой на vSphere API-объект, связанный с объектом PowerCLI.
2. Использование командлета GetView для извлечения объекта API vSphere, связанного с объектом PowerCLI.

Для лучшего понимания VMware vSphere API и Get-VIObjectByVIView рассмотрим пример получения информации о хранилищах, используемых для Heartbeat Datastore.
Примечание: Heartbeat Datastore служит для обработки сбоев в VMware HA. 

понедельник, 29 января 2018 г.

PowerCLI. Использование хеш таблиц (hash tables).

В прошлых статьях я рассказал как можно одной командой вывести значения, которые содержатся на разных уровнях вложенности. Например значения из Сonfig.tools и .Guest вывода командлета Get-View -ViewType VirtualMachine. Несомненно это очень удобно - вместо последовательного выполнения этих командлетов и выискивания глазами интересующих нас полей мы получаем все в одном месте, и при этом не видим ничего лишнего.

четверг, 25 января 2018 г.

PowerCLI. Использование Get-View. Часть 2.

Во второй части я рассмотрю различные варианты совместного использования Get-View и Get-VM, приведу пример как можно реализовать выполнения одной и тоже задачи с помощью этих командлетов, затрону вопросы их производительности.

Командлеты Get-View и Get-VM совершенно разные, т.е. их выходные данные несовместимы между собой. А имеются ли способы как-то "подружить" их? Ответ: Да, есть! Рассмотрим их.

Если мы выполним
$VM = get-view –viewtype VirtualMachine –filter @{“Name”=”DHCP”}
$VM | Start-VM
То получим ошибку.
Но если используем Get-VIObjectByVIView, 
$VM | Get-VIObjectByVIView | Start-VM
Команда успешно выполнится.