OpenBMC — это проект, организованный Linux Foundation, а также проект с наиболее зрелым решением и самым активным сообществом BMC с открытым исходным кодом. Несколько дней назад мы узнали, что OpenBMC, разработанный командой STE системного отдела ByteDance, был успешно запущен внутри компании и стабильно работает уже более двух месяцев. Это также первое решение OpenBMC, которое ByteDance официально запустила и изначально коммерциализировала.
С этой целью мы взяли интервью у инженера из команды STE системного отдела ByteDance, который поделился с нами макетом и процессом продвижения собственной разработки ByteDance OpenBMC.
Традиционная экосистема BMC закрыта, и своевременно реагировать сложно
BMC — это модуль управления на сервере, включающий в себя независимый SoC и систему, работающую на SoC, которая управляет, контролирует и предоставляет услуги серверу. Это неотъемлемая часть сервера.
В текущем решении BMC для серверов некоторые производители имеют решения, полностью разработанные самостоятельно, а некоторые производители будут проводить индивидуальную разработку на основе коммерческого BMC от IBV (независимый поставщик BMC), но они имеют закрытый исходный код, и пользователи сервера не могут контролировать BMC. , Полная функциональность.
В то же время коммерческий BMC также имеет множество ограничений, таких как некоторые ненужные функции, которые могут повлиять на стабильность сети и системы; исправление ошибок и уязвимостей часто требует обратной связи с производителями ODM и даже требует поддержки IBV, что делает время ремонта слишком долгим. ; некоторые ошибки бывают только в повторении в конкретной среде, что увеличивает сложность исправления.
С непрерывным развитием Интернета и непрерывным ростом центров обработки данных спрос на эксплуатацию и обслуживание услуг центров обработки данных становится все более и более утонченным и индивидуальным.
Он в значительной степени опирается на традиционную модель разработки BMC различных производителей ODM и IBV с длительным циклом разработки и не может реагировать на меняющиеся потребности Интернета в режиме реального времени. Более открытое и современное решение BMC стало главным приоритетом.
Отличная новая архитектура функций, OpenBMC — лучший выбор для байтового битинга.
OpenBMC — проект с открытым исходным кодом в Linux Foundation, имеет зрелое решение и активное сообщество, поддерживается крупными отечественными и зарубежными производителями, такими как IBM, Google, Facebook, Intel и Inspur.
Что касается архитектуры, OpenBMC поддерживает различные чипы BMC, такие как Aspeed и Nuvoton, а также различные серверные архитектуры, такие как x86, ARM и OpenPOWER, и использует ядро Linux 5.15, Systemd 249 (249.4+), GCC 11.2.0, C ++20 И так далее по новейшей современной технологической архитектуре.
Краткий обзор потока решений OpenBMC
Однако OpenBMC изначально проектировался и разрабатывался для удовлетворения потребностей центров обработки данных иностранных компаний и не может полностью удовлетворить потребности отечественных центров обработки данных Интернета. На основе OpenBMC в сочетании с управлением, эксплуатацией и обслуживанием сервера ByteDance разработка собственной версии стала более идеальным выбором.
От версии сообщества до целевого приложения OpenBMC создается в ByteDance.
Чтобы ускорить адаптацию OpenBMC и внутреннего бизнеса ByteDance, команда STE изучила технические решения каждого модуля в сообществе OpenBMC, сравнила управление внутренним сервером, эксплуатацию и обслуживание ByteDance и выбрала подходящее решение.
Схематическая диаграмма процесса производства OpenBMC в ByteDance
Для модулей, которые могут удовлетворить внутренние потребности ByteDance, команда STE решает использовать версию сообщества напрямую; для дополнительных требований она добавит и улучшит функции на основе модуля сообщества и, наконец, сформирует полное решение для углубленного тестирования.
Инженер команды STE поделился с нами конкретным планом:
- Для конкретных модулей x86 повторно используйте модули Intel, такие как PECI,
node-manager
- Для управления мощностью, мультиплекс
x86-power-control
- Для всех типов датчиков на базе существующих
entity-manager/dbus-sensors
/virtual-sensor
, добавьте yaml, чтобы определить нужный датчик - Для управления вентилятором, мультиплекс
phosphor-pid-control
И добавлено обнаружение и адаптация одиночных и двойных роторов. - Для FRU измените соответствующий код в соответствии с аппаратным обеспечением для поддержки нестандартного формата FRU.
- Для SEL внедрить новый унифицированный метод ведения журнала для преобразования записи журнала в стандартный SEL.
- Для обновления кода на основе
phopsphor-bmc-code-mgmt
Добавлена поддержка BIOS, CPLD, FPGA и других модулей - Для внутреннего управления, эксплуатации и обслуживания ByteDance были добавлены новые коды для завершения работы по онлайн-адаптации.
Кроме того, команда STE также построила CI-сервер внутри ByteDance, завершила автоматическую компиляцию и тестирование и пообщалась с Герритом в сообществе открытого исходного кода:
- Для каждого Push/MergeRequest внутри будет запускаться CI
- Для каждой сборки базовые тесты выполняются через QEMU.
- Важные теги релиза также проверяются на реальном сервере через HW CI.
- для сообщества открытого исходного кода
meta-bytedance
Каждое изменение также запускает компиляцию и QEMU CI.
Активно призывайте к отраслевому сотрудничеству и вместе участвуйте в создании сообщества
По словам инженера команды STE, проект OpenBMC успешно запущен на двух машинах с разной конфигурацией и стабильно работает уже более двух месяцев.
В то же время инженеры команды STE также представили множество новых функций и исправлений ошибок в сообществе открытого исходного кода OpenBMC.commits, теперь сталоOpenBMC Technical Oversight Forum (TOF)член .
В будущем команда STE системного отдела ByteDance продолжит разработку OpenBMC на большем количестве платформ, чтобы лучше и быстрее поддерживать управление и работу серверов. Инженер также сказал, что в ходе последующей разработки команда STE надеется на всестороннее и многостороннее тесное сотрудничество с большим количеством производителей для совместной разработки решения BMC с открытым исходным кодом, которое больше соответствует потребностям внутреннего Интернета. центры обработки данных.
В конце интервью инженеры команды STE также в полной мере выразили свою тягу к выдающимся талантам.Малые партнеры, заинтересованные в новых технологиях и открытом исходном коде, могут присоединиться к команде STE системного отдела ByteDance и использовать новейшие ядро и новейший компилятор для написания самого современного C++.
О команде STE отдела ByteDance Systems:
Команда STE отдела ByteDance Systems (STE = System Technologies & Engineering) занималась ядром операционной системы и виртуализацией, построением и оптимизацией производительности базового программного обеспечения системы и базовых библиотек, а также стабильностью системы гипермасштабируемых центров обработки данных. Были реализованы базовые технологические области, такие как создание надежности и совместная разработка нового оборудования и программного обеспечения, с комплексными базовыми возможностями разработки программного обеспечения для сопровождения бизнеса байтов верхнего уровня. В то же время команда активно следит за техническими тенденциями сообщества и использует открытый исходный код и стандарты.
Для получения дополнительной информации о наборе, пожалуйста, свяжитесь сchenziying@bytedance.comПолучать.