如何使用 BMC Redfish REST API 更新 SR635 和 SR655 系統韌體

如何使用 BMC Redfish REST API 更新 SR635 和 SR655 系統韌體

如何使用 BMC Redfish REST API 更新 SR635 和 SR655 系統韌體

這份文件為翻譯程式自動翻譯結果,請點選以下連結流灠英文版文件內容。

描述

AMD 1P Redfish 伺服器是基於 AMI MegaRAC® Redfish 技術套件 V1.7(遵循 DSP0266 1.7.0 規格和 Redfish Schema 2019.1)。為了新增 OEM API, Redfish 使用 RESTful 介面語意學和 JSON 資源負載透過基於 Web 的協定執行系統管理。

本文介紹使用 BMC Redfish REST API 更新系統韌體的流程。

本文將使用以下 HTTP 方法:

  • GET:讀取請求-用於請求指定的資源或集合來檢查數據
  • POST:動作請求-用於發起作業或建立資源

適用系統

SR635、SR655

先決條件

  • Redfish 用戶端必須安裝在您的工作站或筆記型電腦上。
    • 紅魚客戶端
      • Chrome:Postman、Talend API 測試器
      • 火狐瀏覽器:REST客戶端
  • 工作站或筆記型電腦必須能夠直接透過網路存取目標伺服器上的 BMC。

程式

  1. Lenovo支援頁面下載適合您的機器的韌體包。
  2. 解壓縮檔案並將內容複製到指定資料夾。

如何取得已安裝的韌體信息

  1. 若要存取韌體清單集合中的屬性,請開啟 Postman,選擇GET方法 ,然後輸入以下要求的 URL https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
  2. 授權標籤中,從類型選單中選擇基本驗證,然後輸入 BMC 憑證 。點選發送
    韌體庫存
    注意:每個請求都需要此授權步驟。
    回應範例
    如果上一次請求成功,會傳回類似如下的訊息體:
     {
        
    “@odata.context”  “/redfish/v1/$metadata#SoftwareInventoryCollection.SoftwareInventoryCollection” 
        
    "@odata.etag" : "\"1577837046\"" ,
        
    “@odata.id”  “/redfish/v1/UpdateService/FirmwareInventory” 
        
    "@odata.type" : "#SoftwareInventoryCollection.SoftwareInventoryCollection" ,
        
    “Description”  “UpdateService 可用的韌體清單資源集合” 
        
    “會員” :[
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPMLinuxDriver1" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/PSU2" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPMWindowsDriver1" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/BMC-Backup" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPM" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/UEFI" },
        
    {
        
    “@odata.id”  “/redfish/v1/UpdateService/FirmwareInventory/PSU1” }
        
    ],
        
    “會員@odata.count”  8 
        
    “名稱”  “韌體庫存集合” } 
        
  3. 從成員清單的輸出中,找到您要查詢的系統韌體端點 - 例如/redfish/v1/UpdateService/FirmwareInventory/UEFI 。將其輸入 URL 欄位以取得 UEFI 資訊。
{
  
    "@odata.context" : "/redfish/v1/$metadata#UpdateService.UpdateService" ,
  
    "@odata.etag" : "\"1577837046\"" ,
  
    “@odata.id”  “/redfish/v1/UpdateService/FirmwareInventory/UEFI” 
  
    “@odata.type”  “#SoftwareInventory.v1_2_2.SoftwareInventory” 
  
    “Id”  “UEFI” 
  
    “名稱”  “UEFI 韌體” 
  
    “相關項目” :[
  
{
  
            “@odata.id”  “/redfish/v1/Systems/Self”
  
},
  
{
  
            “@odata.id”  “/redfish/v1/Systems/1”
  
}
  
],
  
    “RelatedItem@odata.count”  2 
  
    “軟體ID”  “CFE118K” 
   
    「地位」 : {
   
        「健康」  「還好」 
   
        “狀態”  “已啟用”
   
},
   
    “可更新”  true 
   
    “版本”  “5.10”
  
}

在上面顯示的回應資料中,安裝的 UEFI 版本為5.10 ,軟體 ID 為CFE118K

UEFI 更新

  1. 選擇POST方法,然後輸入以下請求的 URL: https:// BMCIP /redfish/v1/UpdateService/upload
  2. 在 POST 操作的正文標籤中,選擇form-data ,將 KEY 名稱設為UpdateFile ,並將 KEY 類型變更為File

後正文

  1. 在值部分中,選擇要更新的韌體映像。

文件

  1. 開啟文字編輯器(例如 Notepad++)建立包含以下內容的parameters.json JSON 檔案:
 {“目標”:[“/redfish/v1/Managers/Self”]} 

參數

  1. 建立另一個oem_parameters.json JSON 文件,其中包含以下內容:
 {
      "FlashType":"UEFI更新",
      "上傳選擇器":"預設"                    
} 

OEM_參數

  1. 輸入UpdateParameters作為 KEY 名稱,將 KEY 類型變更為File ,然後選擇您在步驟 4 中建立的parameters.json檔案。
  2. 輸入OemParameters作為另一個 KEY 名稱,將 KEY 類型變更為File ,然後選擇您在步驟 5 中建立的oem_parameters.json檔案。
  3. 按一下“發送”

UEFI更新

  1. 如果請求成功,將顯示回應代碼狀態202 Accepted 。訊息正文將類似於以下範例:

202 已接受

UEFI 更新狀態

在上面的回應範例中, /redfish/v1/TaskService/Tasks/1989是剛剛建立的新任務。您可以使用Get方法透過任務 ID 查詢更新狀態。

請求網址

https:// BMCIP /redfish/v1/TaskService/Task/ ID

回應範例

查詢BIOS狀態

查詢BIOS狀態2

強力動作

  1. 重新啟動伺服器並再次執行韌體清單。 BIOS版本將已更新。

您也可以使用POST方法執行系統重設。

請求網址

https: //BMCIP/redfish/v1/System/Self/Actions/ComputerSystem.Reset

POST 操作請求的正文

{“ResetType”:“強制重啟”}

回應範例

如果操作成功,將傳回回應狀態 202 以及以下回應正文:

 {
  
    "@odata.context" : "/redfish/v1/$metadata#Task.Task(任務狀態,描述,名稱,Id)" ,
  
    “@odata.id”  “/redfish/v1/TaskService/Tasks/1” 
  
    "@odata.type" : "#Task.v1_2_0.Task" ,
  
    “描述”  “計算機重置任務” 
  
    “ID”   1  
  
    “名稱”  “計算機重置” 
  
    “任務狀態”  “新”
  
} 
  

BMC更新

  1. 選擇 POST 方法,然後輸入以下請求的 URL:

http:// BMCIP /redfish/v1/UpdateService/upload

  1. 在 POST 操作的正文標籤中,選擇form-data ,將 KEY 名稱設為UpdateFile ,並將 KEY 類型變更為File

後正文

  1. 在值部分中,選擇要更新的韌體映像。

文件

  1. 開啟原始碼編輯器(例如 Notepad++)建立包含以下內容的parameters.json JSON 檔案:
 {“目標”:[“/redfish/v1/Managers/Self”]} 

參數

  1. 建立另一個oem_parameters.json JSON 文件,其中包含以下內容:
 {
      "FlashType":"HPMFwUpdate",
      "上傳選擇器":"預設"                     
} 

參數_bmc

  1. 輸入UpdateParameters作為 KEY 名稱,將 KEY 類型變更為File ,然後選擇您在步驟 4 中建立的parameters.json檔案。
  2. 輸入OemParameters作為另一個 KEY 名稱,將 KEY 類型變更為File ,然後選擇您在步驟 5 中建立的oem_parameters.json檔案。
  3. 按一下“發送”

BMC更新

  1. 如果請求成功,將顯示回應代碼狀態202 Accepted 。訊息正文將類似於以下範例:

BMC_任務

在上面的回應範例中, /redfish/v1/TaskService/Tasks/1991是剛剛建立的新任務。您可以使用Get方法透過任務ID查詢更新狀態。

請求網址

https:// BMCIP /redfish/v1/TaskService/Task/ ID

回應範例

BMC_更新狀態

  1. 當任務狀態完成並且可以存取ThinkSystem System Manager (BMC GUI) 時,BMC 版本將會更新。

影片

附加資訊

相關文章

文件ID:HT511480
原始發布日期:11/19/2020
Last Modified Date:03/30/2024