Мониторинг жестких дисков сервера HP ProLiant DL380 G7

отредактировано Сентябрь 2017 Раздел: Обсуждение 10-Strike LANState (Pro)
PriCOOLisT
Отправлено: 10.09.15 12:59

Может кому пригодится.

Имеем старенький, но боевой сервер HP, с 6 винтами на борту собранными в 5ый раид.
В качестве системы мониторинга используется LanState Pro 7.2 на отдельном компе, с GSM модемом воткнутым в усб порт для отправки смсок.
Задача: мониторить состояние винтов средствами Lanstate Pro, и при выходе из строя хоть одного винта оповестить смской.

Этот сервер имеет ILO v.3. В документации черным по белому написано, что мониторинг протоколом SNMP он не поддерживает. А жаль. :( ILO v.4 умеет делать, достаточно найти OID каждого винта и настроить мониторинг.
На сервере установлен Windows Server 2012 и HP System Tools скачанный с родного hp.com
Через графический интерфейс HP Smart Storage Administrator можно смотреть, что твориться с винтами, но как Lanstate научить это делать?
Погуглив пару дней документацию по HP Smart Storage Administrator, я выяснил, что помимо гуишного интерфейса, есть ещё утилита hpssacli.exe позволяющая с командной строки настраивать раид массив.
С помощью неё можно и отслеживать состояние жестких дисков: OK - работает, Failed - не пашет, Rebilding - перестраивается.
По умолчанию она лежит C:\Program Files\HP\hpssacli\bin\hpssacli.exe
Выясняем скока у нас винтов в сервере и куда они воткнуты: hpssacli.exe ctrl slot=0 pd all show
На экран выведется инфа о винтах. В моем случае 6 штук.
Выясняем статус конкретного винта, например 1го: hpssacli.exe ctrl slot=0 pd 1I:1:1 show status
И затем всех остальных. Для удобства я создал файл Hdd_Status.bat со следующим содержимым:
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 1I:1:1 show status >"C:\Program Files\HP\hpssacli\bin\Hdd1status.txt"
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 1I:1:2 show status >"C:\Program Files\HP\hpssacli\bin\Hdd2status.txt"
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 1I:1:3 show status >"C:\Program Files\HP\hpssacli\bin\Hdd3status.txt"
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 2I:1:5 show status >"C:\Program Files\HP\hpssacli\bin\Hdd5status.txt"
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 2I:1:6 show status >"C:\Program Files\HP\hpssacli\bin\Hdd6status.txt"
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" ctrl slot=0 pd 2I:1:7 show status >"C:\Program Files\HP\hpssacli\bin\Hdd7status.txt"

При запуске Hdd_status.bat считывает состояние винта и результат записывает в соответствующий файл, например Hdd1status.txt со следующим содержимым:
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 146 GB): OK
Теперь этот Hdd_status.bat добавляю в "Планировщик задач" с параметрами запуска каждый день, и интервалом 15 минут. Для мониторинга винтов вполне достаточно.

В Lanstate Pro, в настройках сервера HP добавляю проверку "Существования файла" проверка прошла если существует файл, указываю путь до него "\\...\Program Files\HP\hpssacli\bin\Hdd1status.txt, указываю галочку "Файл содержит строку: physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 146 GB): OK", кол-во попыток, отправить смску на номер "Выдать сообщение, если проверка не прошла", с текстом "Отвалился винт 1 на сервере ip_адрес". Сохраняю.
И затем также для остальных винтов.

Проверяю: иду к серверу HP, выдергиваю 6ой винт. Жду, когда сработает Hdd_status.bat из "Планировщика задач", заглядываю в файл Hdd6status.txt и вижу, что строка изменилась на:
physicaldrive 2I:1:6 (port 1I:box 1:bay 1, 146 GB): Failed

Через несколько минут пришла смска: "Отвалился винт 6 на сервере ip_adress. Усё работает! :)

З.Ы. Изврат вообщем-то, но работает 100%. :) Может у кого какие другие идеи и варианты?

Комментарии

  • отредактировано Сентябрь 2017
    Интересный метод, спасибо, сохраним для истории :)

    Что касается других методов: а что на счёт S.M.A.R.T.? Мы весной запустили новый продукт - "Мониторинг Сети Pro", который может с помощью агента считывать показатели надежности дисков S.M.A.R.T. Такой метод подошел бы?
  • Заюзал софтину "Мониторинг Сети Pro" - СУПЕР! Весьма приятсвенно! И службу добавили! И веб интерфейс шикарный!
    Но, к сожалению опрос S.M.A.R.T. с серверов Hp Proliant DL380p Gen8 и Asus RS300-E7 не прошёл. :( Ошибка запроса данный: GetVersionSMART error: Неверный дескриптор. (винты то у меня в RAID массиве)
    На серверах Windows Server 2012 R2 x64. Установка "Мониторинг Сети Pro" на них прошла без проблем.
  • Хм, а если попробовать получить данные SMART через какую-нибудь другую программу? Speedfan умеет, например. Чтобы понять, это проблема программы или системы.

    PS. Да, на web мы затратили много времени и стараний, но нужно еще столько же, чтобы довести до того состояния, которого нам хотелось бы :)
  • Отписал в Л.С.
  • Зачем такие трудности? Есть прекрасная утилита HP SIM, которая расширяет штатный виндовый агент, и позволяет получать полные данные о состоянии рейда, температуры, кулеров, и прочее. Мибы также имеются. Настроили не один десяток серверов, начиная с 360, заканчивая новыми 120-180 (HP SIM для них отличается)
Войдите или Зарегистрируйтесь чтобы комментировать.