Redfish、IPMI与服务器带外管理自动化

带外管理控制器在操作系统不可用时仍能提供电源、Console、硬件健康、固件和虚拟介质能力。它也是服务器最高风险入口之一。Redfish用HTTPS和标准化JSON资源替代大量厂商私有脚本,但不同厂商仍存在Schema、Action和OEM扩展差异。

一、带外管理边界

常见平台:

  • Dell iDRAC;
  • HPE iLO;
  • Lenovo XClarity Controller;
  • 华为 iBMC;
  • 浪潮 BMC;
  • Supermicro BMC。

能力包括:

  • 电源控制;
  • 远程Console;
  • 虚拟介质;
  • 传感器与事件;
  • BIOS/UEFI配置;
  • RAID与存储;
  • 固件清单和更新;
  • 启动顺序;
  • 资产清单。

二、为什么优先Redfish

IPMI协议历史悠久,命令简单但数据模型和安全能力有限。Redfish基于HTTPS、REST和JSON,使用可发现资源树和标准Schema,更适合自动化、版本兼容和硬件清单。

IPMI仍可用于旧设备和紧急诊断,但应限制在隔离管理网,禁用不安全版本和默认密码。

三、Redfish资源树

入口通常为:

/redfish/v1/
├── Systems/
├── Chassis/
├── Managers/
├── UpdateService/
├── TaskService/
├── EventService/
└── AccountService/

客户端应先发现资源链接,不要假设所有厂商ID都是 System.Embedded.1 或 1。

四、认证与会话

Redfish支持Basic或Session。自动化优先短期Session Token,并在结束时删除会话。

curl -k -u '<user>:<password>' https://<bmc>/redfish/v1/Systems/

生产不要使用 -k 忽略证书。应部署可信证书或内部CA,并验证主机名。示例仅用于实验说明。

安全要求:

  • 凭据来自Vault;
  • 每次任务短期获取;
  • 不出现在命令行和日志;
  • 角色最小权限;
  • 会话过期和撤销;
  • 失败登录告警。

五、资产发现

采集:

  • 厂商、型号、序列号、SKU;
  • BIOS、BMC和固件版本;
  • CPU、内存和NUMA;
  • 网卡/HBA;
  • 磁盘、控制器和虚拟盘;
  • 电源和风扇;
  • 管理地址和MAC;
  • TPM/Secure Boot。

清单应回写CMDB并保留采集时间。硬件序列号是资产关联关键键,不能只依赖IP。

六、硬件健康

从System、Chassis和各组件读取 Status.State、Health、HealthRollup。

不要只看顶层Health。顶层可能正常但某个电源、风扇、DIMM或磁盘已降级。自动化应遍历成员并记录具体组件。

七、事件与告警

Redfish Event Service可将事件推送到订阅端。设计:

  • 订阅生命周期;
  • HTTPS接收端;
  • 来源验证;
  • 重复事件去重;
  • 严重级别映射;
  • 资产和机柜关联;
  • 未收到心跳告警;
  • 事件保留。

定时轮询仍可作为补充,防止订阅丢失。

八、电源控制

典型Action为ComputerSystem Reset,ResetType可能包括On、ForceOff、GracefulShutdown、ForceRestart等。

自动化前必须检查:

  • 当前PowerState;
  • 业务状态;
  • 变更工单;
  • 集群和副本;
  • 操作类型;
  • 现场或远程确认。

优先GracefulShutdown。ForceOff相当于拔电,仅用于明确的应急场景。

九、一次性启动与虚拟介质

可设置下一次从PXE、USB、CD或UEFI Target启动,不应永久改变启动顺序。

虚拟介质URL:

  • 使用HTTPS;
  • 短期签名;
  • 限制BMC来源;
  • 安装完成后弹出;
  • 不在URL内放长期凭据;
  • 记录镜像哈希。

不同厂商对远程ISO协议和许可证支持不同,需要能力探测。

十、BIOS配置

配置通常先写入Settings资源,再创建Job或等待重启应用。

基线可能包括:

  • UEFI/Secure Boot;
  • 虚拟化扩展;
  • SR-IOV;
  • NUMA;
  • 超线程;
  • 电源Profile;
  • Watchdog;
  • 启动模式。

必须读取允许值和当前值,不把某型号的Attribute硬套到全部设备。

十一、RAID与存储

Redfish存储Schema可表示控制器、Drive和Volume,但创建虚拟盘常有OEM差异。

高风险操作:

  • 删除Volume;
  • 初始化;
  • 改RAID级别;
  • 清Foreign配置;
  • 磁盘Secure Erase。

