PowerShell, SCSILunPath и Datastore Name

Обратился ко мне за советом постоянный читатель: помоги, говорит, с моим iSCSI-массивом NetApp. Пытаюсь вывести Get-SCSILunPath, так там ни имени датастора, ни IP-адреса «таргета» в SanId нет 🙁

Посмотрел — и действительно так: в отличие, например, от Huawei, NetApp не выводит IP-адрес IQN-Target в выводе атрибутов Get-SCSILunPath. Да и привязать CanonicalName вида naa.thebeststoragearray к датастору с первого взгляда не удается…

Дальше я погуглил и «вспомнил» про наличие крутого атрибута ExtensionData, в котором смог найти всю интересующую нас информацию и в Get-Datastore, и в Get-ScsiLunPath!
Тут выложен скрипт get-scsilunpath.ps1, позволяющий вывести список путей.

Для сопоставления SCSICanonicalName и имени датастора использовалась хэш-таблица, так как она оптимизирована для быстрого поиска значения по ключу (ID LUN’a).

После запуска скрипта:
get-scsilunpath.ps1 -Esx hostname -Storage StorageId
вы получаете список путей к хранилищам с этого массива, с указанием адреса IQN-таргета (если это iSCSI), статуса и названия хранилища.

P.S. Если дойдут руки, я сделаю некий скрипт с аналитикой, который будет анализировать кластер (ы?) на предмет аномалий с этим массивом, а то вручную грустно смотреть на сотни путей…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *