Прошивка bmc что это

Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Всем привет, продолжаем изучать серверное оборудование и его функциональные возможности. Не так давно я вам рассказывал про порты управления сервером, которые нужны, чтобы вы могли удаленно устанавливать операционную систему или включать сервер, если вдруг он завис на синем экране или вообще выключен. Но в обзорной статье я не рассказывал про оборудование компании Intel, так как сам больше предпочитаю IBM или HP, но дареному коню в зубы не смотрят, сегодня расскажу, как настроить bmc порт у intel S5520UR. BMC это порт управления на основе IPMI.

Что такое bmc intel management port

Итак bmc intel management port > это порт управления на основе IPMI технологии, некий аналог ilo hp, и с менее разнообразным функционалом. Выглядит BMC порт у Intel подобным образом. Очень часто он выделяется зеленым цветом, но не везде, так, что если вдруг у вас он обезличенный, то это нормально, тоже.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Вот как выглядит сервер intel S5520UR. Если вы приглядитесь повнимательнее, то у него нет кнопок включения или перезагрузки и все управление, как раз осуществляется за счет bmc порта.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Как настроить intel bmc порт

При включении intel S5520UR запускает автозапуск, и вы видите знакомое всем приветственное окно с логотипом компании, для попадания в биос нажмите клавишу F2.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Переходим в BIOS в пункт меню Server Management > BMC LAN Configuration, именно он отвечает за последующую настройку.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Попав в Server Management вы в поле IP address увидите полученный от DHCP сервера сетевой адрес, в моем случае это 192.168.5.21. По этому ip адресу вы будите заходить в браузере веб-интерфейс. Чуть ниже вы увидите имя вашего сервера (host name), у меня это rmm_ex01. Очень важный вопрос, это вопрос о безопасности. Убедитесь, что у вас учетная запись anonymous в состоянии Disable (выключена), так как зная ее стандартный пароль можно взломать и очень сильно навредить серверу и службам, работающим на нем.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

У данной прошивки BMC есть возможность предоставить доступ для управления сервером, через порт управления для 5 пользователей, и два из них системные. Так как мы выключили с вами учетную запись anonymous, то настроим пароль для root,

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Щелкаем по User password и задаем два раза, один и тот же пароль.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Еще сразу хочу вам посоветовать включить Java консоль управления, называется она у Intel BMC порта Console Redirection, переходим в этот пункт BIOS.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

И ставим у Console Redirection состояние Enable.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Открываем браузер и пробуем залогиниться. Далее мы более детально разберем основные настройки BMC порта, вы сами увидите его удобства.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Настройка intel remote management module 3

И так у меня есть сервер intel S5520UR, давайте теперь пробежимся по основным настройкам remote management module. Самым первым, что вы увидите это вкладка System Information, тут очень много полезной информации:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Переходим на вкладку FRU Information, я вам уже рассказывал про fru номера у IBM, если кто не знает эти номера очень часто спрашивают представители технической поддержки вендора. Так же вы тут обнаружите все серийные номера.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Далее переходим на вкладку Server Health, в ней вы увидите датчики проверки всевозможных компонентов сервера intel s5520ur, их кстати можно по SNMP мониторить.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Чуть ниже пункт Event Log, в котором записываются все события, происходящие с сервером.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Переходим в пункт Configuration, первым пунктом тут будет Network. В нем можно изменить ip адрес.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

В пункте Users вы увидите, уже не 5 слотов для пользователей, а 15 и сможете тут их администрировать, выдавая нужные права и задавая пароли.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

В пункте Login вы сможете задать некоторые политики безопасности для сервера s5520ur, а именно:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Далее самое удобное это LDAP, это возможность настроить аутентификацию сервера через контроллер домена Active Directory. Все, что от вас потребуется заполнить поля.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Remote Session позволяет шифровать трафике при удаленном подключении, еще больше будет безопасности, но и ресурсов будет тратиться побольше.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Очень полезный пункт это Keyboard Macros, нужно это для того, чтобы вы заранее задали комбинации клавиш, для KVM консоли.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

И переходим к последним пунктам Remote Control, тут в параметре Console Redirection вы сможете запускать Java KVM окно и видеть все, что происходит на экране сервера, будто вы работаете за ним физически.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Ну и естественно удаленное управление включением и выключением сервера, BMC у intel S5520UR умеет все это делать, через пункт Server Power Control.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Как видите настроить BMC порт у серверов Intel очень просто, а дальнейшее управление через remote management module 3, вызовет только положительные эмоции, функционала конечно меньше чем у других вендоров, но администрировать пойдет.

Источник

Supermicro — прошиваем IPMI (Redfish, BMC) по сети в Windows или Linux

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Будем обновлять прошивку IPMI (Redfish, BMC) сервера Supermicro. На этот раз сделаем это не через Web интерфейс, а по сети. Работать будем в Windows 10 с помощью подсистемы Linux, поэтому, инструкция также подходит для Linux-машин.

Причина выбора данного способа прошивки проста. Таким способом мы можем не только установить прошивку, но и снять дамп текущей. Это мне нужно для того, чтобы откатиться обратно на заводские настройки, если после прошивки что-то пойдёт не так.

Ссылки

Тестовый стенд

Обновлять будем IPMI у сервера Supermicro SYS-1029U-E1CR4, текущая (заводская) версия прошивки IPMI — 1.69.

Работаю с рабочей станции с ОС Windows 10 (64 bit), соединённой с сервером по сети.

IP адрес сервера 10.25.51.11.

Прошивка

Заходим на страничку сервера:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Переходим по ссылке IPMI.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Видим, что появилась новая прошивка R1.71.6. Имеется примечание:

Please update to the latest ASPEED VGA driver in your OS, before updating the IPMI firmware 1.71.6

В сервере Supermicro SYS-1029U-E1CR4 стоит материнская плата X11DPU с чипсетом Aspeed AST2500 BMC. На сайте https://www.aspeedtech.com/support.php имеются драйвера для Windows/Linux/FreeBSD/Solaris. У меня же планируется установка гипервизора ESXi. И на момент работ мне было непонятно, придётся откатываться или нет. Заводской версии IPMI у меня нет, поэтому, перед началом работ снимем дамп текущей заводской прошивки.

Забегая вперед, скажу, что инженер Aspeedtech ответил на мой вопрос по поводу драйверов к ОС ESXi:
«No need to update drier on ESXi 6.5. There is in-box “vesa” driver already.»
Действительно, откатывать прошивку не пришлось и ESXi удалось установить без проблем с версией IPMI — R1.71.6.
Инженер Supermicro также не против выслать нужную версию прошивки к серверу, при условии фиксации проблемы и предоставления скриншота.

Скачиваем архив SMT_X11AST2500_171_6.zip, распаковываем.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Внутри нам понадобится файл прошивки SMT_X11AST2500_171_6.bin и скрипт AlUpdate.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Я все операции провожу под рутом.

Переходим в директорию со скриптом AlUpdate:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Справка по скрипту:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Дампим текущую прошивку сервера:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Можно сделать дамп конфигурации IPMI:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Кладём в папку со скриптом файл новой прошивки.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Подключите питание сервера через ИБП. Накатываем новую прошивку:

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Процесс не быстрый.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Проверяем новую версию прошивки.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Версия прошивки IPMI обновилась.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Дополнительно у нас есть дамп заводской, предыдущей прошивки.

Источник

Обновление BIOS и BMC в сервере HP DL160 G6

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Зачастую, пользователи не придают значения обновлениям BIOS и тому подобных систем. Однако, переоценить важность таких процедур невозможно. В обновленных версиях ПО содержатся важные изменения, такие как обновления безопасности, поддержка нового hardware, исправление ошибок в работе, оптимизация скорости и удобства работы. Хотя, процедура обновления достаточно проста, мы пошагово объясним как провести обновление версии BIOS и версии BMC для сервера Hewlett-Packard DL160 G6.

Если вы верите нам, то можно сразу скачать нужный файл с нашего сайта ittelo.ru. Если не верите, то следуйте шагам дальше.

Раздел поддержки модели на официальном сайте HP
http://h20566.www2.hpe.com/hpsc/swd/public/readIndex?sp4ts.oid=3884345&swLangOid=8&swEnvOid=54
Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это
Тут уже выбран наш сервер HP Dl160 G6

Переходим к пунктам Выберите язык драйвера и ОС

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Язык драйвера выбираем Английский

Операционные системы в Английский выбираем OS Independent

После чего необходимо пролистать сайт немного вниз и увидим следующее содержимое

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нам нужен пункт в котором находится микропрограмма прошивки BIOS нашего сервера

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нажимаем загрузить, после загрузки получаем EXE файл SP63043, кликаем по нему 2 раза левой клавишей мыши, нажимаем Next

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Выбираем папку для распаковки файлов, по умолчанию нам предложено распаковать файлы в папку SWSetup\SP63043 на диске C

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Оставляем все как есть и нажимаем Next. Файлы успешно распакованы в ранее указанную директорию.

Теперь нам нужно пройти по указанному пути C:\SWSetup\SP63043, содержимое папки выглядит следующим образом

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Здесь необходимо перейти в папку

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Папка содержит в себе следующие файлы

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Далее вставляем в наш компьютер флешку и запускаем файл

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

После чего появляется окно

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нажимаем Start, после чего происходит запись нужных файлов на нашу флешку.

После записи файлов высветится окно в котором нужно нажать Ok и извлечь флешку из компьютера.

Далее берем флешку и вставляем ее в USB разъем нашего сервера.

Снова если вы верите нам, то можно сразу скачать нужный файл с нашего сайта ittelo.ru. Если не верите, то следуйте шагам дальше.
http://h20566.www2.hpe.com/hpsc/swd/public/readIndex?sp4ts.oid=3884345&swLangOid=8&swEnvOid=54
Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Переходим к пунктам Выберите язык драйвера и ОС

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Язык драйвера выбираем Английский

Операционные системы в Английский выбираем OS Independent

После чего необходимо пролистать сайт немного вниз и увидим следующее содержимое

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нам нужен пункт в котором находится микропрограмма прошивки BMC нашего сервера

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нажимаем загрузить, после загрузки получаем EXE файл SP62696, кликаем по нему 2 раза левой клавишей мыши, нажимаем Next

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Выбираем папку для распаковки файлов, по умолчанию нам предложено распаковать файлы в папку c:\SWSetup\SP62696 на диске C

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Оставляем все как есть и нажимаем Next. Файлы успешно распакованы в ранее указанную директорию.

Теперь нам нужно пройти по указанному пути C:\SWSetup\SP62696, содержимое папки выглядит следующим образом

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Здесь необходимо перейти в папку

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Папка содержит в себе следующие файлы

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Далее вставляем в наш компьютер флешку и запускаем файл

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

После чего появляется окно

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Нажимаем Start, после чего происходит запись нужных файлов на нашу флешку.

После записи файлов высветится окно в котором нужно нажать Ok и извлечь флешку из компьютера.

Далее берем флешку и вставляем ее в USB разъем нашего сервера.

После чего проделываем следующие шаги на самом сервере:

Источник

Взгляд изнутри на OpenBMC применительно к системам OpenPOWER

В одной из предыдущих статей Максим затронул аппаратную часть платы BMC (Baseboard Management Controller). Я хочу продолжить повествование и рассказать о нашем подходе к BMC и участии в проекте OpenBMC.

Для полноты истории придётся начать немного издалека и рассказать о назначении сервисных процессоров и роли BMC в работе сервера, затронуть протокол IPMI и программную часть. После этого кратко опишу, как BMC участвует в загрузке систем на POWER8. Закончу обзором проекта OpenBMC и нашим отношением к вопросу. Опытные в теме сервисных процессоров читатели могут сразу отмотать на нижние разделы.

Сервисные процессоры — что, зачем и как

Сервисный процессор — это отдельный специализированный контроллер, встраиваемый в сервер. Его чип может быть напаян на материнскую плату, расположен на отдельной карте или, к примеру, размещён в блейд-шасси для управления ресурсами всей системы в целом (и тогда это может называться уже SMC — System Management Controller). BMC — частный случай сервисного процессора для управления отдельным хостом, и дальше по тексту будем говорить только о них и использовать термин «сервисный процессор» только в значении «BMC». При этом, говоря «BMC», в целом имеем в виду как собственно чип, так и управляющую прошивку. В некоторых случаях отдельно будем указывать, что речь идёт о аппаратной либо программной части.

BMC запитан отдельно от основной системы, включается автоматически при подаче дежурного (standby) питания на сервер и работает, пока питание не отключится. Почти все сервисные процессоры умеют управлять питанием хоста, предоставлять доступ к консоли главной операционной системы через Serial Over LAN (SoL), считывать показания системных датчиков (скорость вентиляторов, напряжение на блоках питания и VRM, температура компонентов), следить за исправностью компонентов, хранить аппаратный лог ошибок (SEL). Многие предоставляют возможности удаленного KVM, виртуальных медиа (DVD, ISO), поддерживают различные протоколы out-of-band подключения (IPMI/RMCP, SSH, RedFish, RESTful, SMASH) и прочее.

Сейчас удалённоe управление повсеместно распространилось. Оно облегчает управление большим парком серверов, повышает доступность из-за сокращения времени простоя, и улучшает операционную эффективность датацентров. Как следствие, наличие широких возможностей удалённого менеджмента учитывается заказчиками при выборе поставщика аппаратной платформы.

Пользователями BMC в основном являются сисадмины для удалённого управления, восстановления после сбоев, сбора логов, установки ОС и т.д. Данными из сервисного процессора пользуется техподдержка. Для нее BMC часто является единственным источником информации при устранении сбоев и выявлении неисправных компонентов для замены.

В современной инфраструктуре BMC является не просто приятной дополнительной опцией удалённого управления сервера (хотя не ходить в серверную, где холодно, шумно, негде присесть и плохо ловит мобильный — это приятно). Во многих ситуациях это критический компонент инфраструктуры. Когда операционная система или приложение не отвечает или находится в непонятном состоянии, сервисный процессор является единственным источником информации и способом быстро восстановить работу.

Для подключения к сервисному процессору используют выделенный сетевой порт (out-of-band), или же BMC делит сетевой порт с основной системой (sideband). То есть один физический Ethernet-коннектор, но два независимых MAC и два IP-адреса. Для первоначальной настройки часто используют консольное RS-232 подключение.

Краткая справка

Исторически, программная часть BMC разрабатывалась вместе с аппаратной платформой сервера и теми же разработчиками. Как следствие, для каждой платформы ПО сервисного процессора было уникальным. У одного и того же вендора могло быть несколько вариантов прошивок BMC для разных линеек продуктов. Несмотря на распространение open source, прошивки BMC оставались долгое время исключительно проприетарными.

Обычно сервисный процессор основан на специализированных системах на кристалле (System-on-Chip, SoC), и стандартом де-факто описания требований к архитектуре аппаратной части является спецификация IPMI (Intelligent Platform Management Interface). Это достаточно старый стандарт, ещё в 1998 году группа компаний разработала первую спецификацию IPMI для стандартизации управления сервером.

IPMI предусматривает общий интерфейс сообщений для доступа ко всем управляемым компонентам в системе и описывает большой набор интерфейсов для разных типов операций — например, мониторинга температуры, напряжения, скорости вентиляторов, или получения доступа к консоли ОС. Также предусмотрены методы для управления питанием всего комплекса, получения аппаратных логов SEL (System Event Log), считывания данных сенсоров (SDR), реализации аппаратных watchdog’ов. IPMI предоставляет замену или абстракцию для отдельных методов доступа к сенсорам, таких как System Management Bus (SMBus) или Inter Integrated Circuit (I2C). В большинстве BMC используют проприетарный IPMI стек от небольшого числа вендоров.

Претензии к IPMI

К протоколу накопилось много претензий, в том числе в части безопасности при доступе по сети (IPMI over LAN). Периодически сеть сотрясают истории, подобные этой. Дело вот в чем — получив доступ к сервисному процессору, мы получаем полный контроль над сервером. Ничто не мешает перезагрузиться в recovery mode и поменять пароль для ‘root’-учётки. Единственным надёжным средством от подобной уязвимости является правило, что IPMI траффик (UDP порт 623) не должен выходить за пределы специально выделенной сети или VLAN. За активностью в управляющей сети должен быть строгий контроль.

Кроме проблем c безопасностью, аппаратный ландшафт датацентров сильно изменился за минувшие годы. Распространились виртуализация, дезагрегация компонентов, облака. В протокол IPMI сложно добавлять что-то новое. Чем больше серверов надо администрировать, тем выше значение автоматизации процедур. Появляются спецификации API, призванные заменить IPMI over LAN. Многие возлагают надежды на RedFish.

Этот API использует современные JSON и HTTPS протоколы и RESTful интерфейс для доступа к данным ‘out-of-band’. Цель разработки нового API — предложить отрасли единый стандарт, который подходил бы для гетерогенных датацентров. Причем и для одиночных сложных enterprise серверов и для облачных датацентров из множества commodity серверов. И этот API должен отвечать актуальным требованиям безопасности.

При этом на аппаратном уровне стандартом является поддержка IPMI, который участвует во всем рабочем цикле сервера, начиная от включения питания, загрузки операционной системы и заканчивая восстановлением после сбоя (зависания, паники, и т.д.).

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Роль BMC в жизни сервера. На этой картинке SMS означает «System Management Software». Картинка взята отсюда.

Роль BMC в загрузке системы OpenPOWER

В сердце аппаратной части протокола IPMI находится чип BMC. Он задействован в работе сервера, начиная с момента подачи питания и участвует в процессе начальной загрузки сервера на OpenPOWER. То есть BMC необходим для включения системы. В то же время перезагрузка/падение BMC не влияет на уже работающую операционную систему.

BMC и процессор POWER8 соединены шиной LPC (Low Pin Count). Эта шина предназначена для связи процессора с периферийными, относительно медленными устройствами. Она работает на частоте до 33 МГц. Через LPC центральный процессор (то есть микрокод Hostboot/OPAL) общается с IPMI-стеком BMC по BT ( стр. 104) интерфейсу. По этой же шине POWER8 получает загрузочный микрокод из PNOR (Processor NOR chip) через LPC → SPI (Serial Peripheral Interface) соединение.

Первый этап загрузки начинается, как только блоки питания включены в сеть и заканчивается на стадии, когда BMC полностью включился и готов начать загрузку всего хоста. Забегая вперёд, отмечу, что отсюда и далее описываю работу ПО BMC на OpenPOWER-системах вообще, но конкретно в нашем сервере эти функции выполняет OpenBMC. При подаче питания BMC начинает выполнять код из SPI флэш, загружает u-boot и затем ядро Linux. На данном этапе на BMC работает IPMI, шина LPC подготовлена для доступа хоста к PNOR памяти (монтируется через mtdblock). Cам чип POWER8 на данном этапе выключен. В этом состоянии можно подключиться к сетевому интерфейсу BMC и что-то поделать.

Когда система в режиме ‘standby’, и нажата кнопка включения питания, BMC инициирует продолжение загрузки и запускает на мастер-процессоре «маленький» контроллер SBE (Self Boot Engine) внутри POWER8 чипа на загрузку Hostboot микрокода из PNOR-флэша в L3 кэш мастер-процессора.

Микрокод Hostboot отвечает за инициализацию шин процессора, SDRAM памяти, остальных процессоров POWER8, OPAL (Open Power Abstraction Layer) и еще одного микроконтроллера встроенного в POWER8, называемого OCC (On Chip Controller).

Об этом контроллере расскажем чуть подробнее, так как для BMC он имеет особое значение. Когда Hostboot заканчивает свою работу, из PNOR флэша запускается следующий компонент микрокода Skiboot. Этот уровень синхронизирует процессоры, инициализирует шины PCIe, а также взаимодействует с BMC через IPMI (например, обновляет значение сенсора «FW Boot progress»). Skiboot также отвечает за запуск следующего уровня загрузки Petitboot, который выбирает, откуда будет загружена основная операционная система, и запускает ее через вызов kexec.

Но сделаем шаг назад, и вернёмся к OCC. Чип OCC представляет собой ядро PPC 405, встроенное в процессор IBM POWER8 вместе с основными ядрами POWER8 (один ОСС на чип). У него есть собственные 512 КБ SRAM, доступ к основной памяти. Это система реального времени, ответственная за температурный контроль (мониторинг температур памяти и процессорного ядра), управление производительностью памяти, отслеживание напряжения и частоты процессора. OCC предоставляет доступ ко всей этой информации для BMC по шине I2C.

Что именно делает OCC?

Кроме взаимодействия с OCC и центральным процессором по шине LPC, у BMC есть и другие интерфейсы. Например, для управления блоками питания и LED используется GPIO на чипе BMC, для чтения сенсоров может использоваться I2C.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Взаимосвязь всего вышеупомянутого не так уж сложна

На данный момент большая часть микрокода OpenPOWER является открытой. При этом программная часть сервисного процессора и стек IPMI до недавнего времени оставались проприетарными. Первым open source проектом для сервисного процессора стал OpenBMC. Сообщество встретило его с воодушевлением и стало активно развивать. Про OpenBMC и поговорим дальше.

OpenBMC, его история и особенности

Наконец, мы подходим к истории появления OpenBMC и том, как мы его используем.

Рождение OpenBMC в Facebook

Появился OpenBMC в компании Facebook при разработке свитча Wedge в рамках сообщества OCP в 2015 году. Изначально программную часть BMC разрабатывал поставщик железа. В первые месяцы работы возникло много новых требований к BMC, координация которых с разработчиками была сложной и вызывала задержки. Под влиянием этого, на одном из хакатонов четыре инженера Facebook реализовали некоторые из базовых функций BMC за 24 часа. До продуктива было очень далеко, но стало ясно, что задача реализации софтверной части BMC может быть решена отдельно от аппаратной.

Через несколько месяцев OpenBMC официально был выпущен вместе с коммутатором Wedge, а еще через некоторое время исходный код OpenBMC был открыт в рамках партнерства OCP.

Далее Facebook адаптировал OpenBMC для NVMe флэш-полки Lightning, а следом и для шасси микросерверов Yosemite. В последнем изменении Facebook отказался от RMCP/RMCP+ (доступ IPMI over LAN), но появился REST API через HTTP(S) и консольный доступ по SSH. Таким образом, у Facebook получился единый API для управления разными типами оборудования и большая гибкость реализации новых фич. С проприетарным подходом к BMC такое было бы невозможно.

В концепции Facebook, BMC — обычный сервер, но работает на SoС c ограниченными ресурсами (медленный процессор, мало памяти, небольшой флэш). С учетом этого, OpenBMC был задуман как специализированный дистрибутив Linux, все пакеты которого собираются из исходников с помощью проекта Yocto. Описание всех пакетов в Yocto объединяются в ‘предписания’ (recipes), которые в свою очередь объединяются в ‘слои’ (layers).

OpenBMC имеет три слоя:

OpenBMC легко портируется с одной платформы на другую с помощью пересборки несколькими командами bitbake. Это позволяет использовать один и тот же BMC и как следствие один API на разных аппаратных платформах. Этим можно сломать сложившуюся традицию зависимости программного стека от аппаратной части.

Fork проекта в IBM

Сообщество OCP быстро прониклось идеей OpenBMC, и в разработку активно включился другой участник OCP – IBM. Их стараниями возник форк проекта под OpenPOWER, и к августу 2015 была выпущена первая версия OpenBMC для сервера Rackspace Barreleye под SoC AST2400. Инженеры IBM решительно взялись за дело и не просто адаптировали OpenBMC под новую платформу, а значительно его переработали. При этом из-за сжатых сроков и для простоты разработки активно использовали Python.

Изменения коснулись всех слоев проекта, в том числе переработано ядро Linux под SoC (устанавливаемые драйвера, добавлен device tree), на пользовательском уровне появился D-Bus для межпроцессорного взаимодействия (у facebook D-Bus не было). Именно через D-Bus реализованы все функции OpenBMC. Основным способом работы с OpenBMC является REST интерфейс для доступа к интерфейсам шины. Кроме того, есть Dropbear SSH.

Прошивка bmc что это. Смотреть фото Прошивка bmc что это. Смотреть картинку Прошивка bmc что это. Картинка про Прошивка bmc что это. Фото Прошивка bmc что это

Предусмотрен web-доступ к REST API (для отладки, к примеру) через фреймворк Python Bottle.
Благодаря легкой портируемости OpenBMC с одной платформы на другую, для разработки могут использоваться отладочные платы, вплоть до RaspberryPI. Для упрощения разработки предусмотрена сборка под эмулятор QEMU.

Также, к примеру, через obmcutil можно посмотреть значение сенсоров и подробную информацию про аппаратную часть сервера (FRU), если это поддерживается на конкретной платформе:

Сейчас, в проекте OpenBMC активно участвует не только IBM, но и много других вендоров, заинтересованных в уходе от закрытого стека BMC. Сам IBM сосредоточен в основном на адаптации под платформу P9.

Большая часть разработки OpenBMC ведется под лицензией Apache-2.0, но в состав OpenBMC входит множество компонентов с разными лицензиями (например, ядро Linux и u-boot под GPLv2). В результате получается микс из разных open source лицензий. Кроме того, разработчики могут добавлять в конечную сборку собственные проприетарные компоненты, которые работают параллельно с Open Source.

Наш взгляд на OpenBMC

Как понятно из текста выше, программную часть своего сервисного процессора мы проектируем на основе OpenBMC. Продукт еще сырой, но самый минимум функций для администрирования сервера в нем уже реализован, частично реализован IPMI (для самых базовых потребностей). Сервисные процессоры в серверах с таким набором возможностей были на рынке несколько лет назад.

OpenBMC постоянно изменяется и совершенствуется, почти каждый день на gerrit сервере можно увидеть новые коммиты. Поэтому сильно концентрироваться на функциональности в данный момент — дело не очень благодарное. Непрерывно выполняется рефакторинг, код на Python заменяется на C/C++, больше функций переносятся в systemd.

Отношение к сервисному процессору, как к обычному серверу нетипично для BMC из-за его важной роли в жизни сервера. Использование systemd и D-Bus не было распространено в этой области раньше. Новое время — новые веяния.

Первая задача для нас — адаптация текущего состояния OpenBMC под нашу платформу. Далее мы планируем доработать ее опциями и интерфейсами, в которых заинтересованы наши заказчики. С учетом ограниченной функциональности на текущий момент, направлений для разработки есть великое множество. По мере реализации новых возможностей обязательно будем коммитить изменения в проект OpenBMC, чтобы сообщество могло пользоваться.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *