字节跳动自研 OpenBMC 方案成功上线,STE 团队工程师都做了哪些事?

OpenBMC 是 Linux Foundation 组织里的一个项目,也是目前开源 BMC 里方案最成熟、社区最活跃的项目。日前,我们得知字节跳动系统部 STE 团队自研的 OpenBMC,已在内部成功上线,并稳定运行了两个多月。这也是字节跳动首次正式上线并初步产品化的 OpenBMC 方案。

为此,我们专访了字节跳动系统部 STE 团队工程师,他为我们分享了字节跳动自研 OpenBMC 的布局和推进过程。

传统 BMC 生态封闭,及时响应困难重重

BMC 是服务器上的管理模块,它包含独立的 SoC 以及 SoC 上运行的系统,完成对服务器的管理、监控、并对外提供服务。对于服务器来说是不可或缺的重要组成部分。

目前服务器 BMC 的方案里,部分厂商有完全自研的方案,部分厂商则会基于 IBV (Independent BMC Vendor) 的商业 BMC 进行定制化开发,但这些都是闭源的,服务器使用者无法掌控 BMC 的完整功能。

同时,商业 BMC 也具有诸多局限,比如一些不必要的功能,可能影响网络和系统稳定性;修复 bug、漏洞往往需要反馈 ODM 厂商,甚至需要 IBV 支持,这使得修复时间过长;部分 bug 只在特定环境下复现,更增加了修复的难度。

随着互联网的不断发展,数据中心的不断壮大,对数据中心服务的运维需求,也越来越呈现出精细化、定制化的趋势。

严重依赖各 ODM 厂商、IBV 的传统 BMC 开发模式,开发周期长,无法实时响应互联网多变的需求。一个更加开放、更加现代的 BMC 方案,成为当务之急。

功能新架构优,OpenBMC 成字节跳动首选

OpenBMC 是 Linux Foundation 里的一个开源项目,它方案成熟、社区活跃,受到 IBM、Google、Facebook、Intel、Inspur 等国内外各大厂商的支持。

在架构方面,OpenBMC 支持 Aspeed、Nuvoton 等多种 BMC 芯片,以及 x86、ARM、OpenPOWER 等多种服务器架构,更是采用 Linux kernel 5.15、SySTEmd 249 (249.4 )、GCC 11.2.0、C 20 等最新的现代化技术架构。

字节跳动自研 OpenBMC 方案成功上线,STE 团队工程师都做了哪些事?

OpenBMC 解决方案流程一览

但是 OpenBMC 最初是为了解决国外企业的数据中心需求设计开发的,无法完全适配国内互联网数据中心需求。基于 OpenBMC,结合字节跳动服务器管理和运维,开发自研版本,成为更理想的选择。

从社区版本到落地应用,OpenBMC 在字节跳动产品化

为了加快 OpenBMC 与字节跳动内部业务的适配,STE 团队调研了 OpenBMC 社区里,各个模块的技术方案,对比字节跳动内部对服务器的管理和运维,挑选出适用的方案。

字节跳动自研 OpenBMC 方案成功上线,STE 团队工程师都做了哪些事?

OpenBMC 在字节跳动产品化过程示意图

对于能满足字节跳动内部需求的模块,STE 团队决定直接使用社区版本;对于额外的需求,则会基于社区模块,添加并增强功能,最终形成一个完整的解决方案,进行深度测试。

STE 团队工程师,为我们分享了具体的方案:

  • 对于 x86 specfic 的模块,复用 Intel 的模块,例如 PECI,node-manager
  • 对于 power control,复用x86-power-control
  • 对于各类传感器,基于现有的entity-manager/dbus-sensors/virtual-sensor,添加 yaml 来定义需要的 sensor
  • 对于风扇控制,复用phosphor-pid-control并添加了单、双转子的检测和适配
  • 对于 FRU,根据硬件情况改造相关代码,使其支持非标准 FRU 格式
  • 对于 SEL,实现新的统一的 logging 方式,把 log entry 转化为标准 SEL
  • 对于 code-update,基于phopsphor-bmc-code-mgmt添加了 BIOS、CPLD、FPGA 等模块的支持
  • 对于字节跳动内部的管理、运维,新增了代码来完成线上的适配工作

此外, STE 团队也在字节跳动内部搭建了 CI 服务器,完成了自动化的编译和测试,并且与开源社区的 Gerrit 打通:

  • 对于内部的每一个 Push/MergeRequest,会跑 CI
  • 对于每一次编译,都会通过 QEMU 来跑基本的测试
  • 对于重要的 release tag,还会通过 HW CI 在实际服务器上验证
  • 对于开源社区里meta-bytedance的每一个改动,也会跑编译和 QEMU CI

积极呼吁行业合作,共同参与社区共建

据 STE 团队工程师介绍,OpenBMC 项目目前已经在两种不同配置的机器上顺利完成上线,并持续稳定运行了两个多月。

