以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

字节跳动证券业务,字节跳动孵化团队

  

  OpenBMC是Linux Foundation中的一个项目,也是开源BMC中最成熟的项目,也是社区中最活跃的项目。几天前,我们得知字节跳动系统部   

  

  STE团队开发的OpenBMC已经在内部成功上线,已经稳定运行了两个多月。这也是字节跳动首次正式启动OpenBMC计划并进行初步制作。   

  

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

  

  #传统BMC生态封闭,难以及时响应。   

  

  BMC是服务器上的管理模块,包含独立的SoC和SoC。   

  

  在系统上运行,完成对服务器的管理和监控,并提供外部服务。它是服务器不可或缺的一部分。   

  

  目前,在服务器BMC的解决方案中,有些厂商已经完全自主开发了解决方案,而其他厂商将基于IBV(独立BMC厂商)商用BMC。   

  

  定制开发,但这些都是闭源的,服务器用户无法控制BMC的全部功能。   

  

  同时,商用BMC也有很多局限性,比如一些不必要的功能,可能会影响网络和系统的稳定性;修复bug和漏洞通常需要向ODM供应商甚至IBV反馈。   

  

  支持,使得修复时间过长;有些bug只会在特定的情况下重新出现,这使得修复它们变得更加困难。   

  

  随着互联网的不断发展和数据中心的不断壮大,数据中心服务的运维需求越来越精细化和定制化。   

  

  严重依赖ODM厂商和IBV的传统BMC开发模式,开发周期长,无法实时响应互联网日新月异的需求。一个更加开放和现代化的BMC方案已经成为当务之急。   

  

  #新功能和优秀架构,OpenBMC成为字节跳动首选。   

  

  OpenBMC是Linux基金会的一个开源项目,方案成熟,社区活跃,深受   

  

  IBM、谷歌、脸书、英特尔、Inspur等国内外主要厂商。   

  

  架构方面,OpenBMC支持Aspeed、Nuvoton等各种BMC芯片,以及x86、ARM、OpenPOWER等各种服务器架构。   

  

  Linux内核5.15,Systemd 249 (249.4),GCC 11.2.0,C 20等。   

  

     

  

  OpenBMC解决方案流程概述   

  

  但OpenBMC最初是为了满足国外企业的数据中心需求而设计开发的,并不能完全满足国内互联网数据中心的需求。根据   

  

  OpenBMC结合字节跳动服务器管理和运维,开发自研版本,成为更理想的选择。   

  

  #从社区版到落地应用,OpenBMC在字节跳动实现了产品化。   

  

  为了加快OpenBMC与字节跳动内部业务的适配,STE团队对OpenBMC进行了调研。   

  

  社区,每个模块的技术解决方案,比较字节跳动服务器的管理和运行,选择适用的解决方案。   

  

     

  

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

  

  对于能够满足STE字节跳动内部需求的模块   

  

  团队决定直接使用社区版;对于额外的需求,将基于社区模块,增加和增强功能,最终形成一个完整的解决方案进行深入测试。   

  

  STE团队工程师为我们分享了具体的计划:   

  

  *对于x86专用模块,重用英特尔模块,如PECI和节点管理器。   

  

  *对于电源控制,重用x86电源控制   

  

  *对于各种传感器,基于现有的实体管理器/dbus-sensors/virtual-sensors,添加yaml定义所需的传感器。   

  

  *对于风扇控制,重新使用了磷pid控制,并增加了单转子和双转子的检测和适配。   

  

  *对于FRU,应根据硬件情况修改相关代码,以支持非标准FRU格式。   

  

  *对于SEL,实现新的统一日志模式,将日志条目转换为标准SEL。   

  

  *代码更新方面,在phopsphor-bmc-code-mgmt的基础上,增加了BIOS、CPLD、FPGA等模块的支持。   

  

  *针对字节跳动的内部管理和运维,增加了新的代码,完成在线适配工作。   

  

  此外,STE团队还在字节跳动构建了一个CI服务器,完成了自动化编译和测试,并与开源社区的Gerrit取得了联系:   

  

  *对于每个内部推送/合并请求   

uest,会跑 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%3Aopenbmc+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 获取。