कैसे ThinkSystem सर्वरों के लिए XCC Redfish REST API का उपयोग करके सिस्टम फर्मवेयर अपडेट करें
कैसे ThinkSystem सर्वरों के लिए XCC Redfish REST API का उपयोग करके सिस्टम फर्मवेयर अपडेट करें
कैसे ThinkSystem सर्वरों के लिए XCC Redfish REST API का उपयोग करके सिस्टम फर्मवेयर अपडेट करें
विवरण
Lenovo XClarity कंट्रोलर (XCC) उद्योग मानक Redfish स्केलेबल प्लेटफार्म प्रबंधन API का समर्थन प्रदान करता है, जिसका उपयोग XCC के बाहर चलने वाले अनुप्रयोगों से XCC डेटा और सेवाओं तक पहुंचने के लिए किया जा सकता है। Redfish RESTful इंटरफेस सेमांटिक्स और JSON संसाधन पेलोड का उपयोग करके वेब-आधारित प्रोटोकॉल के माध्यम से सिस्टम प्रबंधन करता है।
- GET: पढ़ने का अनुरोध - निर्दिष्ट संसाधन या संग्रह को डेटा की जांच के लिए अनुरोध करने के लिए उपयोग किया जाता है
- POST: क्रिया अनुरोध - संचालन शुरू करने या संसाधन बनाने के लिए उपयोग किया जाता है
लागू सिस्टम
ThinkSystem (HR330A, HR350A, HR630X, HR650X को छोड़कर), SR645, SR665
पूर्वापेक्षाएँ
- Redfish क्लाइंट:
- Chrome: Postman, Talend API Tester
- Firefox: RESTClient
- कार्यस्थल या लैपटॉप को लक्षित सर्वर पर XCC तक सीधे नेटवर्क पहुंच होनी चाहिए।
प्रक्रियाएँ
XCC Redfish API विधि का उपयोग करके सिस्टम फर्मवेयर स्तरों को अपडेट करने के लिए निम्नलिखित चरणों का उपयोग करें।
आवश्यक फर्मवेयर पैकेज डाउनलोड करें
- अपने मशीन के लिए उपयुक्त फर्मवेयर पैकेज को Lenovo समर्थन पृष्ठ से डाउनलोड करें।
- फाइलों को अनज़िप करें और सामग्री को निर्दिष्ट फ़ोल्डर में कॉपी करें।
स्थापित फर्मवेयर संस्करण प्राप्त करें
- फर्मवेयर इन्वेंटरी संग्रह में गुणों तक पहुंचने के लिए, पोस्टमैन खोलें, GET विधि का चयन करें ① और फिर निम्नलिखित अनुरोधित URL दर्ज करें ②: https://BMCIP/redfish/v1/UpdateService/FirmwareInventory
- Authorization टैब में, Type मेनू से Basic Auth का चयन करें ③, और फिर BMC क्रेडेंशियल्स दर्ज करें ④. Send पर क्लिक करें⑤.
नोट: यह प्राधिकरण चरण प्रत्येक अनुरोध के लिए आवश्यक है।
प्रतिक्रिया उदाहरण
यदि अनुरोध सफल होता है, तो निम्नलिखित के समान एक संदेश शरीर लौटाया जाएगा:
{ "Members": [ { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC-Backup" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/UEFI" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/LXPM" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/LXPMWindowsDriver" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/LXPMLinuxDriver" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Slot_4.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_5.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_4.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.2" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Slot_4.1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk2" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk3" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk4" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk5" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disk6" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/PSU1" } ], "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "Members@odata.count": 20, "@odata.etag": "\"af76d20eb1af2e197f855\"", "Name": "SoftwareInventoryCollection", "Description": "Firmware Inventory Collection." }
- Members सूची के आउटपुट से, उस सिस्टम फर्मवेयर एंडपॉइंट को खोजें जिसे आप क्वेरी करना चाहते हैं - उदाहरण के लिए, /redfish/v1/UpdateService/FirmwareInventory/UEFI. इसे UEFI जानकारी प्राप्त करने के लिए URL फ़ील्ड में दर्ज करें।
{ "ReleaseDate": "2020-09-18T00:00:00Z", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/1/Bios" } ], "Id": "UEFI", "Status": { "HealthRollup": "OK", "Health": "OK", "State": "Enabled" }, "Manufacturer": "Lenovo", "Name": "Firmware:UEFI", "Version": "60N-2.71", "SoftwareId": "UEFI-IVE1-6", "RelatedItem@odata.count": 1, "@odata.type": "#SoftwareInventory.v1_2_3.SoftwareInventory", "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/UEFI", "Updateable": true, "@odata.etag": "\"3d193e9f3c0c2725df0\"", "LowestSupportedVersion": null, "Description": "The information of UEFI firmware." }
उपरोक्त प्रतिक्रिया डेटा में, स्थापित UEFI 60N-2.71 है और सॉफ़्टवेयर ID UEFI-IVE1-1.6 है।
फर्मवेयर अपडेट लागू करें
UEFI या XCC अपडेट लागू करने के लिए POST विधि का उपयोग करें।
UEFI अपडेट
- POST विधि का चयन करें, और फिर निम्नलिखित अनुरोधित URL दर्ज करें: https://BMCIP/fwupdate
- POST क्रिया के लिए Body टैब में, binary का चयन करें, और फिर अपडेट करने के लिए फर्मवेयर छवि का चयन करें।
- Send पर क्लिक करें।
- यदि अनुरोध सफल होता है, तो प्रतिक्रिया कोड स्थिति 202 Accepted प्रदर्शित होगी। संदेश शरीर निम्नलिखित उदाहरण के समान होगा:
उपरोक्त प्रतिक्रिया उदाहरण में, /redfish/v1/TaskService/Tasks/00fc5d1b-f3da-469a-a4b0-007e91baa55f वह नया कार्य है जो अभी बनाया गया है। आप कार्य ID के साथ अपडेट स्थिति को क्वेरी करने के लिए Get विधि का उपयोग कर सकते हैं।
अनुरोधित URL
https://BMCIP/redfish/v1/TaskService/Task/ID
प्रतिक्रिया उदाहरण
- सर्वर को पुनरारंभ करें और फिर से फर्मवेयर इन्वेंटरी करें। BIOS संस्करण अपडेट किया जाएगा।
आप सिस्टम रिबूट करने के लिए POST विधि का भी उपयोग कर सकते हैं।
अनुरोधित URL
https://BMCIP/redfish/v1/Systems/1/Actions/ComputerSystem.Reset
अनुरोधित शरीर POST क्रिया का:
{"ResetType":"GracefulRestart"}
# सिस्टम रीसेट प्रकार के संभावित मान On/ForceOff/GracefulShutdown/GracefulRestart/ForceRestart/Nmu/ForceOn हो सकते हैं
प्रतिक्रिया उदाहरण
निम्नलिखित JSON प्रतिक्रिया लौटाई जाएगी:
None
XCC अपडेट
- POST विधि का चयन करें, और फिर निम्नलिखित अनुरोधित URL दर्ज करें: https://BMCIP/fwupdate
- POST क्रिया के लिए Body टैब में, binary का चयन करें, और फिर अपडेट करने के लिए फर्मवेयर छवि का चयन करें।
- क्लिक करें Send.
- यदि अनुरोध सफल होता है, तो प्रतिक्रिया कोड स्थिति 202 Accepted प्रदर्शित होगी। संदेश शरीर निम्नलिखित उदाहरण के समान होगा:
उपरोक्त प्रतिक्रिया उदाहरण में, /redfish/v1/TaskService/Tasks/d9674179-39e2-4842-8cbe-5d2ce477e49b वह नया कार्य है जो अभी बनाया गया है। आप कार्य ID के साथ अपडेट स्थिति को क्वेरी करने के लिए Get विधि का उपयोग कर सकते हैं।
अनुरोधित URL
https://BMCIP/redfish/v1/TaskService/Task/ID
प्रतिक्रिया उदाहरण
- सर्वर को पुनरारंभ करें और फिर से फर्मवेयर इन्वेंटरी करें। XCC संस्करण अपडेट किया जाएगा।
आप XCC को पुनरारंभ करने के लिए POST विधि का भी उपयोग कर सकते हैं।
अनुरोधित URL
https://BMCIP/redfish/v1/Managers/1/Actions/Manager.Reset
अनुरोधित शरीर POST क्रिया का:
{"ResetType":"GracefulRestart"}
# XCC रीसेट प्रकार के संभावित मान GracefulRestart/ForceRestart हो सकते हैं
प्रतिक्रिया उदाहरण
निम्नलिखित JSON प्रतिक्रिया लौटाई जाएगी:
None