2018年8月6日月曜日

HPEのEmulex製HBAのファームウェアをESXi Shellを使ってバージョンアップする方法

Amazonで8Gb FC HBA (ホストバスアダプター)が安く売られていた。



通常20万円するHBAが1.3万円程度となっており、怪しいと思いつつダメ元で買ってみた。すると、2週間ほど要したものの、普通に配送されてきた。


SFP+もきちんと付属していたが、ポートごとに形状が違っていた。他にも若干の汚れ(シールを剥がした後?)があり、実際は新品ではないんだろうなあと思いつつ、サーバーに差して動作確認してみたところ、問題なく認識し、正常に通信ができた。


というわけで、安くHBAを手に入れることができて、結果的に良い買い物ではあったが、ファームウェアが古かったので、ファームウェア更新を行うことにした。

HBAのファームウェアをバージョンアップする場合、メーカー提供のファームウェアバージョンアップ用のブートCD (HPEであれば、Service Pack for ProLiant) を利用し、実施することができる。しかし、ブートCDでのブートが必要となるため、サーバーの停止、ブートCDでの起動、バージョンアップ、バージョンアップ後の再起動といった作業が発生することから、メンテナンスのために必要となる作業時間と負荷が高い。

そこで、各社はブートCDとは別に、OSから直接ファームウェアをバージョンアップするためのツールを用意している。今回、ESXi 6.7環境のESXi Shellから直接Emulex製のHBAのバージョンアップ作業を実施したので、その手順について記載する。

HBAのファームウェアバージョンアップツールをダウンロードする

HPEのサーバーに対する、ESXi 6.5用のHBAのファームウェアバージョンアップのツールは、以下からダウンロードできる
※HBAはEmulex製とQLogic製の2種類があり別物となる
※ESXi 6.5用となっているが、ESXi 6.7でも使用はできた。ただし、メーカー正式サポートはされていないと思われるので注意

* RECOMMENDED * Emulexファイバーチャネルホストバスアダプター for VMware vSphere 6.5用HPEファームウェアフラッシュ
https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_997e3d792e444c449f69f55d53

* RECOMMENDED * QLogicファイバーチャネルホストバスアダプター for VMware vSphere 6.5用HPEファームウェアフラッシュ
https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_76b61eebb93045f6a0d05d4ad4

HPE以外のメーカーのサーバーの場合であっても同様のツールが用意されているものと想定されるため、メーカーサポート等に確認しよう。

実際にバージョンアップしてみる

Emulex製HBA AJ763Aに対してバージョンアップしてみた。

まずは、現在のHBAのファームウェアバージョンを確認するため、ESXi Shellにて以下コマンドを実行し、サーバーのNICやHBAの一覧を出力させる。

