日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BMC】Redfish简述

發(fā)布時間:2023/12/31 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BMC】Redfish简述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Redfish是什么

Redfish是一個規(guī)范,由DMTF(Distributed Management Task Force)這個組織維護。

Redfish是一種基于HTTPs服務的管理標準,利用RESTful接口實現(xiàn)設備管理。

Redfish使用了很多互聯(lián)網(wǎng)的概念,上面提到的RESTful就是其中使用的一個概念。RESTful是一個形容詞,表示的是符合REST(Representational State Transfer)這一原則的程序或者設計。RESTful程序或者設計使用一種簡單的形式來完成數(shù)據(jù)傳輸,具體操作只有下面的幾種:

操作說明
POST(Create)創(chuàng)建新資源或執(zhí)行指定資源的方法。
GET(Read)返回所請求的資源描述。
PATCH(Update)修改當前資源屬性。
DELETE(Delete)刪除指定資源。

每個Redfish操作傳輸?shù)臄?shù)據(jù)格式也是標準的,有幾種類型,比較常用的如JSON格式。

Redfish使用的另一個互聯(lián)網(wǎng)概念就是Service-Client,如下圖所示:

Redfish最早是使用在服務器設備上的,此時服務器(通常是服務器上的BMC)就是Redfish Server,而Redfish Client可以是你的電腦,或者更確切得說是電腦中的Redfish程序,通過該程序,你可以訪問、修改、更新、刪除服務器上的資源。

Redfish的規(guī)范可以在REDFISH | DMTF下載到,到寫本文時的最新版本是1.16。

Redfish用來做什么

通常一臺服務器包含若干強勁的CPU、若干GPU卡、硬盤、網(wǎng)卡等等,你可以用這臺強大的服務器完成各種工作,比如數(shù)據(jù)運算,動畫渲染,等等。一般情況下,服務器能夠正常工作,可是還是存在各種異常的情況,比如服務器風扇壞了一個,導致設備過熱產(chǎn)生異常。

當服務器異常之后,就需要去排查和解決問題。通常服務器會放在一個獨立的房間,因此你需要到這個房間去做問題的定位。由于散熱的問題,房間里面通常不是過熱就是過冷,更可怕的是,為了散熱,服務器通常安裝有強勁的風扇,它們產(chǎn)生的噪音會讓你定位的過程充滿身體的不適。如果只是一臺服務器還能夠忍受,而當你有一個房間的服務器時,情況會變得更難以忍受。

此時你會想到,是否可以遠程來定位呢,這樣就不需要在冷氣和噪音都過大的房間里面呆著。通常情況下,在服務器上安裝的操作系統(tǒng)都存在遠程工具(比如SSH),所以遠程操作還是可以實現(xiàn)的,所以我們可以在服務器操作系統(tǒng)中增加各種功能,用于監(jiān)控溫度、風扇,等等。但是這樣還是存在一些問題:如果服務器的問題實在太大導致操作系統(tǒng)都掛掉了怎么辦?還有如果讓服務器操作系統(tǒng)做這些監(jiān)控的工作,是否浪費了大量的算力了呢,尤其是這些工作對于CPU來說實在是大材小用了(監(jiān)控的都是慢速設備,對于高速的CPU來說,效率上存在的浪費)。

為了解決這個問題,一個辦法就是引入額外的組件來做監(jiān)控操作。有了個想法之后,各大服務器廠商就聯(lián)合起來,引入了一個平臺管理(Platform Management)的概念。它通過一個額外的基板管理芯片(Baseboard Manager Controller,簡稱BMC)來完成所有的監(jiān)控工作,當然除了監(jiān)控工作,我們還希望它能完成其它的基本操作,比如服務器開關機、日志記錄、監(jiān)控異常后告警,等等,這樣對于問題的發(fā)現(xiàn)、定位和解決會有更多的幫助。

到這里硬件上已經(jīng)有了,還需要有軟件上的實現(xiàn)。這里廠商又推出了一個規(guī)范,稱為IPMI(Intelligent Platform Management Interface)。IPMI規(guī)范定義了外部設備(主要是服務器中的各種組件)與BMC交互的接口,這也是能夠理解的,因為BMC需要監(jiān)控服務器的其它設備的話,肯定需要一個通信的方式。通信的硬件接口,可以是普通的I2C、UART、PCIe、USB、網(wǎng)卡等,也可以是特定的KCS、IPMB等BMC特定的硬件接口,而其上傳輸?shù)臄?shù)據(jù)就需要滿足IPMI規(guī)范定義的格式。這些數(shù)據(jù)格式定義的操作能夠滿足基本的服務器操作,比如服務器開關機、傳感器數(shù)據(jù)獲取、日志獲取,等等。

到這里,雖然還有很多的功能和細節(jié)沒有提及,但是服務器的平臺管理功能基本上就完善了。不過,說了一大堆,本文的主角Redfish卻還沒有提及。Redfish的出現(xiàn)實際上是為了代替IPMI。在使用了一段時間的IPMI之后(IPMI在1998年推出,Redfish在2014年推出),服務器廠商發(fā)現(xiàn)了一些問題,首先是IPMI規(guī)范雖然定義了很多的操作,但是最初的版本中并沒有定義足夠多的操作,導致在發(fā)展的過程中,各個服務器各自使用了很多的自定義操作,由于IPMI的操作是按照(NetFn/Cmd)的格式定義的,導致對于同一個(NetFn/Cmd),不同的廠商提供的服務器可能對應不同的操作。然后是IPMI設計之初對于安全方面的考慮就不夠,導致當前存在不少的安全漏洞,修復代價巨大。所以到2013年退出2.0版本的IPMI規(guī)范之后就不再更新了,而是轉到了Redfish。

Redfish基于HTTPs,所以安全上有保證。且Redfish使用的RESTfull接口和JSON數(shù)據(jù)格式簡單易用又易讀,還便于擴展。所以成為了IPMI的替代者。目前的服務器基本都實現(xiàn)了Redfish接口。

到這里,所以Redfish在本文中的出場機會不多,但是通過前面的說明,應該也已經(jīng)能夠明白Redfish的作用了吧。

如果要說到實際的體驗,你可以通過瀏覽器登錄到BMC上,比如下面這樣(示例來自虛擬的OpenBMC,并非真的服務器):

通過瀏覽器進行的操作,背后就可能包含Redfish實現(xiàn)。這是一個間接的示例,你可能還看不到Redfish的身影,另一個例子就是使用postman工具,其中可以看到Redfish傳輸?shù)腏SON數(shù)據(jù)數(shù)據(jù),下面就是一個例子:

總結

以上是生活随笔為你收集整理的【BMC】Redfish简述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。