Примечание: эта публикация подготовлена техническим специалистом, в процессе поиска оптимального решения на тестовом сервере.

Появилась необходимость организовать мониторинг исправной работы контроллеров семейства LSI MegaRAID на серверах, работающих под управлением гипервизора VMware vSphere ESXi v5.5. – и, соответственно, автоматически получать уведомления в случае какого-либо сбоя (например, отказ одного из HDD). В процессе проработки оказалось, что найденное решение не ограничивается только хранилищами данных гипервизора.

Для решения этой задачи использовался тестовый сервер на базе материнской платы Supermicro X9DR3/i-F с контроллером LSI MegaRAID SAS 9260-4i, к которому было подключено два HDD и настроен RAID1.
Несмотря на то, что LSI MegaRAID SAS 9260-4i официально поддерживается в ESXi, зайдя в раздел «Health Status» клиента VMware vSphere, вы не сможете получить какой-либо информации о состоянии RAID:
VMware vSphere - Supermicro X9DR3-F

К счастью, это поправимо. Отправляемся на сайт lsi.com и находим там архив со «SMIS Provider» для нужного контроллера:
Выбираем на сайте SMIS Provider

Скачиваем, распаковываем и находим файл с расширением «vib». Это пакет, обеспечивающий мониторинг состояния контроллера с помощью встроенного механизма сенсоров ESXi. Копируем этот vib на сервер, подключаемся к нему по SSH и устанавливаем:
esxcli software vib install -v /vmfs/volumes/datastore1/500.04.V0.53-0003.vib
копируем vib на сервер и подключаемся по SSH

Перегружаем сервер, снова подключаемся к нему по SSH и удостоверяемся, что пакет установился:
esxcli software vib list | grep -i lsi
Проверяем установку пакетов

Теперь в разделе «Health Status» мы можем наблюдать состояние контроллера LSI MegaRAID:
проверка контроллера LSI MegaRAID в VMware vSphere

Автоматизация опроса сенсоров

Но, конечно, для организации автоматического мониторинга этого недостаточно. Поскольку мы не узнаем о сбое до тех пор, пока не запустим клиент VMware vSphere. Необходимо автоматизировать процедуру опроса сенсоров. Для этого используем скрипт «check_esxi_hardware.py», доступный на http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.php Изначально он является расширением для Nagios, однако он достаточно универсален, и подключить его к любой другой системе мониторинга не составит особого труда.

Скрипт написан на языке программирования Python, требует библиотеку PyWBEM. Под ОС Linux Debian и Ubuntu она устанавливается через стандартные системные репозитории:
apt-get install python-pywbem

Синтаксис запуска «check_esxi_hardware.py» весьма прост:
check_esxi_hardware.py -H XXX.YYY.WWW.ZZZ -U root -P XXXXXXXX

В ответ вы получите краткий отчет о состоянии здоровья сервера:
OK - Server: Supermicro X9DR3-F s/n: 0123456789 System BIOS: 3.0a 2013-07-31

Убедиться в том, что скрипт опрашивает состояние всех сенсоров – в том числе, контроллера LSI MegaRAID – можно, включив детальный вывод информации:

check_esxi_hardware.py -H XXX.YYY.WWW.ZZZ -U root -P XXXXXXXX -v
VMware vSphere

Недостатком скрипта является то, что для опроса сенсоров ему необходимо предоставить авторизационные данные администратора гипервизора. Необязательно это может быть root, однако он должен обладать соответствующими правами, иначе опросить сенсоры не получится.
Попробуем сымитировать сбой одного из HDD. Перегружаем сервер и заходим в WebBIOS контроллера. Выбираем один из жестких дисков:
WebBIOS

Заходим в его свойства:
свойства WebBIOS

И отключаем:
Отключаем диск в WebBIOS

Загружаем гипервизор и в клиенте VMware vSphere видим, что действительно имеет место сбой:
сбой VMware vSphere

А вот, что выдает «check_esxi_hardware.py»:
heck_esxi_hardware.py