田祥波
摘 要:Redfish是一種新的管理標準,它利用超媒體RESTful接口表達數據,易于使用和實現(xiàn);它面向模型,能夠表達現(xiàn)代系統(tǒng)組件之間的關系以及服務和組件的語義,容易延伸。本文介紹當前服務器的管理的現(xiàn)狀, Redfish規(guī)范概述和Redfish服務器管理介紹。
關鍵詞:IPMI;服務器管理;SMASH;Redfish
0 引言
英特爾、惠普、戴爾和艾默生于2014年起草并發(fā)布了新的基于Restful接口和JSON數據模型的Redfish服務器管理標準,Redfish使用現(xiàn)代網絡接口方式,使用更簡單,允許訪問數據基于腳本編程方法。該解決方案將用于改善可擴展性和擴大數據訪問和分析,幫助降低成本,進一步使功能豐富的遠程管理,同時保證一個安全的解決方案,此服務器管理標準其后被分布式任務管理組采用為新的服務器管理標準。
1 當前服務器管理相關概述
1.1 IPMI服務器管理原理和架構
智能平臺管理接口(IPMI)提供五大基本功能:傳感器監(jiān)控、系統(tǒng)日志記錄、系統(tǒng)自動恢復、資產管理和自動報警。其硬件架構依賴基板管理控制器(BMC), 時下通用的BMC都支持I2C總線和風扇電壓監(jiān)控、通用可編程輸入輸出接口和SPI Flash接口。
基板管理控制器將通過I2C總線讀取溫度傳感器讀值,通過TACH接口獲得風扇轉速并通過調節(jié)占空比控制風扇。BMC同時訪問并控制I2C上的衛(wèi)星控制器如背板控制器來讀取硬盤溫度。BMC提供帶內管理和帶外管理,帶內管理通過Low pin count總線實現(xiàn),終端用戶可以在服務器本地訪問BMC。帶外管理通過網絡控制器邊帶接(NCSI)實現(xiàn),終端用戶可以通過網絡控制器訪問BMC。BMC通過平臺環(huán)境控制接口(PECI)訪問CPU并拿到相關寄存器的讀值如CPU溫度、內存溫度(內存通過SMBus連接到CPU)。
1.2 基于服務器硬件系統(tǒng)管理架(SMASH)的服務器管理原理和架構
SMASH根據SMASH實現(xiàn)需求規(guī)范、服務器硬件系統(tǒng)管理架構白皮書、SMASH服務器管理命令行映射規(guī)范、服務器管理命令行協(xié)議和基本服務器配置文件和SMASH命令行命令映射關系規(guī)范來實現(xiàn)基本的SMASH協(xié)議棧來實現(xiàn)具備智能平臺管理接口(IPMI)相似的功能(傳感器監(jiān)控、系統(tǒng)日志記錄、系統(tǒng)自動恢復、資產管理、自動報警。
2 Redfish的基本介紹
Redfish是由惠普、戴爾、艾默生和英特爾聯(lián)合提出的一個現(xiàn)代硬件管理規(guī)范, Redfish是可發(fā)現(xiàn)的,可擴展的且易于管理。適用于從數據中心運營到企業(yè)管理控制臺的眾多終端用戶和應用程序。Redfish針對地址不同和供應商不同的基礎設施給客戶提供規(guī)范化管理接口;Redfish為客戶提供簡單的、現(xiàn)代的管理方法,客戶可以使用已有的熟悉的使用用例管理基礎設置。Redfish的RESTFUL API和數據模型是解耦的,允許他們獨立地修改和更新。現(xiàn)代的管理意味著Redfish是可擴展的,并且可以輕松地管理從單節(jié)點到機架系統(tǒng);Redfish的管理是安全的,因為它是依據行業(yè)要求解決方案而設計的安全訪問服務和基礎設施。
3 Redfish服務器管理
3.1 綜述
3.1.1 主要目標
Redfish作為一個架構、協(xié)議和數據表達的目標,首先是為了支持各種各樣的從獨立的機器到云服務環(huán)境中的機架設備。可擴展性是一個關鍵的目標,利用當前廣泛應用的協(xié)議和標準來實現(xiàn)目標是一個關鍵的戰(zhàn)略.盡可能的簡單是另一個目標,通過在模型中使用盡可能少的操作和實例。匹配當前廣泛采用的編程環(huán)境是另一個目標。以下設計原則支配Redfish可伸縮的平臺管理API的設計,關鍵目標的闡述如下:
a使用JSON負載和實體數據模型的Restful接口;b從數據模型分離協(xié)議, 使他能夠獨立修改;c對協(xié)議規(guī)則和模式指定版本號;d利用互聯(lián)網協(xié)議標準的優(yōu)點滿足架構要求,比如JSON,HTTP,OData, Redfish引用的RFC;e專注于可擴展環(huán)境但也能夠管理當前的服務器;f專注在帶外管理,也可實現(xiàn)在現(xiàn)有BMC和固件產品。
3.1.2 Restful接口在Redfish中
首先它是一個輕量級的實現(xiàn),比SOAP傳輸的數據更小,比WS-MAN的協(xié)議層更少,容易學習和設計,滿足我們簡單的設計原則。 其次它與業(yè)內普遍訪問方法一致,有很多REST開發(fā)環(huán)境和工具包可以用,同時可以利用業(yè)內已有的安全和發(fā)現(xiàn)機制。
3.1.3 遵循OData約定
采用OData約定用于描述架構、URL約定、命名和JSON負載中的共同屬性的結構載,不僅對RESTful API封裝的最佳實踐,進一步使Redfish服務被越來越多的生態(tài)系統(tǒng)通用的客戶端庫,應用程序和工具使用。
3.2 協(xié)議細節(jié)
Redfish協(xié)議的設計基于web服務的接口模型,并考量網絡和用戶界面與自動化使用的交互效率。Redfish協(xié)議使用HTTP方法(POST, GET,PUT,PATCH,DELETE)創(chuàng)建、讀取、更新、刪除操作和檢索標題信息。Action是用于擴大操作超出CRUD操作類型,但在使用應該是有限的。媒體類型是用來商議發(fā)送消息體內的數據類型。HTTP狀態(tài)代碼是用于指示服務器在處理請求的嘗試。擴展的錯誤處理能返回比HTTP錯誤代碼更多的信息。
4 結語
本文對基于智能平臺管理接口、服務器硬件管理架構和Redfish的服務器管理進行研究,
從原理本身進行分析并比對各個服務器管理標準進行差異化總結。
參考文獻:
[1]Intelligent Platform Management Interface Specification Second Generation v2.0,Document Revision 1.0.
[2]System Management Architecture for Server Hardware White Paper.
[3]Redfish API Specification-DSP0266.
[4]Redfish Mockup-DSP2043.