所有破坏性动作要匹配序列号、槽位、工单和资产状态,支持Dry-run或人工确认。

十二、固件清单

Update Service可列出Firmware Inventory。需要统一:

  • 组件名称;
  • 当前版本;
  • 目标基线;
  • 依赖和升级顺序;
  • 是否需要重启;
  • 回滚能力;
  • 固件包哈希和签名。

不要只比较字符串大小判断版本,厂商版本格式可能不具备简单排序语义。

十三、固件升级

升级流程:

  1. 校验机型和组件;
  2. 检查电源冗余、健康和任务队列;
  3. 下载受信固件;
  4. 验证签名/哈希;
  5. 单台灰度;
  6. 创建Update任务;
  7. 轮询TaskService;
  8. 按需重启;
  9. 验证版本和硬件健康;
  10. 分批推广。

固件任务超时不能无条件重复提交,先查询已有Task和组件状态。

十四、厂商差异适配

建立能力矩阵:

能力 标准Redfish OEM扩展 许可证
电源 通常支持 少量差异 常见免费
清单 通常支持 字段差异 常见免费
BIOS 部分标准化 差异较多 依厂商
RAID 有标准模型 差异明显 依厂商
虚拟介质 标准Action/OEM 协议差异 常需高级许可
固件 UpdateService Push方式差异 依厂商

适配层根据Service Root和Schema判断,不只根据厂商字符串分支。

十五、IPMI兼容管理

ipmitool -I lanplus -H <bmc> -U <user> chassis power status
ipmitool -I lanplus -H <bmc> -U <user> sdr elist
ipmitool -I lanplus -H <bmc> -U <user> sel list

使用LANPlus,禁用弱口令和匿名Cipher,限制UDP 623来源。密码不要直接出现在命令参数中。

十六、BMC网络安全

  • 独立管理网络和防火墙;
  • 不暴露互联网;
  • 管理员通过堡垒机/PAW;
  • MFA由上层访问控制补充;
  • 关闭不用的IPMI、SNMP、旧TLS和虚拟介质;
  • 更换默认证书和账号;
  • 定期升级BMC;
  • 监控配置变化和登录。

BMC被攻破可绕过操作系统安全,应按最高权限系统治理。

十七、并发与批次

BMC性能有限,批量轮询和更新不能按普通Web API高并发。

  • 每厂商/站点限制并发;
  • 指数退避;
  • 尊重Task;
  • 请求超时;
  • 分机柜和冗余组;
  • 同一业务集群不同时重启;
  • 超过失败阈值停止。

十八、审计与幂等

每次操作记录:

  • 操作者/流水线;
  • 工单;
  • 资产序列号;
  • 请求Action;
  • 变更前后值;
  • Task ID;
  • 结果与时间;
  • 固件哈希。

读取当前状态后再决定是否变更。幂等不是简单重复请求,而是重复执行不会扩大影响。

十九、故障场景

BMC不可达

检查管理交换机、VLAN、ARP、BMC共享/独立网口、电源和网络配置;必要时通过宿主机工具或现场冷重置。不要在未确认资产时批量Reset BMC。

固件任务卡住

查询Task、Update Service和生命周期日志;检查包兼容、电源、重启要求和已有Job;保留现场后再取消或重试。

证书大面积过期

先建立受控信任和轮换批次,避免自动化因验证失败全部中断。不要以全局关闭TLS验证作为长期方案。

二十、上线检查清单

  • [ ] BMC网络与业务、办公和互联网隔离;
  • [ ] 默认账号、弱TLS和不必要服务已处理;
  • [ ] Redfish客户端先发现资源和能力;
  • [ ] 凭据短期获取、不进日志;
  • [ ] 资产以序列号关联CMDB;
  • [ ] 电源、清盘和RAID动作有审批;
  • [ ] 固件包校验并按故障域灰度;
  • [ ] Task、事件和硬件健康受监控;
  • [ ] OEM差异有能力矩阵和测试;
  • [ ] 带外网络、BMC故障和固件失败已演练。

二十一、结语

Redfish让跨厂商带外管理拥有统一入口,但统一API不等于统一行为。安全的自动化必须先发现能力、验证资产和当前状态,再执行最小变更,并对电源、清盘、RAID和固件设置更高审批门槛。带外管理是救援通道,也必须防止它成为攻击通道。

参考资料

Copyright © yan-jian.com 2023 - 2026 · Powered by GitBook更新时间: 2026-10-29 20:20:36

results matching ""

    No results matching ""