朱建培
(江蘇杰瑞信息科技有限公司,江蘇 連云港 222000)
第一,能夠給予IPMI 管理協(xié)議一定的支持。第二,利用串行端口,能夠有效訪問(wèn)數(shù)據(jù)。第三,能夠?qū)Ψ?wù)器系統(tǒng)運(yùn)行情況進(jìn)行全方位了解。第四,能夠?qū)χ鳈C(jī)開機(jī)以及關(guān)機(jī)等相關(guān)操作,進(jìn)行遠(yuǎn)程控制。
對(duì)于BMC 管理系統(tǒng)來(lái)講,主控CPU 主要是以ARM9 和相關(guān)嵌入式芯片為主。而最小工作系統(tǒng),主要是由BMC 主控芯片和JTAG 等構(gòu)成的,其中功能接口作用主要體現(xiàn)在以下幾方面內(nèi)容當(dāng)中。第一,PHY 接口。能夠?qū)Ψ?wù)器當(dāng)中的數(shù)據(jù)給予遠(yuǎn)程監(jiān)視,還能對(duì)服務(wù)系統(tǒng)進(jìn)行相關(guān)的遠(yuǎn)程控制。第二PCI-E 接口。顯卡在進(jìn)行利用過(guò)程中,和系統(tǒng)南橋進(jìn)行連接,便利數(shù)據(jù)通信。第三,VGA 接口。主要是顯卡在利用中,視頻進(jìn)行輸出的一種接口。第四,LPC 接口。主要是系統(tǒng)總線以及系統(tǒng)BIOS 之間進(jìn)行的一種通信。
對(duì)于引導(dǎo)層來(lái)講,在BMC 中,U-Boot 是其主要啟動(dòng)程序,是一種運(yùn)行代碼。在U-Boot 中,加入的可信模塊包含了較多內(nèi)容,度量程序以及度量值存儲(chǔ)接口都是其中內(nèi)容。另外,TCM 驅(qū)動(dòng)也是其內(nèi)容。對(duì)于TCM 驅(qū)動(dòng)而言,能夠確保U-Boot以及TCM 之間的通信。而度量程序,主要是BCM 在啟動(dòng)過(guò)程中,度量程序能夠?qū)CM 當(dāng)中的SM3 短算法進(jìn)行利用,并有效度量Linux Kernel。針對(duì)度量值存儲(chǔ)接口來(lái)講,主要是在TCM中的PCR 寄存器,將度量值進(jìn)行有效保存。
內(nèi)核層在ARM Linux 內(nèi)核裁剪下,為了確??尚庞?jì)算功能,將IO 驅(qū)動(dòng)加入其中。其中包含了較多的內(nèi)容,例如LPC以及SPI 和IIC 等相關(guān)硬件接口功能,能夠確保硬件接口時(shí)序的完成,還能有效配置寄存器,保證BMC 能夠與外部模塊進(jìn)行全面通信。對(duì)于LPC 驅(qū)動(dòng),能夠和TCM 實(shí)現(xiàn)通信。而IIC 驅(qū)動(dòng)和CPLD 之間能夠形成通信。
對(duì)于中間件,是在內(nèi)核層以及軟件層中間的,能夠提供一些可信功能,還能提供相關(guān)度量程序等等。對(duì)于度量值存儲(chǔ)接口而言,在TCM 中PCR 寄存器里保存度量值。而對(duì)于BMC 控制CPLD 這種命令接口來(lái)講。在冷啟動(dòng)中,主要是BMC上電程序進(jìn)行控制。具體而言,BCM 在上電過(guò)程中,主板CPU 是不能進(jìn)行加電的。只有確保度量BMC 以及BIOS Book Block 可信,才能利用CPLD 對(duì)CPU 上電進(jìn)行控制,才能保證運(yùn)行當(dāng)中,程序是完整的狀態(tài)。
在軟件層當(dāng)中,主要包含了兩方面內(nèi)容,一種是BMC Web 應(yīng)用,另一種是BMC 應(yīng)用程序。以BMC Web 為基準(zhǔn),可以對(duì)中間層API 接口進(jìn)行調(diào)用,能夠有效呈現(xiàn)出可信狀態(tài)。例如特權(quán)啟動(dòng)以及日志呈現(xiàn)等。
針對(duì)服務(wù)器可信啟動(dòng)控制流程來(lái)講,主要體現(xiàn)分為以下幾點(diǎn)內(nèi)容。第一,當(dāng)服務(wù)器主板電源進(jìn)行接通以后,BMC 以及TCM 模塊會(huì)進(jìn)行冷啟動(dòng)。第二,CPLD 會(huì)接收BMC 的命令,并對(duì)CPU 進(jìn)行控制,保持其不加電。第三,對(duì)度量值以及基準(zhǔn)值進(jìn)行有效對(duì)比,這樣才能對(duì)BMC 固件可信性進(jìn)行全面性判斷。第四,如果BMC 度量值以及基準(zhǔn)值出現(xiàn)不一致的情況,應(yīng)在BMC 中的Web 管理界面給予一定的提示,提示完整性會(huì)受到一定的破壞。在這樣的背景下,CPLD 在CPU 上電時(shí),BMC 不會(huì)對(duì)其進(jìn)行控制,同時(shí)系統(tǒng)進(jìn)行啟動(dòng)。作為BMC 管理員,在異常操作執(zhí)行過(guò)程中,具體操作步驟是以下幾點(diǎn)內(nèi)容。首先,BMC 固件在進(jìn)行升級(jí)過(guò)程中,管理員應(yīng)以Web 管理界面為基準(zhǔn),對(duì)BMC 基準(zhǔn)值進(jìn)行更新,同時(shí)對(duì)BMC 進(jìn)行重啟,保證BMC 能夠恢復(fù)以往可信狀態(tài)。其次,當(dāng)BMC 完整性遭受到破壞時(shí),管理員應(yīng)及時(shí)輸入特權(quán)碼,讓BMC 能夠處于不可信的狀態(tài)中。第五,對(duì)BIOS Boot Block 進(jìn)行度量時(shí),可信代理程序會(huì)讀取代碼,并利用國(guó)產(chǎn)SM3 算法對(duì)相關(guān)代碼進(jìn)行運(yùn)算,進(jìn)而作用成32B,作為最終度量值存儲(chǔ)在PCRO 寄存器中。第六,對(duì)度量值以及基準(zhǔn)值進(jìn)行對(duì)比,主要是作為BIOS Boot Block 依據(jù),進(jìn)而成為一種可信性依據(jù)。第七,當(dāng)BIOS Boot Block 度量值以及基準(zhǔn)值當(dāng)保持一致時(shí),BMC應(yīng)對(duì)CPLD 以及CPU 進(jìn)行上電。另外,CPU 構(gòu)建信任鏈,并對(duì)操作系統(tǒng)進(jìn)行有效加載。第八,當(dāng)BIOS Boot Block 度量值以及基準(zhǔn)值保持不一致的狀態(tài)時(shí),應(yīng)在Web 管理界面當(dāng)中,給予BIOS Boot Block 一定的提示,保證BMC 不會(huì)再對(duì)CPLD 進(jìn)行上電,確保系統(tǒng)不會(huì)進(jìn)行啟動(dòng)。
作為BMC 管理員,針對(duì)出現(xiàn)的異常狀況,按照以下步驟進(jìn)行處理。BIOS 固件在進(jìn)行升級(jí)時(shí),管理員應(yīng)在Web 管理頁(yè)面當(dāng)中,對(duì)BIOS Boot Block 基準(zhǔn)值進(jìn)行更新,同時(shí)將BIOS Boot Block 度量步驟進(jìn)行重啟,再給予一定的引導(dǎo),確保BIOS Boot Block 是可信狀態(tài)。在BIOS Boot Block 遭受破壞以后,管理員應(yīng)將特權(quán)碼輸入其中,確保BIOS 處于不可信狀態(tài)之中。
在X86 服務(wù)器主板當(dāng)中,“CPU+南北橋”架構(gòu)為主要對(duì)象。在BMC 管理設(shè)計(jì)當(dāng)中,涵蓋了兩種功能。一種是顯卡利用。BMC 芯片中PC-E 總線能夠和系統(tǒng)南橋進(jìn)行有效連接,并在視頻端,再利用VGA 接口進(jìn)行輸出。另一種是BMC 管理作用功能。主要分為三個(gè)層次。首先,在Sensor 下,主板信息以及系統(tǒng)日志,在BMC 網(wǎng)絡(luò)作用下,能夠被遠(yuǎn)程訪問(wèn),同時(shí)能夠進(jìn)行監(jiān)視。在LPC 下,能夠上傳到系統(tǒng)BIOS 當(dāng)中。系統(tǒng)可以依據(jù)健康信息,對(duì)運(yùn)行參數(shù)進(jìn)行配置。另外,對(duì)于遠(yuǎn)程Web 界面而言,可以以健康信息為基準(zhǔn),或者是以日志情況為核心,進(jìn)而對(duì)主板風(fēng)扇轉(zhuǎn)數(shù)進(jìn)行有效調(diào)節(jié)。在遠(yuǎn)程KVM over IP 控制平臺(tái),能夠有效控制服務(wù)器主機(jī)系統(tǒng),其中包含服務(wù)器數(shù)據(jù)等相關(guān)操作。
對(duì)于國(guó)產(chǎn)服務(wù)器CPU 而言,和以往“CPU+”架構(gòu)具有較大的不同。以飛騰CPU 架構(gòu)作為案例,在平臺(tái)搭建過(guò)程中主要是以“CPU+PCI-E Switch”這種架構(gòu)為主。由于在底層驅(qū)動(dòng)存在差異化特征,BCM 管理系統(tǒng)不能進(jìn)行有效設(shè)計(jì),主要體現(xiàn)在以下幾方面內(nèi)容。
(1)在目前形勢(shì)下,在國(guó)產(chǎn)平臺(tái)系統(tǒng)中,利用總線LPC進(jìn)而獲得BMC 健康信息,這種情況很少存在。但對(duì)于國(guó)產(chǎn)平臺(tái)來(lái)講,擁有著一定的接口資源,對(duì)健康信息進(jìn)行獲取。基于這樣的情況,服務(wù)器在進(jìn)行設(shè)計(jì)過(guò)程中,應(yīng)采用BMC 與Sensor 同步訪問(wèn)的形式,確保BMC 管理健康信息能夠同步的功能。(2)很多國(guó)產(chǎn)平臺(tái),例如龍芯以及飛騰和申威等相關(guān)平臺(tái),在CPU 上設(shè)計(jì)出了相關(guān)的視頻接口,例如DVI 等等,沒(méi)有以BMC 作為顯卡進(jìn)行利用。但在BMC 管理中,KVM over IP 功能應(yīng)具有桌面視頻輸入。因而在實(shí)際設(shè)計(jì)過(guò)程中,應(yīng)確保主板VGA 視頻能夠轉(zhuǎn)化成為TTL 數(shù)字視頻信號(hào)這樣的方式,并輸入在芯片BMC 中,確保視頻源接入工作的完成。
綜上所述,對(duì)于國(guó)產(chǎn)平臺(tái)服務(wù)器來(lái)講,起步較晚,并且成熟度不夠理想。國(guó)內(nèi)一些平臺(tái)廠商,缺乏行業(yè)標(biāo)準(zhǔn),應(yīng)將相關(guān)技術(shù)利用其中,這樣才能和國(guó)際標(biāo)準(zhǔn)相同步,才能促進(jìn)國(guó)產(chǎn)服務(wù)器平臺(tái)的發(fā)展。