HP iLO 4 固件更新失败,卡在“正在检查 HP 安全数字签名”上,刷新进度为 1%。卡在固件 1.51 上,ProLiant DL360p Gen8

HP iLO 4 固件更新失败,卡在“正在检查 HP 安全数字签名”上,刷新进度为 1%。卡在固件 1.51 上,ProLiant DL360p Gen8

我正在尝试更新 HP ProLiant DL360p Gen8 上的 iLO 4 固件。它是一台 VMHost,运行 VMware ESXi、5.1.0、2323236。它运行的 VM 是 Windows Server 2008 R2 Standard。

它当前运行的是 iLO 固件 v1.5.1。我正尝试将其更新到 2.61,与我们的其他服务器一样。我已通过 iLO Web 界面多次完成此更新,方法是上传 ilo4_261.bin 文件等。这是我在多代和多型号的 HPe 服务器上遇到此问题的第一台也是唯一一台服务器。

由于某种原因,这台服务器无法更新。它卡在“检查 HP 安全数字签名”屏幕上,屏幕底部显示“固件刷新进度:1%” - 下面是屏幕截图。它会无限期地保持这种状态(至少数周),直到服务器断电。没有选项可以取消它,或者重试等。

我尝试了很多方法来解决这个问题,下面是一个列表:

  • 尝试从诊断页面以及 重新启动(“重置”)iLO 本身hponcfg。虽然 iLO 似乎重新启动了,但登录后它又回到了这种卡住的更新状态。
  • 我所看到的这个错误/更新失败实际上是在 HP iLO 4 用户指南中提到的。它说解决方案是使用 将 iLO 重置为默认值hponcfg -r。我已经从服务器上的 ESXi 安装中执行了此操作/var/hp/tools/,虽然它确实成功将设置重置为默认值(将 IP 设置为 0.0.0.0,清除用户帐户等),但之后 iLO 仍然停留在更新状态。
  • 我使用hponcfg脚本从命令行更新 iLO 固件。此操作失败并出现以下错误。我可以在 RIBCL 指南和错误指南中看到此错误,但没有解释此错误的实际含义或如何解决它!我假设此错误只是说它无法刷新,因为它卡在这种状态?以下是完整输出中的错误:
/opt/hp/tools # ./hponcfg -f firmware.xml
HP Lights-Out Online Configuration utility

Version 4.4-0 (c) Hewlett-Packard Company, 2014
Firmware Revision = 1.51 Device type = iLO 4 Driver name = hpilo
iLO IP Address: 0.0.0.0
</-- ERROR :      STATUS= 0x005E
     MESSAGE= Open flash part failed. -->
Script failed
/opt/hp/tools #
  • 我联系了 HP 支持此主题他们建议我断开服务器电源,让 iLO 摆脱这种卡住的更新状态;然后将固件升级到 2.10,作为中间更新。
    • 虽然服务器耗电确实让它摆脱了这种卡住的更新状态- 当我下一次尝试将其更新到 2.10 时,它又回到了这种卡在更新状态,到今天仍然卡在这种状态。

由于这是一个通常仅进行远程管理的高可用性主机,因此我确实希望限制要求客户前往现场再次拔下电源的次数。

我目前的想法是让他们再次耗尽电源,将设置恢复为默认设置,然后尝试使用命令行刷新固件hponcfg,看看它是否在该状态下通过?但我不太相信它会起作用;所以我希望有人有更好的建议,或者知道另一种方法让 iLO 摆脱这种状态——或者知道这是否可能需要更换服务器主板?

提前感谢您的任何建议!

以下是它卡在 iLO 的 WebUI 中的屏幕截图: 在此处输入图片描述

答案1

使用以下方式带外升级您的系统和 ILO 固件:

或者...

使用以下工具升级 ILO 固件专用套件适用于您的 VMware ESXi 版本。说明位于链接中。

答案2

经过一些逆向工程,发现这是 ILO4 的 ANCIENT 版本的问题。如果系统时钟在 2015 年之后,证书验证过程将崩溃,升级过程将挂在 1% 处。

解决此问题的唯一方法是执行直接刷新。这意味着您需要打开“ILO 安全”开关,然后将机器启动到 Linux。下载最新的 Linux 软件包。(撰写本文时)版本为 2.81:https://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-ilo/p192122427/v213013/CP051872.scexe

运行“bash CP051872.scexe --unpack=.”,然后运行“./flash_ilo4 --direct”

这会禁用所有验证和检查,并直接从操作系统覆盖 ILO 闪存。我不得不对一对 BL460 G8 执行此操作,然后我必须进行物理电源循环以消除错误指示灯,但之后一切都更新正常。

相关内容