位元組跳動自研 OpenBMC 方案成功上線,STE 團隊工程師都做了哪些事?

2021年11月12日15:41:03 科技 1718

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 里的一個開源項目,它方案成熟、社區活躍,受到 IBMGoogle、Facebook、IntelInspur 等國內外各大廠商的支持。

在架構方面,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%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,系統技術與工程) 一直致力於操作系統內核與虛擬化、系統基礎軟體與基礎庫的構建和性能優化、超大規模數據中心的系統穩定性和可靠性建設、新硬體與軟體的協同設計等基礎技術領域的研發與工程化落地,具備全面的基礎軟體工程能力,為位元組上層業務保駕護航。同時,團隊積極關注社區技術動向,擁抱開源和標準。

更多招聘信息,可聯繫 [email protected] 獲取。

科技分類資訊推薦

畢業季臨近,大學生就業陸續進入「百日衝刺」關鍵階段 - 天天要聞

畢業季臨近,大學生就業陸續進入「百日衝刺」關鍵階段

近期,江蘇各地舉行「人才日」「人才周」系列活動,通過發布人才政策、項目簽約、人才禮包等活動,吸引更多人才與當地共創美好未來。人才發展需要政策「滋潤」。江蘇各地以人才活動為契機,發布各具特色、誠意滿滿的人才政策。
新石器余恩源:無人配送車競爭剛剛開始,唯有競爭才能構建高效生態系統 - 天天要聞

新石器余恩源:無人配送車競爭剛剛開始,唯有競爭才能構建高效生態系統

每經記者:趙雯琪 每經編輯:余婷婷「2025年無人配送車行業迎來爆髮式增長,發展速度達到去年的10倍。作為行業早期參與者,新石器目前每月交付無人車超1000輛,預計二季度至三季度單月交付量將突破2000輛,其中4月份單月交付量已超過2024年的全年總和。」6月1日,在2025(第三屆)未來汽車先行者大會智能網聯汽車商業化論壇...
榮耀新CEO李健詳談:從手機廠商到AI終端生態公司的一次變革 - 天天要聞

榮耀新CEO李健詳談:從手機廠商到AI終端生態公司的一次變革

榮耀新任CEO李健說,數字時代已經接近了尾聲,AI時代已經到來,榮耀剛好處在了兩個時代的交叉點上。 (榮耀公司CEO 李健) 通常,在時代的交叉之際,前一個時代紅利將盡,後一個時代的機會還在醞釀。因此國內的手機公司都面臨一個共同的問題,增長放緩後,增量在哪裡? 榮耀分為三步走,去新的市場,做新的業務以及抓住新的...
AI陪伴能治癒老年孤獨嗎?看看69歲退休銀行家的真實體驗! - 天天要聞

AI陪伴能治癒老年孤獨嗎?看看69歲退休銀行家的真實體驗!

布倫達·林每周至少使用一次人工智慧聊天機器人。對於這位來自新加坡的69歲退休銀行家來說,聊天機器人讓她安心無憂。「它激勵了我」,布倫達·林說道,他與AMI-Go進行交流,AMI-Go由新加坡科技設計大學和獅子會之友(一個支持老年人的社會服務
人民日報、工信部、汽協發聲:反對無序價格戰 - 天天要聞

人民日報、工信部、汽協發聲:反對無序價格戰

6月1日,「人民日報評論」微信公眾號發布評論文章《新能源汽車,「價格戰」興奮劑決不能打》。評論全文如下:針對近日車企掀起新一輪「價格戰」,中國汽車工業協會發布《關於維護公平競爭秩序,促進行業健康發展的倡議》,明確表示反對。工信部亦表態支持倡議,強調「『價格戰』沒有贏家,更沒有未來」。明確的信號、堅決的...