通常情况下,这种方法效果很好——从 SPP ISO 启动,走开喝杯饮料,回来后一切都更新了。但我的一些服务器却不是这样……
这些旧 DL360 G6 服务器的最终 SPP 版本是 2016 年 10 月,所以我正在使用它。以下是我在自动更新过程中看到的内容:
到目前为止,我已尝试使用从 HP 下载的独立驱动程序(其中 ESXi 5.5 列为受支持的操作系统)从操作系统(ESXi 5.5)进行更新,但该过程失败,出现以下问题:
# cd /tmp/usr/lib/x86_64-linux-gnu/hp-firmware-smartarray-14ef73e580-6.64-2
# ./hpsetup
./hpsetup: line 226: tr: not found
./hpsetup: line 226: tr: not found
./hpsetup: line 226: tr: not found
./hpsetup: line 226: tr: not found
./hpsetup: line 226: tr: not found
./hpsetup: line 293: syntax error: bad substitution
运行原始 .scexe 也存在类似问题。显然是操作系统不支持补丁脚本。
我发现这篇文章恰好与我的起始固件版本(2.50)相同,所以我想知道是否存在一个错误的版本,会破坏未来的自动更新(有趣!)https://bugs.centos.org/view.php?id=13184
基于此,我打算尝试找到一张适用于此 HP 固件更新的 Live CD。有没有人找到适合此过程的 CD?或者,有没有办法让 SPP 更新过程正常工作?(我希望启动环境非常适合 HP 固件更新,但在这种情况下它似乎不能正常工作。)
答案1
我发现只有第二次尝试才有效的方法。
首次尝试:系统救援 CD
由于基本内核与 HP 提供的二进制文件不兼容,因此失败。这并不奇怪,因为它使用的是 Linux 内核版本 4,而 HP 二进制文件适用于版本 2。
第二次尝试:CentOS 6 救援模式
这有点奏效。为了使其工作,我需要从另一台预装的 CentOS 6 服务器复制dirname
和tr
二进制文件。似乎没有任何方法可以将二进制文件添加到救援环境,因为它是以只读方式从 /tmp 中的映像作为循环设备安装的。
但是,我可以将兼容的二进制文件复制到 /tmp,然后将 /tmp 添加到我的 PATH。
在“centos6”现有主机上:
$ cd /tmp
$ <upload hp-firmware-smartarray-14ef73e580-6.64-2.x86_64.rpm here>
$ rpm2cpio hp-firmware-smartarray-14ef73e580-6.64-2.x86_64.rpm | cpio -id
31207 blocks
在将 CentOS6 启动到救援模式、启用网络并进入救援 shell 而不尝试挂载任何现有 Linux 安装之后,在 DL360G6 上进行了以下操作以使其正常工作:
# scp user@centos6:/usr/bin/dirname /tmp/.
# scp user@centos6:/usr/bin/tr /tmp/.
# scp -rp user@centos6:/tmp/usr /tmp/.
# export PATH=$PATH:/tmp
# which tr
/tmp/tr
# cd /tmp/usr/lib/x86_64-linux-gnu/hp-firmware-smartarray-14ef73e580-6.64-2
# ./hpsetup
还从 ESXi 5.5 ssh CLI 确认:
~ # esxcli hpssacli cmd --cmdopts="ctrl all show config detail"
Smart Array P410i in Slot 0 (Embedded)
Bus Interface: PCI
Slot: 0
...
RAID 6 (ADG) Status: Disabled
Controller Status: OK
Hardware Revision: C
Firmware Version: 6.64
固件版本:6.64...不错!
答案2
我在用 P410i RAID 卡更新 HP Proliant DL380 G7 时遇到了类似的问题。发帖帮助其他人。
当我运行 hpsetup 时,错误是“310:错误替换”
我的解决方案是运行 ccissflash 而不是 hpsetup。效果很好。
我在 Linux Mint 20.1 x64 下执行了此操作,使用的固件为:版本:6.64 (B)(2015 年 10 月 1 日) SUSE Linux Enterprise Server 11 (AMD64/EM64T) firmware-smartarray-14ef73e580-6.64-2.x86_64.rpm