The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

[Linux] Удалённое управление сервером через IPMI интерфейс (hardware watchdog linux monitoring crash ipmi)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: hardware, watchdog, linux, monitoring, crash, ipmi,  (найти похожие документы)
From: Dmitry A. Koptev <dimez@nm.ru.> Date: Mon, 17 Oct 2005 18:21:07 +0000 (UTC) Subject: [Linux] Удалённое управление сервером через IPMI интерфейс Оригинал: http://dimez.nm.ru/docs/bmc/ У многих в обслуживании имеются сервера с материнскими платами Intel. К сожалению, из-за различных проблем либо с оборудованием, либо с недостаточно стабильнымии драйверами, бывает, что сервера "повисают". С такими случаями поможет справиться аппаратный watchdog(к примеру), но это отдельная железка. К сожалению, не встречался с серверными вариантами плат фирм, отличных от Intel, поэтому буду говорить только про них. В достаточно современных материнских платах от Intel есть встроенная возможность удалённо управлять сервером, т.к. там есть BMC(или miniBMC). BMC (по терминологии INTEL) Baseboard Management Controller, miniBMC, соответственно - урезанный вариант BMC(превращается в полноценный MC (Management Controller) путём установки IMM (Intel Management Module) Для того, чтобы его(BMC/miniBMC) задействовать, нужно сначала его сконфигурировать. Для этого нужно: * Иметь в ядре поддержку IPMI(я собрал модулями) * Я ещё собрал поддержку I2C для lm_sensors (тоже модулями) * OpenIPMI - набор библиотек и утилит, позволяет локальной машине взаимодействовать с BMC. * ipmitool - CLI, позволяющая взаимодействовать с BMC с Linux-машины, поддерживает "общение" через LAN и через OpenIPMI-интерфейс. * Для Slackware-10.2 вы можете взять собранные пакеты тут Итак, приступим. Берём патчи для ядра с сайта OpenIPMI На текущий момент(для ядра 2.6.13, подходит и для 2.6.13.4) это: linux-i2c-2.6.13-v36.1-i801.diff linux-i2c-2.6.13-v36.1.diff linux-ipmi-2.6.13-v36.1-2.base.diff linux-ipmi-2.6.13-v36.1-2.emu.diff linux-ipmi-2.6.13-v36.1-2.smb.diff linux-nmi-2.6.13-v36.1.diff (заодно собрал поддержку [[ http://www.syskonnect.de/syskonnect/support/driver/htm/sk9elin.htm sk98lin]]) Накладываем последовательно вышеуказанные патчи, собираем ядро с поддержкой IPMI и I2C(модулями), перегружаемся. Создаём устройство ipmi0, если его нет: # mknod /dev/ipmi0 c `cat /proc/devices | grep ipmidev |cut -d " " -f 1` 0 подгружаем модули: * I2C - i2c-i801, eeprom(у меня так) - необязательно * IPMI a) ipmi_si, ipmi_devintf(для полноценного BMC) b) ipmi_devintf, ipmi_smb(для miniBMC) Собираем OpenIPMI и ipmitool, а дальше начинается самое интересное - конфигурация BMC ;) Для начала, после корректной вышеописанной настройки, вылолните команду: # ipmitool -I open chassis status System Power : on Power Overload : false Power Interlock : inactive Main Power Fault : false Power Control Fault : false Power Restore Policy : always-off Last Power Event : Chassis Intrusion : inactive Front-Panel Lockout : inactive Drive Fault : false Cooling/Fan Fault : false Если вывод команды у вас примерно совпадает с моим, вы можете попробовать дальше: # ipmitool -I open sdr list # ipmitool -I open sel list т.е. всё отлично. На данном этапе вы можете локально управлять сервером, но локально не интересно, поэтому настраиваем дальше: Настроим сетевую карточку. Для этого можно использовать скрипт /usr/share/ipmitool/bmclanconf, идущий с ipmitool. В моём случае его надо было подправить, в самом низу строчку привести к такому виду: ipmitool_lan_set "auth callback,user,operator,admin" "md5,password" т.к. md2 у меня не поддерживается, что можно увидеть по строчке "Auth Type Support": # ipmitool lan print 1 Set in Progress : Set In Progress Auth Type Support : NONE MD5 PASSWORD ... Затем настраиваем карту: # /usr/share/ipmitool/bmclanconf -c 1 -i eth0 Set in Progress : Set In Progress Auth Type Support : NONE MD5 PASSWORD Auth Type Enable : Callback : MD5 PASSWORD : User : MD5 PASSWORD : Operator : MD5 PASSWORD : Admin : MD5 PASSWORD IP Address Source : Static Address IP Address : <your ip here> Subnet Mask : <your mask here> MAC Address : <your MAC here> SNMP Community String : public IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10 BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Enabled Gratituous ARP Intrvl : 8.0 seconds Default Gateway IP : <your gw MAC here> Default Gateway MAC : 00:13:c3:35:ee:ff Backup Gateway IP : 0.0.0.0 Backup Gateway MAC : 00:00:00:00:00:00 Cipher Suite Priv Max : Not Available затем надо настроить пароль на управление BMC через LAN # ipmitool -I open lan set 1 password <your password here> Затем пробуем с удалённой машины с Linux: $ ipmitool -I lan -H <your ip here> chassis status Password: <your password here> System Power : on Power Overload : false Power Interlock : inactive Main Power Fault : false Power Control Fault : false Power Restore Policy : always-off Last Power Event : Chassis Intrusion : inactive Front-Panel Lockout : inactive Drive Fault : false Cooling/Fan Fault : false Получилось! :) Теперь вы можете удалённо включать/выключать/перезагружать(soft и hard reset)/мониторить сервер! Используемая документация: * IPMI HOWTO for Debian GNU/Linux on the Intel SR2300 (Server Board SE7501WV2) http://buttersideup.com/docs/howto/IPMI_on_Debian.html * Сайт и рассылка openIPMI http://openipmi.sourceforge.net/ * Сайт и рассылка ipmitool http://ipmitool.sourceforge.net/ P.S. Я рассмотрел примитивное управление сервером, т.к. я настраивал в короткое время и miniBMC. Нормальный BMC(не урезанный) поддерживает также SOL(Serial Over LAN), что описано в вышеперечисленной документации. © 2005 Dmitry A. Koptev <dimez@nm.ru.>

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, prezik (?), 23:18, 27/01/2009 [ответить]  
  • +/
    И ни слова про watchdog :( а как начал хорошо.

    Неплохо так же добавить, что вместо "1" в командах типа ipmitool lan print 1 и bmclanconf -c 1 - это канал, который бывает так же и друнгим, и перед тем, как настраитвать, его надо найти. например, перебирая номера у команды ipmitool lan print 1, и выискивая тот, который признается, что он в самом деле LAN.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру