(一)Redfish简介
IPMI
????????在介紹redfish前,先介紹一下IPMI標準。
????????市面上服務器市場廠商眾多,知名的有Intel、NEC、DELL、HP等,各家廠商有各自不同的硬件配置以及針對自己服務器的硬件配置而編寫的軟件,所以不同廠商編寫的軟件無法應用到另一家的硬件上,導致大部分軟件無法實現跨平臺。服務器購買方可能會購買不同服務器廠商的服務器,各家廠商管理方式的不同為購買方管理服務器帶來了極大的不便。
????????因此,在1998年Intel、DELL、HP、NEC及SuperMicro等公司共同制定出IPMI協議。
????????IPMI是Intelligent Platform Management Interface的縮寫,即智能型平臺管理接口,是管理基于 Intel結構的企業系統中所使用的外圍設備采用的一種工業標準。用戶可以利用IPMI監視服務器的物理健康特征,如溫度、電壓、風扇工作狀態、電源狀態等。而且更為重要的是IPMI是一個開放的免費標準,用戶無需為使用該標準而支付額外的費用。
????????IPMI 的基礎在于運行于BMC(基板管理控制器)上的專業固件。BMC完全獨立于服務器的CPU/BIOS/OS而存在的,即使系統不開啟,只要給它供電就它可以正常工作,它有自己完整的一套系統,有自己的CPU(ARM)、OS、儲存設備等,就相當于服務器上有兩套系統:一套業務系統,一套管理業務系統和硬件的系統。IPMI良好的自治特性便克服了以往基于操作系統的管理方式所受的限制,例如操作系統不響應或未加載的情況下其仍然可以進行開關機、信息提取等操作。
????????在工作時,所有的IPMI功能都是向BMC發送命令來完成的,命令使用IPMI規范中規定的指令,BMC接收并在系統事件日志中記錄事件消息,維護描述系統中傳感器情況的傳感器數據記錄。在需要遠程訪問系統時,IPMI新的LAN上串行(SOL)特性很有用。SOL改變IPMI會話過程中本地串口傳送方向,從而提供對緊急管理服務、Windows專用管理控制臺或Linux串行控制臺的遠程訪問。BMC通過在LAN上改變傳送給串行端口的信息的方向來做到這點,提供了一種與廠商無關的遠程查看啟動、操作系統加載器或緊急管理控制臺來診斷和維修故障的標準方式。
????????隨著時代發展,IPMI規范的局限性也越發明顯。由于IPMI更多的是單點的服務,所以其擴展性(Scale Out)較差,而這些僅僅是開始,在它發明的后很長時間,IPMI的管理網絡是一個專有的網絡,只有授權的用戶才能訪問,這導致其在開始設計的時候就對安全性考慮有所欠缺。在爆出安全漏洞后,IPMI2.0增加了增強身份認證(RAKP+、SHA-1等),但其后更有別的漏洞爆出。業界呼喚一種新的,重新設計的新標準,一勞永逸的解決這些問題,于是RedFish應運而生,IPMI也在2015年公布2.0 v1.1標準后,不再更新,被RedFish永久代替,Intel也宣布不再維護,號召大家轉戰RedFish。
什么是redfish?
????????Redfish 規范的第一個版本于2015年8月由分布式管理任務組( Distributed Management Task Force,DMTF )發布,是一個開放的行業標準規范,為可擴展平臺硬件提供簡單,現代和安全的管理功能。它是一個超媒體API,所以它能夠通過一個一致的接口來表示各種實現。它有管理數據中心資源、處理事件、長期任務和發現的機制。基于Redfish統一的管理接口規范普及之后,未來能夠有效減少不同服務器硬件管理接口帶來的大量適配和開發和測試工作。目前,RedFish標準由DMTF組織的SPMF論壇維護。
???????Redfish是一種基于HTTPs服務的管理標準,利用RESTful接口實現設備管理。每個HTTPs操作都以UTF-8編碼的JSON格式(JSON是一種key-value對的數據格式)提交或返回一個資源或結果,就像Web應用程序向瀏覽器返回HTML一樣。該技術具有降低開發復雜性,易于實施、易于使用而且提供了可擴展性優勢,為設計靈活性預留了空間。
Redfish 在標準訂立之初,就設定了以下目標:
????????1.安全
????????2.高可擴展管理(Scalable)
????????3.人類可讀數據界面(Human readable data)
????????4. 基于現有硬件可實現
????????開發Redfish的主要原因之一是解決遺留IPMI無法有效解決的安全需求。例如,Redfish基于其網絡傳輸協議的超文本傳輸協議安全(HTTPS)/安全套接字層(SSL)標準,這比唯一的IPMI網絡協議更普遍、更安全、更可審計。
????????最后一條淺顯易懂,也就是現在支持IPMI的BMC上,不需要(或者很小)硬件改動,就可以支持RedFish,也就是硬件兼容。高可擴展性通過定義所有的API為RESTful形式的API來完成。REST(REpresent State Transfer,REST),這個概念從Web API而來,相對于傳統的SOAP API,RESTful的API定義很簡單(如:POST,GET,PUT或DELETE),將對象的狀態State,用JSON或XML格式在服務器和Client之間傳遞,這也是它的名字的由來。
?????????Redfish = REST ?API + 軟件定義的服務器(數據模型)。
 ?????????簡單來說就是規定了某些資源,通過RESTful API操作這些資源。
?????????下圖為DMTF組織定義的Redfish資源示意圖,我們可以看到3大分支——Systems(系統的邏輯視圖) 、Chassis(系統的物理視圖)和 Managers(BMC功能)。
?????????Redfish依賴于RESTful(Representational State Transfer)編程接口,該接口允許使用多種編程語言進行簡單查詢。數據傳輸在HTTPS上,數據格式為JSON,支持Apps、GUI和腳本多種調用方式。HTTP容易被運維人員理解,并且擁有眾所周知的安全模型。JSON是一種現代化數據格式,比XML要簡單,普通人都能看懂。運維人員可以使用他們現有的 DevOps (運維/開發) 技能和工具鏈來執行系統管理任務。
總結
以上是生活随笔為你收集整理的(一)Redfish简介的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ASCII码
- 下一篇: DB2报错原因汇总(sqlcode sq
