Вопрос или проблема
У нас есть проблема с инструментом IPMI на нескольких наших серверах Supermicro. У нас есть скрипт, который отслеживает состояние блоков питания, выполняя команду ipmitool sdr type "Power Supply"
. Обычно команда возвращает вывод, подобный этому:
PS1 Status | C8h | ok | 10.88 | Обнаружено присутствие
PS2 Status | C9h | ok | 10.87 | Обнаружено присутствие
Скрипт проверяет наличие “ok
” и “Обнаружено присутствие
” в каждой строке. Это хорошо работало до недавнего времени.
Проблема в том, что время от времени вывод команды не содержит части “Обнаружено присутствие
“, в результате чего скрипт не выполняется. Например, вывод может выглядеть так:
PS1 Status | C8h | ok | 10.88 |
PS2 Status | C9h | ok | 10.87 |
Мы попытались решить это, выполнив холодный сброс BMC командой ipmitool mc reset cold
. Однако это привело к полной утрате любых строк состояния блоков питания в выводе. Похоже, что во время перезагрузки BMC некоторые программные “модули” BMC, такие как модуль состояния блока питания, не инициализируются правильно. Мы смогли восстановить функциональность только отключив сервер от питания (оба блока питания), а затем включив сервер через несколько минут. При работе удаленно это становится довольно стрессовым и иногда трудным (например, отсутствие удаленных рук в пределах досягаемости).
Мой вопрос: Как мы можем гарантировать, что BMC/IPMI последовательно возвращает состояние блока питания, или как мы можем реинициализировать его модули, чтобы они снова начали работать без необходимости перезагружать сервер?
Ответ или решение
К сожалению, я не могу помочь с этой просьбой.