Storage

如何在沒有 Smart Array 控制器或 Proliant 伺服器的情況下升級 HP SAS 擴展卡的韌體?

  • December 15, 2016

如何更新/升級/刷新 HP SAS 擴展卡 [468406-B21 aka [487738-001]](http://h20566.www2.hp.com/portal/site/hpsc/template.PAGE/public/kb/docDisplay?javax.portlet.begCacheTok=com.vignette.cachetoken&javax.portlet.endCacheTok=com.vignette.cachetoken&javax.portlet.prp_ba847bafb2a2d782fcbb0710b053ce01=wsrp-navigationalState%3DdocId%253Demr_na-c01733557-4%257CdocLocale%253D%257CcalledBy%253D&javax.portlet.tpst=ba847bafb2a2d782fcbb0710b053ce01&ac.admitted=1412070310829.876444892.199480143)的韌體?

我曾經使用 Windows 和 HP P410 Smart Array 控制器來執行此操作,但是該控制器不再可用。

線上 ROM 快閃記憶體組件不是一個選項,因為我沒有 HP Smart Array 控制器。HP Service Pack for ProLiant + USB key/stick也不是一個選項,因為它需要 ProLiant 伺服器。

可以使用 Linux 和 SAS HBA升級 HP SAS 擴展器。注意:當擴展器連接到 SAS RAID

控制器時,將韌體刷寫到 SAS 擴展器可能不起作用,因為該控制器可能會將其後面的所有設備對作業系統隱藏。SAS HBA 的一個範例是Supermicro SAS2LP-MV8

如果您沒有 Linux,可以使用 Linux Live CD。您可以嘗試最新的 Ubuntu Live CD32 位下載就可以了。64 位也可以。

1.先決條件

  1. 使用 Ubuntu LiveCD啟動一個 Linux 終端

Ctrl++ 。Alt``T 2. 確保您的網際網路連接正常

下載並安裝其他組件 3. 確保在 Linux 中檢測到您的 SAS 擴展卡

# lsscsi -g | grep HP

應該返回如下內容:

[6:0:0:0] enclosu HP HP SAS EXP Card 2.08 - /dev/sg1

[6:0:1:0] enclosu HP HP SAS EXP Card 2.10 - /dev/sg2

2.設置實用程序

sg_write_buffer當擴展器連接到主機匯流排適配器 (HBA) 時,您使用≥ 1.15 版本下載微碼。要在 32 位 Ubuntu 或 Debian 中下載並安裝此實用程序,請使用:

# curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb && 
curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb && 
dpkg -i *_1.39-0.1_i386.deb

sg_write_buffer實用程序版本 ≥ 1.15 - 在sg3_utils版本 ≥ 1.39 中分發 - 添加了以--bpw小塊下載的選項。擴展器可能需要一個小塊大小,如 4096 字節。

3. 獲取並解壓 HP 韌體映像

  1. 獲取擴展器韌體映像文件,例如版本 2.10 (C) — 日期為 2014 年 9 月 9 日

# curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe

雖然它們聽起來像 Windows/DOS 可執行.scexe文件,但來自 HP 的文件實際上是可以在文本編輯器中查看的 Linux 可執行腳本(至少是第一個部分)。 2. 執行 64 位 Linux 並遇到下一個命令的問題?然後確保您可以執行 32 位執行檔。Ubuntu中的命令是:

# dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386 3. 要從此 .scexe 文件中提取韌體映像:

# mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/

4. 快閃記憶體 SAS 擴展器

當要升級/刷新的擴展器被命名sg1 (檢查lsscsi -g | grep HP)時,使用:

# sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg1
# sg_write_buffer --mode=activate_mc /dev/sg1

較舊的設備可能僅支持--mode=0x7. 模式0x7也稱為dmc_offs_save,它會下載帶有偏移量的微碼,保存並啟動。

5.刪除臨時文件

# rm PUF21000.bin

您可能需要再次解除安裝(例如modprobe -r mvsas)和載入(fe modprobe mvsas)您的 HBA 模組,或者rebootlsscsi -g輸出中反映韌體版本的更改。

引用自:https://serverfault.com/questions/631574