Встала необходимость организовать мониторинг исправной работы контроллеров семейства 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:
esxcli software vib install -v /vmfs/volumes/datastore1/500.04.V0.53-0003.vib
esxcli software vib list | grep -i lsi
Скрипт написан на языке программирования 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
Попробуем сымитировать сбой одного из HDD. Перегружаем сервер и заходим в WebBIOS контроллера. Выбираем один из жестких дисков: