Redfish API
本文主要介绍redfish api的调用路径及格式。
Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。可以理解为redfish api就是通过http的调用方式来操作服务器的bmc设备,从而实现对设备的远程控制。
1. BMC常用功能操作
-
BIOS 管理
-
启动设置(boot order)
-
虚拟媒体管理
-
电源管理(开机、关机、重启)
-
固件升级
-
远程控制(VNC/SOL)
-
监控和日志
2. 通用 Redfish API 接口格式
2.1. 通用 Redfish API 接口格式
2.1.1. 基础路径结构
/redfish/v1/
2.1.2. 主要资源类型
- 系统资源 (Systems)
/redfish/v1/Systems/{systemId}/
├── Bios/ # BIOS设置
├── Boot/ # 启动设置
├── Memory/ # 内存信息
├── Processors/ # 处理器信息
├── Storage/ # 存储信息
├── EthernetInterfaces/ # 网络接口
└── Actions/ # 系统操作
- 机箱资源 (Chassis)
/redfish/v1/Chassis/{chassisId}/
├── Power/ # 电源管理
├── Thermal/ # 温度管理
├── NetworkAdapters/ # 网络适配器
└── Actions/ # 机箱操作
- 管理控制器 (Managers)
/redfish/v1/Managers/{managerId}/
├── NetworkProtocol/ # 网络协议
├── VirtualMedia/ # 虚拟媒体
├── LogServices/ # 日志服务
└── Actions/ # 管理操作
- 更新服务 (UpdateService)
/redfish/v1/UpdateService/
├── FirmwareInventory/ # 固件清单
└── Actions/ # 更新操作
3. BIOS 管理
1. 通用 BIOS 接口路径
/redfish/v1/Systems/{systemId}/Bios
获取 BIOS 属性
GET /redfish/v1/Systems/{systemId}/Bios
设置 BIOS 属性
PATCH /redfish/v1/Systems/{systemId}/Bios/Settings
2. 各厂商路径
厂商 | 操作 | 方法 | 路径 | request |
---|---|---|---|---|
Dell | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | /redfish/v1/Systems/{systemId}/Bios/Settings | {"Attributes": attrs, "@Redfish.SettingsApplyTime": "OnReset"} |
|
HPE | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | /redfish/v1/Systems/{systemId}/Bios/Settings | {"Attributes": attrs, "@Redfish.SettingsApplyTime": "OnReset"} |
|
HUAWEI | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | /redfish/v1/Systems/{systemId}/Bios/Settings | { "Attributes": attrs} | |
Inspur | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | |||
Lenovo | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | /redfish/v1/Systems/{systemId}/Bios/Settings | { "Attributes": attrs} | |
xFusion | 获取 BIOS 属性 | GET | /redfish/v1/Systems/{systemId}/Bios | |
设置 BIOS 属性 | PATCH | /redfish/v1/Systems/{systemId}/Bios/Settings | { "Attributes": attrs} |
4. 启动设置(boot order)
5. VirtualMedia 的通用接口路径
1. 通用 VirtualMedia 接口路径
/redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/
获取虚拟媒体信息
GET /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/
插入虚拟媒体
POST /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.InsertMedia
弹出虚拟媒体
POST /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.EjectMedia
2. 各厂商路径
厂商 | 操作 | 方法 | 路径 | request |
---|---|---|---|---|
Dell | 获取VirtualMedia | GET | /redfish/v1/Managers/{managerId}/VirtualMedia/CD | |
插入VirtualMedia | ||||
弹出VirtualMedia | ||||
HPE | 获取VirtualMedia | GET | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId} | |
插入VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.InsertMedia | { "Image": "string", "Inserted": boolean, "WriteProtected": boolean } |
|
弹出VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.EjectMedia | ||
HUAWEI | 获取VirtualMedia | GET | /redfish/v1/Managers/{managerId}/VirtualMedia/CD | |
插入VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/CD/Oem/Huawei/Actions/VirtualMedia.VmmControl | {"VmmControlType": "Connect", "Image": imageURL} |
|
弹出VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/CD/Oem/Huawei/Actions/VirtualMedia.VmmControl | {"VmmControlType": "Disconnect"} | |
Inspur(M6) | 获取VirtualMedia | GET | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId} | mediaId=CD/CD1 |
插入VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.InsertMedia | {"Image": image, "TransferProtocolType": "NFS"} |
|
弹出VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/{mediaId}/Actions/VirtualMedia.EjectMedia | ||
Lenovo | 获取VirtualMedia | GET | /redfish/v1/Systems/{systemId}/VirtualMedia/EXT1 | |
插入VirtualMedia | ||||
弹出VirtualMedia | PATCH | /redfish/v1/Systems/{systemId}/VirtualMedia/EXT1 | {"Inserted": false} | |
xFusion(华为子品牌) | 获取VirtualMedia | GET | /redfish/v1/Managers/{managerId}/VirtualMedia/CD | |
插入VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/CD/Oem/xFusion/Actions/VirtualMedia.VmmControl | {"VmmControlType": "Connect", "Image": imageURL} |
|
弹出VirtualMedia | POST | /redfish/v1/Managers/{managerId}/VirtualMedia/CD/Oem/xFusion/Actions/VirtualMedia.VmmControl | {"VmmControlType": "Disconnect"} |
6. 电源管理(开机、关机、重启)
7. 固件升级
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 May 18, 2025: add redfish api (e8fa552)