Что-то я обеспокоился состоянием дисков своего домашнего сервера HPE ProLiant MicroServer Gen10. У этого сервера есть одна маленькая, но очень большая проблема — мониторинг состояния дисков и дисковых массивов.
Сразу добавлю, проблему мониторинга в этой статье мы решим.
Фотообзор HPE ProLiant MicroServer Gen10
Поиск в Интернете и на официальном форуме HPE ничего не дал. Люди обеспокоены, но никто не может найти решения. Как-то давно находил статью, где умелец сделал из сервера домашний NAS и в Linux умудрялся вытащить какие-то данные о температуре процессора. Меня сейчас больше всего волнует определение состояния дисков. Я на сервер установил гипервизор ESXi 7, здесь с мониторингом в принципе всё сложно. Если выйдет из строя один диск, то я об этом никак не узнаю.
HPE ProLiant MicroServer Gen10 — установка ESXi 6.7
HPE ProLiant MicroServer Gen10 — обновление ESXi 7.0.2
В сервер можно установить четыре 3.5' диска. Диски можно объединять в RAID массивы, для этого в сервере имеется встроенный контроллер "Marvell 88SE9230 PCIe to SATA 6Gb/s Controller embedded". И очень здорово, что контроллер относится к аппаратным, что позволяет использовать RAID массивы в гипервизоре ESXi.
При желании можно добавить пятый 2.5' диск. Я его использую в качестве системного диска для ESXi 7.
HPE ProLiant MicroServer Gen10 — пятый SATA диск
У меня такая конфигурация:
- В пятом SATA слоте установлен 2.5' диск с ос ESXi 7.
- В первом и втором SATA слоте находятся диски, которые объединены в RAID1 на контроллере Marvell. Массив используется как Storage в гипервизоре.
Утилиты для работы с контроллером Marvell
Windows:
Marvell Storage Utility (MSU) for HPE ProLiant MicroServer Gen10 Server
Linux:
Marvell Storage Utility (MSU) for HPE ProLiant MicroServer Gen10 Server with Linux
BIOS\UEFi:
HPE ProLiant MicroServer Gen10 — настройка RAID
Раньше была отдельная утилита "Marvell BIOS Utility (UEFI) HPE MicroServer Gen10 Server", но теперь она недоступна для скачивания. Нужно обновить BIOS до последней версии, тогда появится возможность настройка RAID в Built-in EFI Shell.
VMware ESXi:
Официально нет, будем исправлять.
ESXi web
Для начала посмотрим, что можно узнать о дисках в ESXi без дополнительных средств.
В web интерфейсе в хранилище виден Local Marvell Processor.
В PCI устройствах отображается контроллер.
HBA адаптеры.
Виден пятый SATA диск. Виден объём. Из названия можно вычленить модель и серийный номер.
Виден RAID1. Отображается общий объём.
Никакой информации о дисках в RAID1 нет.
ESXi shell
Заходим на сервер по SSH.
Здесь можно узнать немного больше информации. Выведем информацию об устройствах хранения:
esxcli storage core device list
Вот наш чип. Для мониторинга дисков информация бесполезна.
Пятый SATA диск.
RAID массив.
Получим SMART пятого SATA диска:
esxcli storage core device smart get -d t10.ATA_____WDC_WD10JFCX2D68N6GN0_________________________WD2DWXL1EB51Z2HW
Ну вот уже что-то. Видно состояние диска, количество ошибок и температуру диска.
Это максимум того, что я добился с текущими инструментами оболочки ESXi. Доступен только мониторинг пятого SATA диска. Т.е. тех дисков, которые не объединены в RAID массив. Но этого мало.
Следующая идея — найти какой-нибудь VIB пакет, который установит утилиту для работы с контроллером Marvell.
ESXi Marvell (mvcli)
Я не буду рассказывать как я искал утилиту под ESXi для работы с контроллерами Marvell. Но я её нашёл. Утилита называется mvcli.
Помог нам Dell:
https://www.dell.com/support/home/ru-ru/drivers/driversdetails?driverid=j1r56
Нам нужен пакет sas-raid_boss-s1_cli-5.0.13.1094-A01.zip. На всякий случай качнул его к себе:
sas-raid_boss-s1_cli-5.0.13.1094-A01.zip
Качаем и распаковываем.
Нас интересует файл sas-raid_boss-s1_cli-5.0.13.1094-A01.vib. Закидываем его на наш гипервизор в /tmp:
Устанавливаем:
esxcli software vib install -v /tmp/sas-raid_boss-s1_cli-5.0.13.1094-A01.vib
После установки утилиту можно найти в /opt/boss-s1.
Вот теперь попробуем получить все данные, которые нам нужны.
Помощь:
/opt/boss-s1/mvcli help
Детальный help:
/opt/boss-s1/mvcli help info
/opt/boss-s1/mvcli help get
Информация о контроллере:
/opt/boss-s1/mvcli info -o hba
Информация о массивах:
/opt/boss-s1/mvcli info -o vd
Информация о дисках массивов:
/opt/boss-s1/mvcli info -o pd
SMART дисков:
/opt/boss-s1/mvcli smart -p 0
/opt/boss-s1/mvcli smart -p 1
События контроллера (у меня там пусто):
/opt/boss-s1/mvcli event
Даже прошивку можно обновить при желании (пока нет желания):
/opt/boss-s1/mvcli flash -a update -f <image binary file> -t raw
Заключение
Нам удалось добраться до SMART всех дисков, получить данные об их состоянии и температуре. Кстати, температура дисков в основной секции всего 25 - 26 °C, совсем не греются. Пятый диск показывает температуру 33 °C, но это тоже отличный показатель.
Дополнительно мы получили состояние RAID массива:
stаtus: functional
В дальнейшем получение этих данных было бы неплохо автоматизировать, настроить уведомления, график температур. Но это уже совсем другая история и другая задача.