1.1 概述
Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。每个HTTPs操作都以UTF-8编码的JSON格式(JSON是一种key-value对的数据格式)提交或返回一个资源或结果,就像Web应用程序向浏览器返回HTML一样。该技术具有降低开发复杂性,易于实施、易于使用而且提供了可扩展性优势,为设计灵活性预留了空间。目前我们利用Redfish管理接口可以实现包括用户管理、获取服务器信息、管理模块信息等常用HDM和BIOS配置。
Redfish=REST API+软件定义的服务器(数据模型),当前由标准组织DMTF(www.dmtf.org)负责维护。
1.2 协议
在Redfish中,每个URL都代表一个资源,一个服务或一组资源。根据REST原则,使用统一资源标识符(URI)指向资源,客户端与资源进行交互。
资源的格式根据Redfish架构来定义,客户端再根据Redfish架构来确定正确的语义(Redfish语义被设计的非常直观)。
在Redfish中,所有资源都是从服务入口点(根)链接的,这个根始终位于/ redfish / v1。
主要资源类型以“collections”结构化,以支持独立,多节点或聚合的机架级系统,其他相关资源从这些集合中的成员中散开。
1.3 特点
在Redfish之前,现代数据中心环境缺少通用的管理标准。随着组织转向横向扩展解决方案,传统标准不足以满足管理众多单节点和多节点服务器融合架构的需要。
Redfish从一开始就设计为融合基础架构的通用管理协议,提供了的强大的简便性,可以集成到现有的工具链中。
2 Redfish和IPMI
IPMI是一个受到广泛支持的行业标准,它指定了一组接口,以提供独立于主机系统的CPU、固件(遗留BIOS或UEFI)和操作系统(OS)的带外管理和监视功能。然而,IPMI现在是一个已有近20年历史的遗留接口,无法满足当今的功能和安全需求。
2.1 功能
IPMI作为带外管理的较老标准,被限制为一组“最小公分母”命令(例如,电源开关、重启、温度读数和风扇速度)。因此,用户被限制在一组功能的缩减中,因为尝试增加IPMI功能的特定于供应商的扩展在来自不同供应商的平台上并不常见。与此同时,用户越来越多地开发自己的工具来实现紧密集成,常常不得不依赖于带内管理软件。IPMI内的功能缺乏标准化,加上由于重复的OEM扩展而导致越来越多的碎片,导致特定于供应商的解决方案不能满足向外扩展的数据中心用户的需求。
2.2 安全
开发Redfish的主要原因之一是解决遗留IPMI无法有效解决的安全需求。例如,Redfish基于其网络传输协议的超文本传输协议安全(HTTPS)/安全套接字层(SSL)标准,这比唯一的IPMI网络协议更普遍、更安全、更可审计。
3 HDM Redfish实现
HDM Redfish接口基于Redfish V1.1.1开发。目前我们利用Redfish管理接口可以实现包括用户管理、获取服务器信息、管理模块信息等常用HDM和BIOS配置。
Redfish的接口涉及两方面,包括HDM的接口和BIOS的接口。
3.1 HDM接口
表1 Redfish功能
功能 | 描述 |
机箱管理 | 查询机箱集合资源信息 |
服务器主机电源操作 | 支持服务器电源控制,和查询相关操作 |
主机资源操作 | 支持主机风扇、CPU、内存、PCIE卡、扩展卡、UID灯、网口查询或设置相关操作 |
HDM系统资源操作 | 支持HDM重启,主备切换操作。 |
存储管理 | 支持RAID卡信息获取,逻辑盘创建、删除、信息查询等 |
固件管理 | 支持相关固件信息查询和固件升级 |
网络服务 | 支持NTP、SNMP、SMTP、SYSLOG信息查询和配置 |
会话、服务管理 | 支持创建会话,查询设置服务信息 |
HDM账户管理 | 支持用户账户、用户组操作接口 |
BIOS配置管理 | 支持查询下次启动设备、BIOS配置选项,修改BIOS密码、恢复BIOS默认属性值。 |
3.2 BIOS配置项
表2 BIOS配置项支持列表
菜单 | 描述 |
Advanced | ACPI设置、休眠设置、终端配置 、串口重定向设置、支持传统USB设备功能、XHCI切换、支持大容量USB存储设备、配置OptionROM的加载策略、PXE设置、启动设备检测计数设置 |
Platform Configuration | 支持SATA控制器设置、USB设置、显示设备选择选择、BIOS串口日志输出设置、SOL功能设置、软件错误注入支持设置 |
Socket Configuration | 支持CPU Core设置、超线程功能设置、Monitor/Mwait功能设置、Intel TXT功能设置、Intel硬件辅助虚拟化技术设置、安全模式扩展功能设置、硬件预取设置、EIST(P状态)设置、TDP等级设置、Intel® Speed Select设置、EIST PSD Function 设置、Turbo模式设置、CPU Core 频率设置、硬件P状态设置、硬件PM中断设置、EPP设置、C状态设置、T状态设置、热监控设置、功率性能调节设置 |
Server Management | 支持FRB-2定时器、超时策略设置和OS看门狗定时器、超时策略设置 |
Security | 支持安全启动模式配置,提供出厂默认秘钥设置 |
Boot | 支持数字锁定键状态设置、启动模式设置(UEFI和LEGACY)、UEFI Shell使能设置、启动选项设置 |