OpenBMC:用于Facebook所有硬件的板卡管理軟件

去年在OCP峰會上,我們發(fā)布了OpenBMC,這是一款低級的基板管理軟件,可以為BMC芯片提供靈活性和快速開發(fā)。
開源TOR交換機Wedge,是我們數(shù)據(jù)中心中首款支持OpenBMC的硬件,接下來就是我們的模塊化交換機6-pack。
六個月前,我們將OpenBMC的支持?jǐn)U展到服務(wù)器,這改變了我們接觸多節(jié)點1S服務(wù)器的基板管理方式。
如今,我很高興地宣布OpenBMC對存儲的支持,更具體地說,它將支持我們基于NVMe的存儲平臺Lightning,這意味著OpenBMC軟件開始支持Facebook數(shù)據(jù)中心的所有硬件。

為什么要移植OpenBMC到Lightning

Lightning是Open Vault Storage解決方案的PCIe版本,專為OCP的Open Rack構(gòu)建。它支持通過Gen3 PCIe鏈接到外部主機或多達四臺主機(服務(wù)器)連接的多達60個固態(tài)硬盤(SSD)。每個托盤上都有一個PCIe交換機,最多支持2個x16上行端口,總共32個上行通道,交換機下游多達30個SSD設(shè)備(每個設(shè)備x2)。

我們知道,NVMe標(biāo)準(zhǔn)相對較新,與SCSI機箱管理(SES)不同,還沒有一個定義良好的NVMe機箱管理標(biāo)準(zhǔn)。Lightning設(shè)計需要一些控制器,不僅用于機箱管理,還用于附件管理。每個托盤都有一個BMC通過I2C接口和PCIe接口與PCIe交換機連接。

OpenBMC接口

Lightning平臺上的BMC設(shè)計不是傳統(tǒng)的設(shè)計。傳統(tǒng)上,BMC通常使用共享網(wǎng)卡NCSI接口連接。但Lightning上BMC設(shè)計沒有任何這樣的網(wǎng)卡,這在管理端需要加入一個進口。另外一些挑戰(zhàn)是,Lightning機箱需要作為單獨的系統(tǒng)進行管理,而不是服務(wù)器系統(tǒng)的一部分,所有的安全和配置工具都將運行在Lighting BMC的低端CPU上。這些挑戰(zhàn)面臨著基礎(chǔ)設(shè)施方面的其他問題。

不采用NCSI,我們使用以下接口訪問Lightning上的OpenBMC:

  • Host 與 Lightning BMC之間的USB Bus(帶內(nèi))
  • Host 與 Lightning BMC之間的I2C Bus
  • Host 與 Lightning BMC之間的PCIe x1 (Gen1)接口(帶內(nèi))
bcm connect

USB接口

USB通道指從Host USB到Lightning USB之間的定制的mini SAS HD cable。OpenBMC使用Ethernet over USB接口連接Host USB和Lightning BMC USB設(shè)備。這使得主機操作系統(tǒng)能夠通過SSH和REST API客戶端與OpenBMC進行通信。這個連接是Host 與Lightning BMC之間的主要通信模式。

I2C接口

Lightnint BMC通過I2C直接連接到一個或多個Host BMC。但是在我們目前的Lightning設(shè)計中,我們只使用一臺Host。兩個BMC之間的I2C總線用作IPMB通道。Host BMC軟件使用IPMI標(biāo)準(zhǔn)的消息橋接機制。這個“橋接”功能應(yīng)能夠在帶內(nèi)和/或帶外接收IPMB命令,并將它們發(fā)送到IPMB通道上的Lightning BMC,并提供響應(yīng)。在這種情況下,Lightning BMC可以通過Host進行帶內(nèi)訪問,甚至在Host CPU斷電時進行帶外訪問。

PICe接口

從PCIe交換機到BMC有一個PCIe x1 Gen1鏈路。 我們計劃在OpenBMC中添加對MCTP的支持。

特性

在以前平臺的開發(fā)過程中,我們將所有常用的實用程序代碼移動到了一個通用目錄(meta-openbmc/common/),這使得我們可以輕松地在OpenBMC中增加對更多平臺的支持。我們已經(jīng)重用了大部分的常用工具,包括“fruid-util”,“sensor-util”,“gpio-util”。我們增加了對新功能的支持,例如:

  • 'fscd',一個守護進程,用來控制基于OCP FSC(風(fēng)扇速度控制)的風(fēng)扇。它支持用戶提供的線性和非線性fsc表。
  • 'log-util',它捕獲連接到Lightning BMC的從屬設(shè)備(傳感器,SSD,PCIe交換機等)的所有事件/錯誤日志。
  • 'flash-util'可讀取基于NVMe管理接口標(biāo)準(zhǔn)(NVMe-MI)的SSD邊帶狀態(tài)信息(如溫度,錯誤數(shù)量等),可重置PCIe交換機,并可更新其固件和配置I2C。

注意:Lightning硬件和OpenBMC針對Lightning的功能仍處于開發(fā)階段。上述大多數(shù)功能都由使用IPv6 over USB接口的SSH或RESTful API支持。

在Facebook基礎(chǔ)設(shè)施中的使用

隨著OpenBMC對存儲設(shè)備的支持,我們將在我們的基礎(chǔ)架構(gòu)中為OpenBMC提供對所有類型硬件的支持。數(shù)據(jù)中心的配置一直是來自不同制造商的硬件的一個挑戰(zhàn),因為它們擁有專有的工具。這些工具也會對靈活的硬件配置造成限制。另一方面,OpenBMC可以在所有工具和事件/錯誤日志中實現(xiàn)一致性,這將為改善硬件管理和硬件故障分析(FA)提供機會??缇W(wǎng)絡(luò),計算和存儲平臺運行OpenBMC是構(gòu)建更靈活可靠的基礎(chǔ)設(shè)施的又一步。

如果您仍然對OpenBMC感到好奇或者對于任何功能有任何疑問,可以查看我們在GitHub上的最新更新。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容