3. iDRAC基础操作与固件管理入口

iDRAC(Integrated Dell Remote Access Controller)是PowerEdge服务器上的独立带外管理控制器。它拥有自己的处理器、内存、网络接口和固件,只要服务器接通电源(待机供电即可),即使操作系统未启动、CPU未运行,iDRAC依然在线。这意味着固件管理、电源控制、日志查看、虚拟介质挂载等操作都可以在“机器没进系统”的状态下完成。本节聚焦四个入口:iDRAC Web界面、Redfish API、RACADM命令行,以及它们各自通向固件更新的路径。

一、先建立连接:网络与凭据准备

iDRAC出厂默认通过专用管理网口(通常标记为iDRAC或MGMT)提供访问,默认IP多为192.168.0.120,子网掩码255.255.255.0。首次使用需要在BIOS或开机自检阶段按F2进入iDRAC设置,或通过LCD面板查看/设置IP。默认账号为root,默认密码通常印在服务器机箱的拉出式标签(Express Service Tag)上,形如随机字符串。出于安全考虑,新版本固件会强制首次登录修改密码。

假设我们规划的管理网段为10.20.30.0/24,将iDRAC地址设为10.20.30.51,网关10.20.30.1。配置完成后,在管理终端执行连通性验证:

ping 10.20.30.51
# 期望:4个包全部回复,延迟通常 < 2 ms(同网段)

# 查看iDRAC固件版本(RACADM本地方式,需在服务器OS内安装racadm工具)
racadm getsysinfo
# 输出中关注:iDRAC Version、Firmware Version、System Model

如果ping不通,按顺序排查:网线是否插在专用iDRAC口而非业务口、iDRAC是否被禁用(BIOS中iDRAC Settings → Network → Enable NC)、管理终端IP是否同网段、是否有防火墙拦截。这一步是所有后续操作的前提。

二、iDRAC Web界面:最直观的入口

浏览器访问 https://10.20.30.51,忽略自签名证书告警后进入登录页。登录后左侧导航栏是操作主干,与固件管理最相关的是以下几处:

  • Dashboard(仪表板):显示服务器型号、电源状态、健康摘要、当前iDRAC与BIOS版本。
  • System → Overview:查看硬件清单,包括CPU、内存、RAID控制器、网卡、电源、风扇的型号与固件版本。
  • Maintenance → Firmware Update:固件更新主入口,支持从本地文件、网络共享(CIFS/NFS/HTTP/HTTPS)或Dell在线目录更新。
  • Maintenance → System Update:可挂载ISO镜像,配合虚拟介质完成操作系统或驱动包安装。
  • iDRAC Settings → Update and Rollback:单独更新iDRAC自身固件,并支持回滚到上一版本。

在Firmware Update页面,典型操作流程是:选择“Local”并浏览到下载好的 .exe(Windows Dell Update Package)或 .dUP 文件,点击Upload。上传后界面会列出该包内包含的组件(如BIOS、iDRAC、PERC、网卡固件)及当前版本与目标版本对比。勾选需要更新的组件,选择“Install and Reboot”或“Install Next Reboot”,提交任务。页面下方Job Queue会显示进度百分比,完成后服务器按需重启。判断成功的依据是:Job状态变为Completed,且System → Overview中对应组件版本号已变为目标版本。

三、Redfish API:面向自动化的入口

Redfish是基于HTTPS和JSON的现代管理接口,iDRAC从固件2.x起全面支持。它的价值在于可脚本化、可批量、可集成到运维平台。基本调用模式如下:

# 1. 获取会话令牌
curl -k -X POST https://10.20.30.51/redfish/v1/SessionService/Sessions \
  -H "Content-Type: application/json" \
  -d '{"UserName":"root","Password":"你的密码"}'
# 响应头 X-Auth-Token 即为后续请求令牌

# 2. 查询系统固件版本
curl -k -H "X-Auth-Token: 令牌" \
  https://10.20.30.51/redfish/v1/Systems/System.Embedded.1

# 3. 查询固件清单
curl -k -H "X-Auth-Token: 令牌" \
  https://10.20.30.51/redfish/v1/UpdateService/FirmwareInventory

# 4. 触发简单更新(SimplifiedUpdate)
curl -k -X POST -H "X-Auth-Token: 令牌" \
  -H "Content-Type: application/json" \
  https://10.20.30.51/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate \
  -d '{"ImageURI":"https://内网服务器/bios.exe","TransferProtocol":"HTTPS"}'

关键资源路径需要记住:/redfish/v1/Systems/System.Embedded.1 代表主机系统,/redfish/v1/Managers/iDRAC.Embedded.1 代表iDRAC自身,/redfish/v1/UpdateService 是固件更新服务。查询FirmwareInventory会返回一个成员列表,每个成员包含Id、Name、Version、Updateable等字段,可据此编写“版本合规检查”脚本。SimpleUpdate适合单个DUP包,若需批量或指定组件,应使用MultipartHTTPPushUpdate。

四、RACADM命令行:本地与远程两用

RACADM有两种运行方式:在服务器操作系统内本地执行(需安装Dell EMC iDRAC Service Module或OpenManage),或在管理终端远程执行(racadm -r 10.20.30.51 -u root -p 密码)。常用固件相关命令:

# 查看当前所有固件版本
racadm swinventory

# 从TFTP/FTP/HTTP更新iDRAC固件
racadm update -f iDRAC_固件.bin -l 10.20.30.10 -t 0

# 更新BIOS(通过DUP包)
racadm update -f BIOS_XXXX.exe -l 10.20.30.10 -t 0

# 查看更新任务状态
racadm jobqueue view -i JID_XXXXXXXX

# 回滚iDRAC固件
racadm rollback iDRAC

racadm swinventory 的输出是一张表,列出每个可更新组件的InstanceID、ComponentType、Version、Updateable。这是判断“哪些能升、当前是什么版本”的最快方式。update命令的 -t 参数指定传输类型(0=TFTP,1=FTP,2=HTTP,3=HTTPS等),-l 指定文件所在服务器地址。提交后返回一个Job ID,用jobqueue view跟踪,直到状态显示Completed。

五、四个入口的关系与选择

Web界面适合人工单次操作和可视化确认;Redfish适合自动化、批量、与监控平台集成;RACADM适合脚本化、无图形环境、以及需要精细控制任务队列的场景。三者最终都落到同一个底层更新引擎和Job Queue上,因此无论从哪个入口提交,都可以在Web的Job Queue或racadm jobqueue view中看到同一批任务。理解这一点,就不会把“入口”误当成“不同的更新机制”。

iDRAC 固件管理入口与统一更新引擎 管理终端 浏览器 / curl / racadm ① iDRAC Web 界面 Maintenance → Firmware Update 本地文件 / 网络共享 / 在线目录 ② Redfish API /redfish/v1/UpdateService SimpleUpdate / MultipartPush ③ RACADM 命令行 racadm update / swinventory 本地或远程 -r 10.20.30.51 iDRAC 统一更新引擎 DUP 解析 · 组件匹配 版本比对 · 依赖检查 Job Queue 调度 重启策略 · 回滚点 三个入口共享同一引擎 目标固件组件 BIOS · iDRAC · PERC RAID 网卡 · 电源 · 背板 更新后需重启生效 验证要点:Job Queue 状态 = Completed 且 System Overview 中版本号已更新为目标版本

六、实操中的关键判断与常见问题

无论走哪个入口,更新提交后都要盯住Job Queue。状态含义:Scheduled表示已排队,Running表示正在写入,Completed表示成功,Failed表示失败。若失败,先看Job的Message字段,常见原因包括:DUP包与服务器型号不匹配、目标组件版本已高于包内版本(无需降级)、依赖组件未先更新(如某些RAID固件要求先升iDRAC)、网络共享路径或凭据错误。

另一个高频问题是“更新后版本没变”。这通常是因为只上传了包但没有勾选组件,或选择了“Install Next Reboot”而服务器尚未重启。BIOS和部分PCIe设备固件必须重启后才生效,iDRAC自身固件更新则会导致iDRAC短暂断连(约1~3分钟),期间Web页面无法访问,属于正常现象,等待后重新登录即可。

建议在批量更新前,先用 racadm swinventory 或 Redfish FirmwareInventory 导出一份“当前版本基线”,更新后再导出一次,用两份清单做差异比对,比逐个点开页面确认更可靠。
固件更新期间不要断电、不要强制重启iDRAC。若更新iDRAC自身固件时断电,可能导致iDRAC无法启动,需要进入F2恢复模式或使用SD卡恢复,风险较高。

掌握这四个入口后,日常运维中可以根据场景灵活切换:临时排障用Web看状态,批量合规用Redfish写脚本,无图形环境用RACADM一条命令搞定。它们不是四套独立系统,而是同一套iDRAC能力的四种“门”,进门之后看到的是同一个Job Queue和同一批固件组件。