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. Если дойдут руки, я сделаю некий скрипт с аналитикой, который будет анализировать кластер (ы?) на предмет аномалий с этим массивом, а то вручную грустно смотреть на сотни путей…

Leave a Reply

Your email address will not be published. Required fields are marked *