Redfish
3 秒看懂
Redfish 是由 DMTF(分布式管理任务组)制定的、基于 RESTful API 和 JSON 的现代化服务器与数据中心硬件带外管理标准。它是 IPMI 协议的继承者,旨在为 AI 服务器、异构计算集群等复杂基础设施提供统一、安全、可编程的管理接口。
3 分钟产业解释
在 AI 训练/推理集群中,数以千计的 GPU 服务器、高速网络和存储设备构成了庞大的硬件资源池。运维人员需要一种标准化、自动化的方式来监控状态(如 GPU 温度、功耗)、执行固件更新、控制电源和配置网络,而无需登录到操作系统或连接物理线缆。这就是“带外管理”——通过独立于主业务网络的专用管理接口进行。
Redfish 的核心价值在于标准化。它取代了老旧、不安全的 IPMI,定义了一套统一的、人类可读的 API 接口和数据模型。这意味着,无论是戴尔、惠普、联想还是超微的服务器,其电源管理、传感器数据查询等功能都可以用同一套代码来控制。对于构建大规模、自动化、混合品牌的 AI 算力中心而言,Redfish 极大地降低了集成复杂度和运维成本,是 AI 基础设施实现“软件定义”的关键管理基石。
15 分钟专家深入
Redfish 的意义远不止于替换 IPMI。它代表了数据中心硬件管理从“基于命令的、不安全的专有协议”向“基于资源的、安全的标准化服务”的范式转变。
- 标准化的粒度与生态:Redfish 定义了非常丰富的“资源模式”,例如
Chassis(机箱)、ComputerSystem(计算系统)、Manager(管理控制器)等。每个模式下都有详细的属性(如温度、功耗、序列号)和操作(如重置、启动)。厂商可以在此基础上扩展,但核心接口保持一致。这催生了一个包括硬件厂商、ISV(独立软件开发商)、开源项目(如 OpenBMC 内置 Redfish)在内的生态系统。 - 自动化与可观测性的基石:在 AI 训练任务中,如果某块 GPU 因过热而降频,Redfish API 能够被上层编排系统(如 Kubernetes、Slurm)或监控系统(如 Prometheus)实时探测到,从而触发自动故障隔离或告警。它提供的结构化 JSON 数据,比 IPMI 的原始十六进制数据更易于集成到现代可观测性栈(日志、指标、追踪)中。
- 对 AI 时代的适应性:现代 AI 服务器常包含定制化组件(如液冷 CDU、多路 GPU 模组)。Redfish 允许厂商通过 OEM 扩展 方式,为这些特定组件定义管理接口,同时保持主框架的兼容性。这使得管理框架能灵活适配快速迭代的 AI 硬件创新。
一个关键的技术范式是 RESTful 设计:将每个物理或逻辑组件抽象为一个资源(通过 URI 标识,如 /redfish/v1/Systems/1),通过标准的 HTTP 方法(GET、POST、PATCH、DELETE)来查询和操作,数据格式为自描述的 JSON。
[ 客户端 (运维工具/脚本/监控系统) ]
|
| HTTPS (Port 443)
v
[ Redfish Service (在BMC/iDRAC/iLO上) ]
|
|--- 管理 -> [ CPU, GPU, Memory, Fans, PSU, NIC ... ]
|--- 固件更新
|--- 虚拟KVM/媒体挂载 (通常通过独立但关联的服务实现)
技术原理(最深)
Redfish 的架构基于 资源模型(Resource Model) 、RESTful API 、安全通信 和 事件服务 四大支柱。
1. 核心资源模型 DMTF 以 JSON Schema 的形式定义了一套层次化的资源模型。这是一个虚拟的、逻辑化的“管理树”:
/redfish/v1 (服务根)
|-- /Chassis/1 (机箱,可能是刀片或独立服务器)
| |-- /Thermal (散热子系统:温度传感器、风扇)
| |-- /Power (电源子系统:PSU状态、功耗历史)
| |-- /Drives/1 (硬盘)
| ...
|-- /Systems/1 (计算系统:CPU、内存、启动设置)
| |-- /Processors/1 (处理器)
| |-- /Memory/1 (内存条)
| |-- /EthernetInterfaces/1 (网络接口)
| |-- /LogServices/1 (日志服务,如系统事件日志SEL)
| ...
|-- /Managers/1 (管理控制器自身,即BMC)
|-- /NetworkProtocol (管理网络设置)
|-- /AccountService (用户账户管理)
|-- /UpdateService (固件更新服务)
|-- /SessionService (会话服务)
- 关键参数:资源属性使用明确的数据类型定义。例如,温度传感器的
ReadingCelsius是数字类型,Status.State是枚举类型(如Enabled,Disabled)。 - OEM 扩展:厂商可以在标准资源下通过
Oem属性添加私有数据,或注册全新的@odata.type(如#NvidiaGpu.v1_0_0.NvidiaGpu)来管理特定硬件。
2. RESTful API 交互
- 发现:客户端从众所周知的根路径
/redfish/v1/开始,通过响应中的链接(@odata.id)遍历整个管理树。 - 查询:使用
GET请求获取资源状态。例如,获取机箱1的温度:GET /redfish/v1/Chassis/1/Thermal。响应包含所有温度传感器和风扇的详细状态。 - 操作:使用
POST执行动作,PATCH修改配置。例如,设置 BIOS 启动模式:PATCH /redfish/v1/Systems/1/Bios,请求体为{"Attributes": {"BootMode": "Uefi"}}。
3. 安全机制
- 传输加密:强制要求 TLS (HTTPS)。
- 认证与授权:支持多种认证方式,最常见的是 HTTP Basic Auth(用户名/密码)和 Session 认证(创建会话后使用会话密钥)。权限通过预定义的角色(如
Administrator,ReadOnly)精细控制。 - 安全审计:通过
SessionService和LogServices记录所有管理操作。
4. 事件订阅服务
客户端可以订阅感兴趣的事件(如温度阈值告警、电源故障)。当事件发生时,Redfish 服务会向预先配置的 事件目的地(URL) 发送 POST 请求,内含事件详细信息。这是实现主动式、实时监控的关键。
技术演进史
- 前身:IPMI:诞生于1998年,基于二进制协议,使用不安全的 UDP 通信,数据结构不透明,难以集成和自动化,安全隐患大。
- Redfish v1.0 发布 (2015):DMTF 发布首版规范,确立了 RESTful/JSON 的核心设计理念。初期采纳缓慢,主要受限于厂商实现度和对 IPMI 的路径依赖。
- 生态成熟与扩展 (2017-2020):随着 OCP(开放计算项目)等组织推动,主要服务器厂商(Dell, HPE, Lenovo, Inspur, Supermicro)全线产品支持 Redfish。规范不断完善,加入了存储、网络、 composition(组合编排)等高级功能。
- 成为事实标准 (2021至今):在云原生和 AI 计算时代,自动化管理成为刚需。Redfish 因其标准化、可编程和安全的特性,已成为数据中心硬件管理的 事实标准。IPMI 功能被保留用于向后兼容,但新特性开发已全面转向 Redfish。
技术路线对比(量化表)
| 特性维度 | IPMI | SNMP | Redfish |
|---|---|---|---|
| 设计理念 | 命令驱动,平台特定 | 网络设备监控为中心 | 资源/模型驱动,面向基础设施管理 |
| 数据格式 | 二进制 | MIB定义的ASN.1 | JSON,人类可读,自描述 |
| 传输协议 | UDP (常用端口623),安全性差 | UDP (161/162),明文(v1/v2c)或安全(v3) | HTTPS,强制加密 |
| 接口风格 | 专有命令集 | GET/SET (MIB树) | RESTful (标准HTTP方法) |
| 扩展性 | 差,厂商命令私有 | 好,但MIB定义不统一 | 极好,有标准化的OEM扩展机制 |
| 安全模型 | 弱(基于密码) | 中等(v3可选加密认证) | 强(HTTPS+精细RBAC) |
| 现代集成难度 | 高,需要专用解析库 | 中等,工具链成熟但非原生Web | 低,原生支持HTTP/JSON,与云原生工具无缝集成 |
| 主要用途 | 传统服务器KVM、电源控制、传感器 | 网络设备、服务器粗粒度状态监控 | 数据中心全栈硬件管理(计算、存储、网络、机房) |
上下游
上游(依赖方):
- 硬件层:BMC(基板管理控制器) 是 Redfish 服务的运行主体,其上的固件(如 OpenBMC、各大厂商私有固件)实现了 Redfish 服务端。
- 芯片层:BMC 芯片(如 ASPEED AST2600)提供硬件基础。
Redfish 本身位置:管理固件/软件接口层。它向上层暴露标准化的管理能力。
下游(使用方/消费者):
- 基础设施管理软件:集群管理平台(如 OpenStack Ironic)、数据中心基础设施管理(DCIM)软件。
- 自动化编排工具:Ansible(有
community.general.redfish模块)、Terraform(通过第三方 provider)、Puppet。 - 监控与可观测性系统:Prometheus(通过 Redfish exporter)、Zabbix。
- 云管理平台与 Hypervisor:VMware vCenter、公有云内部管理平面。
- AI 训练平台:如 Kubernetes(通过自定义设备插件或 Operator)集成硬件状态,用于智能任务调度和故障恢复。
关键指标
评估 Redfish 实现质量与成熟度的核心指标:
- 功能完备性:支持的 DMTF 标准模式和动作数量,特别是对 GPU、液冷等 AI 专用组件的 OEM 扩展支持。
- API 性能:单次请求响应时间,并发处理能力。这影响大规模集群的巡检效率。
- 安全合规性:是否支持最新的 TLS 版本,密码策略强度,审计日志的完整性。
- 可靠性:服务本身的高可用性设计,不会因管理操作影响生产负载。
- 生态兼容性:与主流开源工具(OpenBMC, Prometheus)和商业管理软件的集成测试报告。
供需与市场数据
- 供给侧:全球主要服务器 ODM/OEM 厂商已 全系列标配 Redfish 支持。[行业估算] 目前新出厂的面向数据中心和 AI 的服务器,其 BMC 固件 100% 实现了 Redfish v1.x 核心功能。支持深度取决于产品线和价格。
- 需求侧:云服务商(CSP)、大型互联网公司、AI 研究机构是 最主要的驱动者和高端用户。他们对自动化、标准化的要求极高。传统企业市场正在从 IPMI 向 Redfish 迁移。
- 市场渗透:[行业估算] 在全球超大规模数据中心和公有云基础设施中,Redfish 的渗透率已超过 90%,成为事实标准。在中大型企业中,渗透率正在快速提升,但仍有大量设备依赖 IPMI。具体市场价值未单独披露,但其作为服务器固件和BMC芯片的必选功能,价值已包含在硬件成本中。
代表公司与资本映射
核心硬件/固件供应商(直接实现者):
- 服务器 OEM:戴尔科技 (DELL)、慧与 (HPE)、联想 (0992.HK)、超微 (SMCI)、浪潮信息 (000977.SZ)、华为。他们的管理芯片(iDRAC, iLO, XClarity 等)均内置 Redfish。
- BMC 芯片与固件:信骅科技 (ASPEED Technology, 5274.TWO) 是全球领先的 BMC 芯片厂商,其芯片和参考设计是 Redfish 实现的基石。IBM、英特尔 (INTC) 也有相关 IP。
- 开源关键节点:OpenBMC 项目(由 Facebook (Meta) 主导发起,Google、IBM、微软 (MSFT) 等参与贡献)是最重要的开源 Red BMC/Redfish 实现,被众多云厂商用于定制化硬件管理。
中游(管理软件与集成商):
- DCIM/集群管理软件商:如 Vertiv (VRT)、施耐德电气 (SU.PA)、Panduit 等在其软件中集成 Redfish 以管理设备。
- 自动化与监控工具:红帽 (RHAT, IBM旗下) 的 Ansible、Hashicorp (HCP) 的 Terraform 等通过社区或商业插件支持 Redfish。
投资逻辑
- 确定性卖铲人:Redfish 是 AI 算力基础设施不可或缺的“管理神经系统”。随着全球 AI 服务器出货量激增,对支持 Redfish 的高端 BMC 芯片和固件的需求同步增长,直接利好 信骅科技 (ASPEED) 等核心供应商。
- 软件定义数据中心价值重估:Redfish 实现了硬件管理的“可编程化”,使得上层自动化软件、智能运维(AIOps)能够深度感知和控制物理世界。投资逻辑从“卖硬件”延伸至“卖管理软件和服务”。关注那些能够提供基于 Redfish 的智能化运维解决方案的软件公司。
- 标准化降低产业成本,加速创新:Redfish 统一了管理接口,降低了服务器采购的锁定风险,使得像 超微 (SMCI) 这样的组装厂商能更灵活地集成不同组件。这促进了硬件市场的竞争和创新,长期看有利于降低整体算力成本。
- 安全合规的溢价:随着网络攻击加剧,能够提供基于 Redfish 的安全加固管理方案(如零信任架构下的硬件管理)的厂商将获得溢价。
常见误读纠偏
-
误读1:Redfish 只是另一种硬件监控协议,类似于IPMI的升级版。 纠偏:这是最根本的误读。Redfish 是管理框架和标准,而非简单的监控协议。它不仅包括监控(读),更核心的是控制(写) 和配置(改),例如远程安装操作系统、更改 BIOS 设置、进行固件升级、组合硬件资源(Compose)等。它旨在管理整个“计算单元”的生命周期,而不仅仅是看几个传感器读数。
-
误读2:Redfish 可以完全取代操作系统内的驱动和管理工具。 纠偏:不能。Redfish 是带外管理,操作在操作系统层之下,与操作系统并行且独立。它通过 BMC 控制器的专用网口访问。操作系统内部的性能监控(如 GPU 内核频率、显存占用)、驱动配置、应用层日志等,需要由 操作系统内部的代理(Agent) 或基于 IPMI/SMBIOS 的更底层接口来收集和管理。Redfish 与这些带内管理工具是互补关系,共同构成完整的硬件可观测性视图。
学习路径
- 入门:访问 DMTF Redfish 官网,阅读《Redfish 简介》白皮书和《用户指南》。
- 动手实践:
- 在支持 Redfish 的物理服务器或模拟器(如 DMTF 提供的 Redfish Mockup,或厂商提供的虚拟 BMC)上,使用
curl命令行工具亲自发送 GET/POST 请求,直观感受 API 交互。 - 使用图形化工具,如 Redfishtool(Python命令行工具)或 Postman。
- 在支持 Redfish 的物理服务器或模拟器(如 DMTF 提供的 Redfish Mockup,或厂商提供的虚拟 BMC)上,使用
- 深入规范:研读 DSP0266 (Redfish Specification) 和 DSP2046 (Redfish Data Model)。重点理解资源模型、操作请求和安全模型。
- 集成开发:尝试编写简单的脚本(Python),利用
redfish库来批量获取集群节点的健康状态。学习如何将 Redfish 数据导入 Prometheus/Grafana。 - 生态与扩展:研究 OpenBMC 项目,了解 Redfish 在固件层的实现。关注厂商的 OEM 扩展文档。
一句话总结
Redfish 是定义 AI 时代数据中心硬件“语言”的 RESTful JSON 标准,它将服务器、存储、网络设备的管理从封闭的二进制黑箱,转变为开放、安全、可编程的 Web 服务,是实现超大规模算力中心自动化运维的基石。
延伸阅读与来源
- 官方标准:DMTF Redfish 规范与模式 - dmtf.org/standards/redfish。最权威的技术文档。
- 开源实现:OpenBMC - github.com/openbmc/openbmc。了解 Redfish 如何在真实 BMC 固件中实现。
- 厂商实践:各服务器厂商(如 Dell iDRAC 文档, HPE iLO 文档)的 Redfish API 参考指南是了解实际可用特性的宝贵资料。
- 行业分析:各主要半导体及服务器行业分析报告中对“数据中心管理技术”、“BMC 芯片”部分的论述。[例如,可参考行业研究机构如 Gartner, IDC 关于数据中心基础设施管理的技术趋势报告]。
- 社区与工具:redfish-tools GitHub 仓库(DMTF官方)提供各种开发和测试工具。