Redfish接口规范学习与总结

此文章旨在帮助大家了解Redfish接口,总结如下几部分:

  1. Redfish接口介绍
  2. 标准规范文档介绍
  3. 各厂商规范资源链接

如有建议,请留言

Redfish接口介绍

Redfish 接口的规范文档是理解和实现数据中心硬件管理标准化的核心资源,其内容覆盖技术架构、操作规范及扩展机制。Redfish 是 DMTF 开发的开放标准,通过 RESTful API 实现对服务器、存储、网络设备的统一管理。其设计目标包括:

  • 替代 IPMI:解决 IPMI 协议在扩展性、安全性和可读性上的局限,例如 IPMI 仅支持基础命令集且缺乏统一厂商扩展。
  • 现代工具链兼容:采用 HTTP (S) JSON 和 OData v4 规范,支持直接与 DevOps 工具链集成。
  • 混合 IT 环境覆盖:不仅管理传统服务器,还支持软件定义数据中心(SDDC)和可组合基础设施。

Redfish的资源按照如下规则进行组织:

  • 资源分类:定义系统(Systems)、管理器(Managers)、机箱(Chassis)等核心资源类型,每个资源通过唯一 URI 标识(如/redfish/v1/Systems/1)。
  • 操作接口:基于 RESTful 语义,支持 GET(读取),PATCH(部分更新),POST(创建),DELETE(删除)等 HTTP 方法,并通过 JSON 格式传递数据。
  • 数据模式:采用 OData v4 和 JSON Schema 双重定义,确保机器可读性与人类可读性的平衡。例如,@odata.type属性指定资源类型,@odata.id提供资源 URI。

Redfish支持相关的安全与配置机制:

  • 传输层安全:强制使用 HTTPS 加密通信,支持 TLS 1.2 及以上协议。
  • 会话管理:通过/redfish/v1/SessionService/Sessions接口创建会话,返回 X-Auth-Token 用于后续请求认证,支持权限分级(如管理员、只读用户)。
  • ETag 机制:用于资源版本控制,防止并发修改冲突。客户端需在请求中携带If-Match头匹配 ETag 值。

Redfish支持事件与监控资源:

  • 事件订阅:支持通过EventService订阅设备状态变更(如温度异常、电源故障),事件以 JSON 格式推送至指定目的地。
  • 日志管理LogService提供系统操作日志查询,包括固件更新记录、用户登录日志等。

Redfish允许厂商自行扩展:

  • 厂商扩展:允许在标准资源中添加Oem字段实现自定义功能,例如戴尔 iDRAC 的/redfish/v1/Oem/Dell扩展接口。
  • 协议映射:支持与其他标准(如 SNIA 的 Swordfish 存储管理、网络设备的 Yang 模型)集成,扩展管理范围至存储和网络域。

标准规范文档

  1. 官方文档下载

    • 核心规范:DMTF 官网( REDFISH | DMTF )提供免费下载,最新版本为 1.22.0(2025 年 3 月发布),包含 PDF 和 HTML 格式。

      规范下载建议下载DSP0268,此文档包含全量数据模型定义。

    • 扩展规范:如《Redfish Interoperability Profiles》定义多厂商设备协同操作的一致性要求

  2. 厂商补充文档

  3. 社区与学习资源

5 个赞