我有几十台带有 iLO3 卡的 HP 服务器,固件更新失败。当我尝试通过 Web 界面上传 .bin 文件进行更新时,我收到一条不起眼的消息,说“上次固件更新尝试失败。准备进行下一次更新。”。iLO 事件日志仅显示这次尝试的“通过网页进行固件升级失败。”。
通过 iLO ssh 接口升级也不起作用(无用的输出被剪掉):
</>hpiLO-> cd /map1
</map1>hpiLO-> cd firmware1
</map1/firmware1>hpiLO-> show version
/map1/firmware1
Properties
version=1.15
</map1/firmware1>hpiLO-> load -source http://buildserver/ilo3_170.bin
status=1
status_tag=COMMAND SPAWNED
Attempting to load iLO3 firmware image.
status=0
如果我尝试使用 XML API,上传文件后我会得到以下非 XML 返回:
<html>
<head>
<title>Server Error</title>
</head>
<body>
<h1>Server Error</h1>
A file system error was detected on the HP iLO3.<p>
Return to <a href="">last page</a><p>
</body>
</html>
此时,iLO 已重置,并生成了新的 SSH 密钥,但固件未更新,且未说明原因。iLO 事件日志中未显示任何内容。
重置 iLO 并不能解决这个问题,快速谷歌搜索也没有找到任何有用的信息。我该怎么做才能让这个问题消失呢?
答案1
HP 最初为 ILO3 管理接口发布的固件版本相当糟糕。请参阅大量变更日志记录产品的演变。我当时在一家部署了大量 ProLiant DL380 G7 服务器的公司工作,不得不处理管理有缺陷的功能集。
就你的情况而言,你正试图从非常旧的 ILO 修订版(1.15,大约 2010 年) 升级至当前版本 (1.70)。
为了实现这一点,您必须分两个步骤进行升级:
首先,升级到 1.20 至 1.28 之间的 ILO 版本。我推荐 1.28。HP 在 2012 年对 ILO 1.50 及更新版本设置了固件先决条件,因此此中间更新绝对必要。您可能需要使用 shell 界面手动执行此操作。
从那里,您应该能够将 ILO 版本升级到当前的 1.70。
我已在以下内容中介绍过此内容:由于固件版本差异,HP DL380 G7 上的 ILO 更新失败当我遇到这个问题时。
当我必须这样做的时候集体,我把这两个固件文件都保存在手边,以防遇到非常老旧或被忽视的服务器。