首页/系统/服务器硬件与 RAID 速查/iDRAC Redfish 会话建立
带外管理72 条

iDRAC Redfish 会话建立

iDRAC 提供 Redfish API:先创建会话获取 X-Auth-Token,再查询 Systems/Chassis 等资源,适合脚本化批量采集。

iDRAC Redfish 会话建立

Redfish 用 REST 与 JSON 暴露带外管理资源,Dell iDRAC 的实现从 SessionService 开始:先提交凭据换回会话令牌,再用令牌访问 Systems、Chassis、Managers 等资源,最后删除会话收尾。相比每次请求都带基本认证,会话方式更贴近脚本化批量采集的习惯,也便于把超时与重建会话的逻辑集中处理。

基本信息

适用平台支持 Redfish 的 iDRAC 固件版本,越新的固件资源覆盖越完整
资源根/redfish/v1 下的 ServiceRoot,从根开始逐级枚举
认证方式创建会话得到 X-Auth-Token 请求头,或按需使用基本认证
常用资源Systems、Chassis、Managers、UpdateService、AccountService
权限要求需要具备读取或配置权限的 iDRAC 账号

典型使用场景

  • 批量巡检:脚本登录若干台机器,统一采集电源、温度与固件字段
  • 自动化变更:通过 API 触发重启或固件更新,并用任务资源跟踪结果
  • 监控对接:把带外数据接入统一平台,减少人工登录 Web 界面
  • 故障取证:在不影响系统运行的前提下读取硬件状态与日志
  • 票据核对:用资源里的序列号与资产系统做一致性校验

创建会话并查询资源

创建会话并查询资源
curl -k -s -X POST https://10.0.0.10/redfish/v1/SessionService/Sessions \
  -H "Content-Type: application/json" \
  -d '{"UserName":"admin","Password":"<口令>"}' -D -  # 响应头里取 X-Auth-Token
curl -k -s https://10.0.0.10/redfish/v1/Systems/System.Embedded.1 \
  -H "X-Auth-Token: <token>" | head -40  # 读取系统资源
curl -k -s https://10.0.0.10/redfish/v1/Chassis -H "X-Auth-Token: <token>" | head -20  # 机箱与传感器
curl -k -s -X DELETE https://10.0.0.10/redfish/v1/SessionService/Sessions/<id> \
  -H "X-Auth-Token: <token>"  # 用毕删除会话

关键资源说明

资源内容注意事项
SessionService会话创建与删除先创建再访问,避免重复建会话
Systems主机、BIOS 与存储信息实例名随固件而不同
Chassis机箱、温度与电源传感器字段可交叉验证 SEL
UpdateService固件仓库与更新任务异步任务需轮询状态

调用姿势要点

  • 先取 ServiceRoot 再逐级枚举,避免把资源路径写死在脚本里
  • 会话令牌按超时时间处理,捕获未授权响应后自动重建会话
  • 集合资源可能分页,遍历时读完 Members 再进入下一个集合
  • 异步动作要轮询任务资源,拿到终态再判断动作是否成功
字段与资源覆盖范围随固件版本演进,脚本里用容错读取而不是硬编码路径,换固件后才不容易整体失效。
不要把口令与令牌写进脚本正文或提交到代码库,令牌要设过期并在任务结束时删除会话。

易错点

  • 只建会话不删除:累积到上限后新的请求失败,表现为莫名其妙的无法登录
  • 脚本里长期保存令牌:超时后接口返回未授权,需要重建会话
  • 硬编码资源路径:固件升级后实例名或字段变化,脚本整体失效
  • 把带外接口开到全网段:管理凭据的暴露面被放大

数据来源与参考

  • Dell iDRAC Redfish API 指南
  • DMTF Redfish 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