[root@localhost:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d
------------------------------
Dumping all key-value instance names:
Key Value Instance:  vmhba0/vmw_ahci
Key Value Instance:  vmhba2/Emulex ←★バージョンアップ対象のHBA
Key Value Instance:  vmhba1/Emulex ←★バージョンアップ対象のHBA

~(以下略)~
------------------------------

HBAの詳細情報を出力させる。現在のバージョンは1.00A12であることがわかる。なお、このファームウェアバージョンでググると、2009年のマニュアルが出てきたりすることから、かなり古いものであることがわかる。

[root@localhost:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba1/Emulex
------------------------------
Listing keys:
Name:   adapter
Type:   string
value:
lpfc Adapter Page

Emulex LightPulse FC SCSI 11.4.142.11
HP 8Gb Dual Channel PCI-e 2.0 FC HBA on PCI bus 0000:0c device 00 fn 0 port 0 Link Speed: 8 Gb

BoardNum:       0
FW Version:     1.00A12
HW Version:     31004549
ROM Version:    5.03a0
SerialNum:      XXXXXXXX
PCI ID:         10df f100 103c 3282

~(以下略)~
------------------------------

HPEのサイトから入手したHBAバージョンアップ用のzipファイルを/tmpに配置する。

[root@localhost:/tmp] ls -l
------------------------------
-rw-r--r--    1 root     root       5135821 Jul 19 16:53 CP032799.zip

~(以下略)~
------------------------------

zipファイルを解凍する。

[root@localhost:/tmp] unzip CP032799.zip
------------------------------
Archive:  CP032799.zip
 inflating: CP032799.vmexe
 inflating: CP032799.vmfile
 inflating: CP032799.xml
 inflating: payload.json
 inflating: README.txt
------------------------------

解凍したファイルを確認し、CP032799.vmexeに実行権限が付与されていることを確認しておく。

[root@localhost:/tmp] ls -l
------------------------------
-rwx------    1 root     root         26680 Jul 20 02:01 CP032799.vmexe
-rw-r--r--    1 root     root       5221264 Jul 20 02:01 CP032799.vmfile
-rw-r--r--    1 root     root         32518 Jul 20 02:01 CP032799.xml
-rw-r--r--    1 root     root       5135821 Jul 19 16:53 CP032799.zip
-rwxr-xr-x    1 root     root          1129 Jul 20 02:01 README.txt
-rw-r--r--    1 root     root         11042 Jul 20 02:01 payload.json
------------------------------

ファームウェアバージョンアップを実施する。CP032799.vmexeをそのまま実行するだけでよい。

[root@localhost:/tmp] ./CP032799.vmexe
------------------------------
Starting Smart Component...
argv[0]=[./hpsetup]
Calling OEMFLASHER.DOFLASH()...
Calling oem_do_discovery_with_files
m_oDiscoveryHeader.m_sDiscoveryFile=[/tmp/EMULEX_FC_HBA_DISC.xml]
m_sFirmwareBinDir=[./Flash/]
Vendor Return Code for discovery={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]
Load Component XML[./CP032799.xml]
Calling xmlParseFile to Update Discovery Data.
Update type=[emulex]
Update alt_name=[HPE Firmware Flash for Emulex Fibre Channel HBA's for ESXi 6.5]
Update version=[2017.06.02]
Update product_id=[82E PCIe FC HBA (AJ763A)]
Update product_id=[82E PCIe FC HBA (AJ763A)]
Saving Discovery Data
Calling xmlParseFile to Load Discovery Data
Load xml successful; Fetching Discovered Data...
No. of devices[2]
No. of FW Items for device[0]=[2]
*********************************
Calling oem_do_full_flash_PCI
Firmware=[./Flash/UD203X14.ALL] ForceInstall=[0]
PCI Bus=[12] Device=[0] Function=[0]
Vendor Return Code ={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]
*********************************
*********************************
Calling oem_do_full_flash_PCI
Firmware=[./Flash/UU1120A7.PRG] ForceInstall=[0]
PCI Bus=[12] Device=[0] Function=[0]
Vendor Return Code ={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]
*********************************
No. of FW Items for device[1]=[2]
*********************************
Calling oem_do_full_flash_PCI
Firmware=[./Flash/UD203X14.ALL] ForceInstall=[0]
PCI Bus=[12] Device=[0] Function=[1]
Vendor Return Code ={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]
*********************************
*********************************
Calling oem_do_full_flash_PCI
Firmware=[./Flash/UU1120A7.PRG] ForceInstall=[0]
PCI Bus=[12] Device=[0] Function=[1]
Vendor Return Code ={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]
*********************************
SC Return Code for Discovery={0} [The installation of the deliverable was successful.  No reboot was required. Discovery was successful]   ←★リブート不要のメッセージ
Ending flasher ...
SCEXE_SUCCESS:-->0   ←★リターンコード0を確認しておく
------------------------------

HBAの詳細情報を出力させる。バージョンが1.00A12→2.03X14にバージョンアップされていることがわかる。

[root@localhost:/tmp] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba1/Emulex
------------------------------
Listing keys:
Name:   adapter
Type:   string
value:
lpfc Adapter Page

Emulex LightPulse FC SCSI 11.4.142.11
HP 8Gb Dual Channel PCI-e 2.0 FC HBA on PCI bus 0000:0c device 00 fn 0 port 0 Link Speed: 8 Gb

BoardNum:       0
FW Version:     2.03X14
HW Version:     31004549
ROM Version:    11.20a7
SerialNum:      XXXXXXXX
PCI ID:         10df f100 103c 3282

~(以下略)~
------------------------------

以上のように、ESXiからもファームウェアバージョンアップが実施できた。再起動も不要だったので作業負荷が少なく、大変お勧めである。

0 件のコメント:

コメントを投稿

人気の投稿