同时,STE 团队的工程师们,也在 OpenBMC 开源社区里提交了涉及新 feature 及 bug fix 的诸多 commits,目前已经成为了 OpenBMC Technical Oversight Forum (TOF) 的一员。

  • https://github.com/search?p=1&q=org:openbmc bytedance.com&type=Commits
  • https://github.com/openbmc/docs/blob/master/tof/contract.md

未来,字节跳动系统部 STE 团队将在更多的平台上持续研发 OpenBMC,来更好、更快速地支持服务器的管理和运维。工程师还表示,在后续开发中,STE 团队希望能与更多厂商进行全方位、多维度的紧密合作共建,共同开发更符合国内互联网数据中心需求的开源 BMC 方案。

专访最后,STE 团队的工程师也充分表达了对于优秀人才的渴求,欢迎对新技术、开源感兴趣的小伙伴加入字节跳动系统部 STE 团队,用最新的 kernel、最新的编译器,写最 modern 的 C 。


关于字节跳动系统部 STE 团队:

字节跳动系统部 STE 团队 (STE=System Technologies & Engineering,系统技术与工程) 一直致力于操作系统内核与虚拟化、系统基础软件与基础库的构建和性能优化、超大规模数据中心的系统稳定性和可靠性建设、新硬件与软件的协同设计等基础技术领域的研发与工程化落地,具备全面的基础软件工程能力,为字节上层业务保驾护航。同时,团队积极关注社区技术动向,拥抱开源和标准。

更多招聘信息,可联系 chenziying@bytedance.com 获取。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月20日 上午11:13
下一篇 2024年5月20日 上午11:25

相关推荐

  • 项目接口文档管理系统

    项目接口文档管理系统 随着软件开发的不断推进,项目开发过程中需要使用的接口越来越多。然而,由于接口的复杂性和多样性,手动管理接口文档变得十分困难。为了解决这个问题,我们开发了一个项…

    科研百科 2024年12月28日
    0
  • 科研项目结题ppt 科研项目结题是什么意思

    科研项目结题是指一个科研项目在完成预期目标后,由科研项目负责人或团队编写的结题报告,以及相应的研究成果和交付物。 在科研项目结题过程中,研究人员通常会进行数据的收集和分析,编写论文…

    科研百科 2024年7月29日
    70
  • 个人工作任务管理软件

    个人工作任务管理软件: 高效工作的秘密武器 随着现代生活节奏的加快,个人工作任务变得越来越繁忙,每个人都有自己的时间表和工作计划。但是,如何有效地管理个人工作任务成为了一个普遍的问…

    科研百科 2024年5月24日
    81
  • 推进党的领导与公司治理有机融合(推进党的领导与公司治理有机融合发展)

    作者:中国银行保险监督管理委员会党委委员、副主席 曹 宇 习近平总书记在中国石油辽阳石化公司考察时指出,“坚持党对国有企业的领导是重大政治原则,必须一以贯之;国有企业建立现代企业制…

    科研百科 2024年6月29日
    73
  • 科研项目主要完成任务

    科研项目主要完成任务 随着科技的不断发展,科研项目也在不断地进行中。其中,一个重要的任务就是研究新的技术,并将它们应用到实际生活中。例如,最近的一项科研项目专注于研究如何通过人工智…

    科研百科 2024年11月10日
    0
  • ERP纱畜牧业行业软件公司

    ERP纱畜牧业行业软件公司: 引领行业创新的领导者 ERP纱畜牧业行业软件公司是一家专注于纱畜牧业行业的软件供应商。作为行业内的领先者,我们致力于提供最先进的软件产品和服务,帮助纱…

    科研百科 2024年11月13日
    0
  • 使用进出货管理软件对调味品经销商有哪些作用(批发调味品在什么软件)

    根据最新国家标准定义,复合调味料是指以两种或两种以上调味料为原料,添加或不添加辅料,制成液体、半固体或固体的产品。这不是一个新概念。餐饮厨师使用手工复合调味品进行烹饪的历史悠久,食…

    2022年5月29日
    297
  • 科研项目的药好不好

    科研项目的药物好不好 科研项目的药物是医疗领域中备受关注的话题之一。这些药物是通过科学研究来开发新的药物,并希望在临床实践中取得更好的效果。但是,这些药物是否真正有效,还需要在临床…

    科研百科 2025年5月22日
    1
  • 东阳农商银行:“1234”工作思路扎实推进主题教育

    为认真贯彻省委第十六巡回指导组工作会议精神暨全省农信系统“不忘初心、牢记使命”主题教育工作推进会精神,东阳农商银行坚持以“1234”的党建工作思路,强化党建引领,把主题教育同当前各…

    科研百科 2023年9月22日
    256
  • 项目资金运作及进度款管理

    项目资金运作及进度款管理 项目资金运作及进度款管理是项目管理中至关重要的两个方面。在项目启动阶段,资金运作是非常重要的,因为项目启动资金必须被用于项目启动和项目初期的各种开支。进度…

    科研百科 2024年8月20日
    84