之前已经了解过IPMI, BMC,
Redfish,是IPMI规范新一代标准,基于HTTPs服务的管理标准,利用Restful接口实现设备管理,每个HTTPs操作提交或返回一个资源或结果,与BS架构一样(例如直接通过Postman请求redfish相关资源即可),与IPMI相比Redfish不依赖特定厂商的带外管理软件,支持灵活设计。
**更简单:**Redfish就是基于服务器的BMC,从一开始就设计为融合基础架构的通用管理协议,提供了强大的简便性,可以集成到现有的工具链中,不需要硬件改动。
**更安全:**Redfish解决了IPMI无法有效解决的安全需求。例如Redfish基于的HTTPs或SSL标准,较IPMI网络协议更普遍,更安全,更可审计。
Redfish与涉IPMI的接口和BIOS的接口打通来实现包括用户管理,获取服务器信息,管理模块信息等常用BMC和BIOS配置。
服务器不需要硬件改动就可以支持Redfish。
Redfish应用设计
Redfish定义了四种RESTFul的API,
- GET资源URI,返回所请求的资源描述
- POST资源URI,创建新资源或执行指定资源的方法
- PATCH资源URI,修改当前资源属性
- DELETE资源URI,删除指定资源
Redfish服务器管理标准是基于Restful接口和JSOn数据模型,支持HTTP/HTTPs两种请求方式每个Redfish请求都以UTF-8编码的JSON格式提交或返回一个资源结果。
Redfish接口包含请求动作和URI,请求动作包含了GET, POST, PATCH, DELETE,。
在Redfish中每个URI代表一个资源,一个服务或一组资源,根据REST原则,使用统一资源标识符URI指向资源,客户端与资源进行交互,资源的格式根据Redfish架构来定义,客户端再根据Redfish架构来确定正确的语义。
设备使用的URI通常为https://device_ip/redfish/v1/path,可以分为三个部分:
- device_ip,表示要访问服务器的HDM IP地址
- 服务和redfish/v1/ ,标识当前设备的redfish是基于redfish v1版本开发的
- 第三部分表示微以致远/path
Redfish支持功能一览
和IPMI的一样,
- 机箱管理,查询机箱集合资源信息
- 服务器主机店员操作,支持服务器电源控制,和查询相关操作
- 主机资源操作,支持主机风扇、CPU,内存,PCIE卡,扩展卡,UID灯,网口查询或设置相关操作
- IPMI系统资源操作,支持IPMI重启,主备切换操作
- 存储管理,支持RAID卡信息获取,逻辑盘创建,删除,信息查询等
- 固件管理,支持相关固件信息查询和固件升级
- 网络服务,支持NTP, SNMP, SMTP, SYSLOG信息查询和配置
- 会话,服务管理,支持创建会话,查询设置服务信息
- IPMI账户管理,支持用户账户,用户组操作接口
- BIOS配置管理,支持查询下次启动设备,BIOS配置选项,修改BIOS密码,回复BIOS默认属性值
- 事件日志上报,支持事件订阅资源的配置
Redfish操作一览
如何使用Redfish管理设备呢?
- 方法一:使用Postman进行Redfish接口管理,
- 方法二:使用firefox浏览器的httprequester-2.2-fx.xpi插件,
参考
新H3C HDM Redfish技术白皮书
https://www.bilibili.com/video/BV13q4y1k78w/?spm_id_from=888.80997.embed_other.whitelist&t=7.522871&bvid=BV13q4y1k78w&vd_source=35480950fa0aa3ddf71573fffa0f872b