Как определить, установлен ли EMC PowerPath на хосте ESX с помощью PowerCLI

TL; DR Как я могу использовать PowerCLI, чтобы определить, установлен ли EMC PowerPath на хосте ESX?

Я пытаюсь написать сценарий, который будет выполнять операцию маскирования хоста при перемещении LUN из одной группы хранения в другую. Это сделано для устранения ошибки All Paths Down, которая может возникнуть из-за состояния гонки в ESX 4.1. Шаги описаны в VMWare KB 1015084 и 1009449. Эти шаги написаны для использования из служебной консоли. Я хочу избежать сценариев активности SSH и вместо этого делать все это в Powershell / PowerCLI.

В нашей среде мы используем EMC PowerPath на большинстве - но не на всех - наших хостах. Это маскирование LUN ​​необходимо выполнять только на хостах, на которых установлен PowerPath, поэтому я пытаюсь протестировать каждый хост, чтобы определить это.

Я выдергивал волосы, пытаясь понять, как это сделать с помощью PowerCLI. При подключении к сервисной консоли ESX команда esxcfg-mpath --list-plugins покажет, установлен ли PowerPath. В графическом интерфейсе vCenter это можно определить по:

Select Host -> Configuration -> Storage Adapters -> Select Adapter -> View Devices -> Examine "Owner" column

Использование get-scsilun в PowerCLI возвращает объект, содержащий всю эту информацию кроме этого столбца "Владелец".

Я в тупике. Я надеялся, что объект get-esxcli будет иметь какие-то эквивалентные методы, может быть, в satp или nmp, но пока я ничего не могу найти.


person Formica    schedule 13.04.2012    source источник
comment
Вы также можете проверить связь с форумами сообщества PowerCLI: сообщества .vmware.com / сообщество / vmtn / server / vsphere /   -  person Andy Arismendi    schedule 13.04.2012
comment
Выполнено. Спасибо за указатель :)   -  person Formica    schedule 13.04.2012
comment
Кто-то на этом форуме направил меня по правильному пути. Ответ: $esxcli.corestorage.plugin.list()   -  person Formica    schedule 13.04.2012
comment
Люк Декенс :-) Загляните в его блог: lucd.info/tag/powercli   -  person Andy Arismendi    schedule 13.04.2012
comment
Кстати - вы должны быть в состоянии ответить на свой вопрос.   -  person Andy Arismendi    schedule 13.04.2012
comment
Я слишком новичок, чтобы делать это еще 5 часов. Тогда я обязательно это сделаю. И спасибо за ссылку!   -  person Formica    schedule 13.04.2012


Ответы (2)


Как было предложено, я отвечу на свой вопрос:

Ответ: $esxcli.corestorage.plugin.list() вернет список плагинов, установленных на хосте.

person Formica    schedule 26.04.2012

Чтобы получить эту информацию из PowerCLI 6.5, вы можете использовать следующее:

(Get-ESXCLI -VMHost <host>).Storage.Core.Plugin.List()
person Jason Taylor    schedule 02.01.2018