Как определить, установлен ли аппаратный модуль RMM4
Я использую дистрибутив Debian с ipmiutil на одном из моих удаленных серверов, но я не уверен, установлено ли на этом сервере оборудование RMM4(Remote Management Module). В настоящее время у меня нет информации об оборудовании и его интерфейсах. Можно ли узнать, установлен ли модуль Intel RMM4 на этом сервере из командной строки ОС Debian?
4 ответа
Я предполагаю, что если на локальном хосте "ipmitool lan print X", где X от 1 до 3, все работает, у вас есть модуль RMM поверх стандартного mobo bmc. В противном случае вы видите только канал 1.
Вы можете использовать необработанный запрос, чтобы получить необходимую информацию:
# ipmitool raw 0x30 0x71 0x00 0x01 0x00 0x00
11 02
"02" в ответе означает RMM4, а "01" будет указывать на наличие модуля RMM3. Что касается значимости байтов в необработанном запросе, "0x30" означает "Общее приложение Intel", "0x71" - это команда "Получить расширенную конфигурацию поддержки", "0x00" означает "Получить параметр", "0x01" означает тест для присутствие, в то время как последние два байта не используются.
Использование ipmitool info
получить информацию об установленном BMC, который является частью RMM4. (Вам также может понадобиться modprobe bmc
первый.)
Если он не возвращает информации, то такой аппаратный модуль не установлен.
Мы недавно столкнулись с этой проблемой. Я придумал решение, обойдя веб-интерфейс BMC.
Некоторая предустановка:
Назначьте IPMI BMC IP-адрес / маску сети через ipmitool.
Назначьте пользователя /pw и включите пользователя через ipmitool.
- По сути, вам нужно настроить BMC для входа в систему через графический интерфейс.
Как только это будет сделано... Используйте этот скрипт ниже... Отредактируйте переменные bmcUser && bmcPassword для любого имени пользователя и пароля, которые вы использовали... и затем запустите скрипт.
#!/bin/bash
bmcIP=$(ipmitool lan print | grep "IP Address : " | awk '{print $4}')
bmcUser="ipmiUserName"
bmcPassword="bmcPW"
# CHECK TO SEE IF BMC IP is UP
checkIP=$(ping -c1 -t1 $bmcIP && echo "up" || echo "down" )
if [[ "$checkIP" == *"up"* ]]; then
sessionID=$(curl "http://${bmcIP}/rpc/WEBSES/create.asp" -H "Origin: http://${bmcIP}" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: en-US,en;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36" -H "Content-type: application/x-www-form-urlencoded" -H "Accept: */*" -H "Referer: http://${bmcIP}/page/login.html" -H "Connection: keep-alive" --data "WEBVAR_USERNAME=${bmcUser}&WEBVAR_PASSWORD=${bmcPassword}" --compressed 2>/dev/null | grep SESSION_COOKIE | awk -F\' '{print $4}')
curl "http://${bmcIP}/rpc/getrmm3status.asp" -H "Accept-Encoding: gzip, deflate, sdch" -H "Accept-Language: en-US,en;q=0.8" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "Cache-Control: max-age=0" -H "Cookie: lang=EN; SessionCookie=${sessionID}; Username=${bmcUser}; lItem=0; test=1" -H "Connection: keep-alive" --compressed 2>/dev/null| grep "'STATE' : 1" > /dev/null && echo -e "RMM Installed\n\n" || echo -e "RMM NOT-Installed\n\n"
else
echo -e "BMC IP is not accessible\n\n"
fi