ShinobiLayer: VMware環境下でLSI(AVAGO) MegaRAID用StorCLIコマンドを導入する方法

#1. はじめに
本記事では、SoftLayer + VMware環境下においてFirmwareのバージョン確認を行うために、StorCLIコマンドを導入する方法についてご紹介したいと思います。

実は、Firmwareのバージョン確認するだけなら、IPMIコンソールからOS起動時に確認することも可能です。[こちらの記事](http://qiita.com/testnin2/items/5a58de9e070dd146320d)にも紹介済ですが、搭載OS関係なく確認が可能なので、OS再起動が可能であれば、この方法で良さそうです。
もう1つは、同記事にも記載されていたStorCLIコマンドを利用することです。ただし、VMware環境には導入されていませんので、VMware環境用のStorCLIコマンドを別途導入する必要があります。


#2. StorCLIコマンドの導入（VMware用）

```text:VMwareESXiバージョン確認
[root@ibmesx02:~] esxcli system version get
   Product: VMware ESXi
   Version: 6.0.0
   Build: Releasebuild-3620759
   Update: 2
   Patch: 34
```

###a). Web ClientでESXiシェルおよびSSHサービスが稼働中であることを確認
該当ホストにて、管理 -> 設定 -> セキュリティプロファイルにて、ESXiシェルおよびSSHサービスが稼働中であることを確認。これらのサービスが稼動していることによって、ESXiホストにSSHでログインできるようになる。
![006.jpg](https://qiita-image-store.s3.amazonaws.com/0/62127/ea5ab459-053c-3367-7676-8abea7f86872.jpeg)


###b). メンテナンスモードに変更（オプション）
必須ではないですが、作業するので念のため。
![008_modify.jpg](https://qiita-image-store.s3.amazonaws.com/0/62127/1bd89c14-6813-c8ee-277c-4aa9aa491697.jpeg)


```text:メンテナンスモードであることをコマンドからも確認
[root@ibmesx02:~] esxcli system maintenanceMode get
Enabled
```

###c). StorCLIのモジュールをVMWare ESXiにファイル転送（SCP）
http://www.avagotech.com/products/server-storage/raid-controllers/megaraid-sas-9361-8i#downloads
から、以下の最新版のStorCLIをダウンロードする。ファイル転送には、WinSCPなどを利用すればよい。今回は、/tmp配下に1.19.04_StorCLI.zipを転送。
![LatestMegaRAIDStorCLI.jpg](https://qiita-image-store.s3.amazonaws.com/0/62127/0489abf2-d734-7aa7-8a32-a3b58a55d43e.jpeg)

###d). ファイル展開とStorCLIコマンドのインストール

ファイルを展開すると、Vmware、Vmware-MN、Vmware-NDSと３種類ありますが、それぞれ以下のバージョンに対応しているようです。

- VMware = VMware ESXi 5.0 
- Vmware-MN = VMware ESXi 5.5
- Vmware-NDS = VMware ESXi 6.0

readmeには以下のように記載あり。

```text:1.19.04_StorCLI.txtより引用
Installation Commands: 
=======================
Any OS specific instructions are noted in a readme file included in a folder in the zip file.

Refer to the MegaRAID SAS Software User's Guide for any additional StorCLI information.  The User Guide can be found in the MegaRAID Documentation section of www.avagotech.com.

For the newer UEFI shells(shell version greater than 2.0), you should use the StorCli binary inside the UDK folder.
For Vmware binaries:
 _________________________________
|StorCli folder	|	OS Version|
|_______________|_________________|
|VMWare		|	VMWare 4.x|
|VMWare-MN	|	VMWare 5.x|
|VMWare-NDS	|	VMWare OP |
 ---------------------------------
```


```text:ファイル展開とStorCLIコマンドのインストール
[root@ibmesx02:~] cd /tmp

[root@ibmesx02:/tmp] unzip 1.19.04_StorCLI.zip

[root@ibmesx02:/tmp] ls -l storcli_all_os
total 48
drwxrwxrwx    1 root     root           512 Jul 19 06:07 EFI
drwxrwxrwx    1 root     root           512 Jul 19 06:07 FreeBSD
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Linux
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Linux-OEL-Sparc
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Linux-ppc
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Solaris
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Solaris Sparc
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Ubuntu
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Vmware
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Vmware-MN
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Vmware-NDS
drwxrwxrwx    1 root     root           512 Jul 19 06:07 Windows

[root@ibmesx02:/tmp] cd storcli_all_os/Vmware-NDS/

[root@ibmesx02:/tmp/storcli_all_os/Vmware-NDS] ls -l
total 1964
-rw-r--r--    1 root     root           316 Jul 19 06:07 VMWARE_MN_NDS_Readme.txt
-rw-r--r--    1 root     root          1809 Jul 19 06:07 license.txt
-rw-r--r--    1 root     root       1999432 Jul 19 06:07 vmware-esx-storcli-1.19.04.vib

[root@ibmesx02:~] esxcli software vib install -v=/tmp/storcli_all_os/Vmware-NDS/vmware-esx-storcli-1.19.04.vib --no-sig-ch
eck
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: LSI_bootbank_vmware-esx-storcli-1.19.04_1.19.04-01
   VIBs Removed:
   VIBs Skipped:
```

```text:導入パッケージとバージョンの確認
[root@ibmesx02:~] esxcli software vib list|grep -i stor
vmware-esx-storcli-1.19.04     1.19.04-01                            LSI     PartnerSupported  2016-07-19

[root@ibmesx02:~] /opt/lsi/storcli/storcli -V

      StorCli SAS Customization Utility Ver 1.19.04 Feb 01, 2016

    (c)Copyright 2015, AVAGO Corporation, All Rights Reserved.

Exit Code: 0x00

[root@ibmesx02:~] /opt/lsi/storcli/storcli show
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = ibmesx02
Operating System  = VMkernel6.0.0

System Overview :
===============

------------------------------------------------------------------------------------
Ctl Model                   Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS  EHS ASOs Hlth
------------------------------------------------------------------------------------
  0 AVAGOMegaRAIDSAS9361-8i     8   2   1     0   1     0 Opt On  1&2 Y      5 Opt
------------------------------------------------------------------------------------

Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=DG NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Hot Spare
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit
Hlth=Health|Safe=Safe-mode boot

```

#3. StorCLIコマンドによるRAIDカードのFirmwareバージョン確認 

以下より、`FW Version = 4.650.00-6121`であることが分かる。

```text:Firmwareバージョン確認
[root@ibmesx02:~] /opt/lsi/storcli/storcli /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = AVAGO MegaRAID SAS 9361-8i
Serial Number = SV43523016
SAS Address =  500605b0093f8480
PCI Address = 00:81:00:00
System Time = 07/19/2016 06:30:35
Mfg. Date = 11/09/14
Controller Time = 07/19/2016 06:30:35
FW Package Build = 24.15.0-0016
BIOS Version = 6.31.03.0_4.17.08.00_0x06140200
FW Version = 4.650.00-6121
Driver Name = lsi-mr3
Driver Version = 6.605.08.00
Vendor Id = 0x1000
Device Id = 0x5D
SubVendor Id = 0x1000
SubDevice Id = 0x936C
Host Interface = PCI-E
Device Interface = SAS-12G
Bus Number = 129
Device Number = 0
Function Number = 0
Drive Groups = 1

TOPOLOGY :
========

-----------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type  State BT       Size PDC  PI SED DS3  FSpace TR
-----------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  558.406 GB dflt N  N   dflt N      N
 0 0   -   -        -   RAID1 Optl  N  558.406 GB dflt N  N   dflt N      N
 0 0   0   252:0    12  DRIVE Onln  N  558.406 GB dflt N  N   dflt -      N
 0 0   1   252:1    11  DRIVE Onln  N  558.406 GB dflt N  N   dflt -      N
-----------------------------------------------------------------------------

DG=Disk Group Index|Arr=Array Index|Row=Row Index|EID=Enclosure Device ID
DID=Device ID|Type=Drive Type|Onln=Online|Rbld=Rebuild|Dgrd=Degraded
Pdgd=Partially degraded|Offln=Offline|BT=Background Task Active
PDC=PD Cache|PI=Protection Info|SED=Self Encrypting Drive|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Free Space Present
TR=Transport Ready

Virtual Drives = 1

VD LIST :
=======

------------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name
------------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     RWBD  -   ON  558.406 GB RAID1-A
------------------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady|B=Blocked|
Consist=ConsistentR=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

Physical Drives = 2

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0    12 Onln   0 558.406 GB SAS  HDD N   N  512B ST3600057SS      U
252:1    11 Onln   0 558.406 GB SAS  HDD N   N  512B ST3600057SS      U
-------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded


Cachevault_Info :
===============

---------------------------------------------------------
Model  State   Temp Mode MfgDate    Next Learn
---------------------------------------------------------
CVPM02 Optimal 27C  -    2014/05/30 2016/08/09  00:29:00
---------------------------------------------------------

```