Обычно это отлично работает - загрузитесь с SPP ISO, уйдите за напитком, вернитесь и все обновится. Не так на некоторых моих серверах ...
Последний выпуск SPP для этих старых серверов DL360 G6 состоялся в октябре 2016 года, поэтому я использую именно его. Вот что я вижу в процессе автоматического обновления:
До сих пор я пытался обновить его из ОС (ESXi 5.5), используя загруженный автономный драйвер от HP (в котором 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
Исходя из этого, я планирую попробовать найти live CD, который будет работать с этим обновлением прошивки HP. Кто-нибудь нашел тот, который хорошо подходит для этого процесса? В качестве альтернативы, есть ли способ заставить процесс обновления SPP работать правильно? (Я ожидал, что эта загрузочная среда будет ОЧЕНЬ удобной для обновления прошивки HP, но в этом случае она, похоже, не работает должным образом.)
Я нашел то, что сработало только со второй попытки.
Это не удается из-за фундаментальной несовместимости ядра с двоичными файлами, предоставляемыми HP. Это не удивительно, поскольку здесь используется ядро Linux версии 4, а двоичные файлы HP предназначены для версии 2.
Это вроде сработало. Чтобы заставить его работать, мне нужно было скопировать dirname
и tr
двоичные файлы с другого предустановленного сервера CentOS 6. Кажется, не было никакого способа добавить двоичные файлы в среду восстановления, поскольку она смонтирована только для чтения как устройство цикла из образа в / 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
Вот что было сделано, чтобы заставить эту работу работать на DL360G6 после загрузки CentOS6 в режиме восстановления, включения сети и перехода в оболочку восстановления без попытки смонтировать какие-либо существующие установки Linux:
# 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
Магия! Оно работает!
Также подтверждено из интерфейса командной строки ssh ESXi 5.5:
~ # 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 ... приятно!