Category Archives: サーバ

MegaRAID SAS 8708EM2のfirmware updateをstorcliで行う


NEC Express 5800で使われているSAS RAIDカードのN8103-117のfirmwareをアップデートしてみた。
詳しくは後述するが、NEC提供のfirmwareではなく、OEM元のLSI Logicが提供する最新firmwareの適用を行った。

NECでは「RAIDコントローラファームウェアアップデートモジュール(1.12.152-0589)」として配布しているもののromファイルの中身を見ると「VERSIONS=APP_1.12.152-0589,~ PACKAGE=8.0.1-0051 VALIDATION=GCA_02/25/09_12:32:30」となっている。
それに対して、LSIの最新firmwareは「VERSIONS=APP_1.40.342-1650,~ PACKAGE=11.0.1-0048 VALIDATION=GCA_05/23/12_00:52:27」である。


さて、まず、N8103-117は、LSI LogicのSASカードなので、LSIの管理ソフトをインストールする。
以前はMegaCLIというコマンドだったが、最近はstorcliという名称となりコマンドオプションもだいぶ変更になっている。

storcliのダウンロードだが、LSI Logicは、いろいろあった結果、現在Broadcomに買収されている。
このため、「Broadcomのサポートページのダウンロード」から関連ソフトを探す必要がある。

storcliの検索結果」から「Management Software and Tools」にある「MegaRAID Storcli」をダウンロードし、インスト-ルする。

storcliを使う場合、まずは、storcliで認識できるSAS/SCSIコントローラを確認する必要がある。
「storcli64 show」を実行する。

# /opt/MegaRAID/storcli/storcli64 show
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = blog.osakana.net
Operating System  = Linux3.10.0-514.2.2.el7.x86_64

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

------------------------------------------------------------------------------
Ctl Model              Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
------------------------------------------------------------------------------
  0 MegaRAIDSAS8708EM2     8   3   1     0   1     0 Opt On  2  N      0 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
#

「MegaRAIDSAS8708EM2」を使ったコントローラが1個みつかり、コントローラの番号は「0」であることが分かる。

続いて、そのコントローラについての詳細を確認するため「/c0」オプションを追加し「storcli64 /c0 show」を実行する。

# /opt/MegaRAID/storcli/storcli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = MegaRAID SAS 8708EM2
Serial Number = P322610710
SAS Address =  500605b001xxxxxx
PCI Address = 00:01:00:00
System Time = 01/04/2017 11:47:12
Mfg. Date = 02/24/10
Controller Time = 01/04/2017 02:47:13
FW Package Build = 11.0.1-0008
FW Version = 1.40.32-0580
BIOS Version = 2.06.00
Driver Name = megaraid_sas
Driver Version = 06.811.02.00-rh1
Vendor Id = 0x1000
Device Id = 0x60
SubVendor Id = 0x1000
SubDevice Id = 0x1013
Host Interface = PCI-E
Device Interface = SAS-3G
Bus Number = 1
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
--------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   0   252:0    0   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
 0 0   1   252:1    1   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
--------------------------------------------------------------------------

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

Virtual Drives = 1

VD LIST :
=======

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     No      NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=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 = 3

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0     0 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:1     1 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:2     2 GHS    - 135.937 GB SAS  HDD N   N  512B HUC103014CSS600  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


BBU_Info :
========

------------------------------------------------------------
Model State   RetentionTime Temp Mode MfgDate    Next Learn
------------------------------------------------------------
iBBU  Optimal N/A           19C  -    2010/05/14 None
------------------------------------------------------------


#

コントローラについての情報や、RAID構成に関する情報が取得できる。

また、出力結果より、「N8103-117」は「MegaRAID SAS 8708EM2」である事が判明。
同じくサポートページより最新のfirmwareを検索してみる。

MesaRAID SAS 8708EM2に関するDownload」の「Firmware」から「EF P34」をダウンロード。
Readmeには下記のバージョンが書かれており、現状の「FW Package Build = 11.0.1-0008」より新しいことが分かる。

Current Firmware Package: 11.0.1-0048 (EF-P34)
Current Package Details: APP-1.40.342-1650_BB-1.00.00.01-0012_BIOS-2.07.00_WEBBIOS-2.2-22-e_15-Rel_CTRLR-_PCLI-01.40-01000008_2012_05_11

アップデートは、firmwareファイルを「file=ファイル名」という形で指定して実行となる。
つまり「storcli64 /c0 download file=ファイル名」と実行する。

# /opt/MegaRAID/storcli/storcli64 /c0 download file=mr1078fw.rom
Download Completed.
Flashing image to adapter...
Controller = 0
Status = Success
Description = F/W Flash Completed. Please reboot the system for the changes to take effect

Current package version = 11.0.1-0008
New package version = 11.0.1-0048
#

適用したfirmwareは、OS再起動後から有効になるため、rebootする。

起動完了後、「storcli64 /c0 show」を実行し、FW Package BuildとFW Versionが変更されていることを確認。

# /opt/MegaRAID/storcli/storcli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = MegaRAID SAS 8708EM2
Serial Number = P322610710
SAS Address =  500605b001xxxxxx
PCI Address = 00:01:00:00
System Time = 01/04/2017 13:07:49
Mfg. Date = 02/24/10
Controller Time = 01/04/2017 04:07:49
FW Package Build = 11.0.1-0048
FW Version = 1.40.342-1650
BIOS Version = 2.07.00
Driver Name = megaraid_sas
Driver Version = 06.811.02.00-rh1
Vendor Id = 0x1000
Device Id = 0x60
SubVendor Id = 0x1000
SubDevice Id = 0x1013
Host Interface = PCI-E
Device Interface = SAS-3G
Bus Number = 1
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
--------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   0   252:0    0   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
 0 0   1   252:1    1   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
--------------------------------------------------------------------------

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

Virtual Drives = 1

VD LIST :
=======

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     No      NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=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 = 3

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0     0 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:1     1 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:2     2 GHS    - 135.937 GB SAS  HDD N   N  512B HUC103014CSS600  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


BBU_Info :
========

------------------------------------------------------------
Model State   RetentionTime Temp Mode MfgDate    Next Learn
------------------------------------------------------------
iBBU  Optimal N/A           20C  -    2010/05/14 None
------------------------------------------------------------
#

2.5G/5Gbpsのイーサネット規格IEEE 802.3bz/mGig/NBASE-Tで買える製品は何か?


2.5Gbps/5GbpsでCAT5eケーブルを使用するイーサネット規格がIEEE 802.3bzとして標準化された。

以前より「NBASE-T Alliance」にて「NBASE-T」という名称、またCisco社では「mGig(Multigigabit Ethernet)」という名称で製品化が進んでいたものではある。

1月に記事を書いた時は気がつかなかったのですが「玄人志向の10GBase-T NIC GbEX-PCIEはTehuti Networks TN9510相当品」って、NBASE-T対応製品だったんですね。

他にどんな製品があるのかな?と調べてみた
NBASE-T Alliance加盟各社の製品一覧
「Type of Product:System-level Product」で、「Availability:Shipping」となっているものが普通に購入できる製品、という意味になる。

スイッチ

メーカ 製品名 種別 uplink系 downlink系
SFP+ 10G 5G 2.5G 1G 10G 5G 2.5G 1G
Cisco Meraki MS350-24X L3スイッチ 4 8 なし 16
Cisco Catalyst 3560-CXシリーズ L3スイッチ 2 6 なし 8 or 12
Cisco Catalyst 4500シリーズ L3スイッチ 使用するモジュール次第
Cisco Catalyst 3850シリーズ L3スイッチ 3850-12X48Uなら12ポート分、3850-24XUなら24ポート分対応
Brocade ICX 7450シリーズ L3スイッチ RJ-45コネクタの一部で10Gと2.5Gに対応してるらしいがよく分からない
Aruba Aruba 3810シリーズ L3スイッチ たぶん、Aruba 3810M 40G 8 HPE Smart Rate
PoE+ 1-slot Switch (JL076A) だけが8ポート分10G/5G/2.5G/1G対応
Aruba Aruba 5400Rシリーズ L3スイッチ 使用するモジュール次第
Cisco Meraki MR53 無線AP なし あり なし
NETGEAR ProSAFE M4200 無線AP 2 なし 8 なし
Cisco Cisco Aironet 3800シリーズ 無線AP なし 2 なし
Aruba Aruba 330シリーズ 無線AP なし あり なし

NIC
・TEHUTI Network「TN9510: 5-speed 10GBase-T / NBASE-T」PCIeの10G/5G/2.5G/1Gネットワークインタフェース
・Promise「SANLINIK3 T1」40GbpsのThunderbolt3インタフェースを2.5Gに変換するアダプタ

Intelからは「Intel Ethernet Controller X550 family」というチップのみで、NICはまだリリースされていない模様


2016/10/06追記

GIGABYTEからIntel X550-AT搭載の1ポートモデル「CLN4121 (rev. 1.0)」とIntel X550-AT2搭載の2ポートモデル「CLN4222 (rev. 1.0)」が出る模様。

GIGABYTEのNIC製品ページでは特に明記されていませんが、使用しているIntel X550-AT/X550-AT2についての詳細が記載されている「Intel Ethernet Controller X550 Specification Update」にはNBASE-T対応についての記述が・・・

2. NBASE-T Speed Advertisement

NBASE-T speed advertisement (2.5 GbE/5 GbE) is disabled by default in the X550 NVM. An NBASE-T
enabled driver should be used to link at NBASE-T speeds.
Linux driver version 4.3.9 is currently the only supported software solution for NBASE-T.
For future planned enhancements, contact your Intel representative.

おや・・・標準では無効にされているんですか・・・
今後に期待・・・なんですかね?

LSI MegaRAID SASのRAIDステータスをLinuxで取る


前はMegaCliだったものが、いまは違うらしい。

というか、中古で手に入れたサーバにMegaRAID SAS 8708EM2が入ってたので必要になったので確認してみた。

Support Documents and Downloads」から「Product Family:Legacy RAID Controllers」の「Product:MegaRAID SAS 8708EM2」を選択し、検索。

「Management Software and Tools」にあるが、なぜか「Current」には出てこないので「Archive」を選択。

「MegaRAID Storage Manager (MSM)」はJavaで動くGUIツール。
「StorCLI」もしくは「MegaRAID StorCLI」は、コマンドのみ

「MegaRAID Storage Manager (MSM)」の最新版はMR6.9なのに、StorCLIはMR6.8が最新なのはなぜなのか・・・

rpmからインストールすると、/opt/MegaRAID以下にインストールされる。
実行ファイルは、/opt/MegaRAID/storcli/storcli64 か /opt/MegaRAID/storcli/storcli。

まずは、コントローラのリストを「storcli64 show」で取得

# /opt/MegaRAID/storcli/storcli64 show
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = example.osakana.net
Operating System  = Linux3.10.0-327.28.2.el7.x86_64

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

------------------------------------------------------------------------------
Ctl Model              Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
------------------------------------------------------------------------------
  0 MegaRAIDSAS8708EM2     8   3   1     0   1     0 Opt On  2  N      0 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
#

コントローラの番号が判明したので「storcli64 /c0 show」と、コントローラを指定して、詳細を確認。

# /opt/MegaRAID/storcli/storcli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = MegaRAID SAS 8708EM2
Serial Number = P322610710
SAS Address =  500605b001eedcb0
PCI Address = 00:01:00:00
System Time = 08/10/2016 17:24:17
Mfg. Date = 02/24/10
Controller Time = 08/10/2016 08:24:13
FW Package Build = 11.0.1-0008
FW Version = 1.40.32-0580
BIOS Version = 2.06.00
Driver Name = megaraid_sas
Driver Version = 06.807.10.00-rh1
Vendor Id = 0x1000
Device Id = 0x60
SubVendor Id = 0x1000
SubDevice Id = 0x1013
Host Interface = PCI-E
Device Interface = SAS-3G
Bus Number = 1
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
--------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   0   252:0    0   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
 0 0   1   252:1    1   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
--------------------------------------------------------------------------

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

Virtual Drives = 1

VD LIST :
=======

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     No      NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=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 = 3

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0     0 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:1     1 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:2     2 GHS    - 135.937 GB SAS  HDD N   N  512B HUC103014CSS600  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


BBU_Info :
========

------------------------------------------------------------
Model State   RetentionTime Temp Mode MfgDate    Next Learn
------------------------------------------------------------
iBBU  Optimal N/A           37C  -    2010/05/14 None
------------------------------------------------------------

#

146GB SAS HDDが3本認識されていて
RAID1で2本、スペアで1本使われている。

バッテリーバックアップユニット(BBU)が入ってる。
ステータスを「storcli64 /c0 /bbu show all」で確認

# /opt/MegaRAID/storcli/storcli64 /c0 /bbu show all
Controller = 0
Status = Success
Description = None


BBU_Info :
========

----------------------
Property      Value
----------------------
Type          iBBU
Voltage       4069 mV
Current       0 mA
Temperature   37 C
Battery State Optimal
----------------------


BBU_Firmware_Status :
===================

-------------------------------------------------
Property                                   Value
-------------------------------------------------
Charging Status                            None
Voltage                                    OK
Temperature                                OK
Learn Cycle Requested                      No
Learn Cycle Active                         No
Learn Cycle Status                         OK
Learn Cycle Timeout                        No
I2C Errors Detected                        No
Battery Pack Missing                       No
Replacement required                       No
Remaining Capacity Low                     No
Periodic Learn Required                    No
Transparent Learn                          No
No space to cache offload                  No
Pack is about to fail & should be replaced No
Cache Offload premium feature required     No
Module microcode update required           No
-------------------------------------------------


GasGaugeStatus :
==============

---------------------------------
Property                   Value
---------------------------------
Fully Discharged           No
Fully Charged              Yes
Discharging                Yes
Initialized                Yes
Remaining Time Alarm       No
Remaining Capacity Alarm   No
Terminate Discharge Alarm  No
Over Temperature           No
Charging Terminated        No
Over Charged               No
Relative State of Charge   100%
Charger System State       49168
Charger System Ctrl        0
Charging current           0 mA
Absolute state of charge   98%
Max Error                  2%
Battery backup charge time N/A
---------------------------------


BBU_Capacity_Info :
=================

------------------------------------------------------
Property                 Value
------------------------------------------------------
Relative State of Charge 100%
Absolute State of charge 98%
Remaining Capacity       663 mAh
Full Charge Capacity     665 mAh
Run time to empty        Battery is not being charged
Average time to empty    Battery is not being charged
Average Time to full     Battery is not being charged
Cycle Count              96
Max Error                2%
Remaining Capacity Alarm 70 mAh
Remining Time Alarm      10 minutes(s)
------------------------------------------------------


BBU_Design_Info :
===============

-----------------------------------
Property                Value
-----------------------------------
Date of Manufacture     14/05/2010
Design Capacity         675 mAh
Design Voltage          3700 mV
Specification Info      33
Serial Number           4643
Pack Stat Configuration 6490
Manufacture Name        LS1113001A
Device Name             2970701
Device Chemistry        LION
Battery FRU             N/A
Transparent Learn       0
App Data                0
-----------------------------------


BBU_Properties :
==============

-------------------------------------------
Property             Value
-------------------------------------------
Auto Learn Period    30d (2592000 seconds)
Next Learn time      None
Learn Delay Interval 0 hour(s)
Auto-Learn Mode      Disabled
-------------------------------------------
#

どうやら、まだ生きている模様。

・・・最初は死んでたんだけど「storcli64 /c0 /bbu start learn」とBBUの状態調査を行わせてしばらく放置したら生き返った感じで・・・

ネットワーク上にあるhpサーバのiLO IPアドレスとライセンスを収集するスクリプト


hpサーバをリモートから制御するために使用するiLO。
稼働させたあとにIPアドレスを確認するのがめんどくさい。
そういう場合に、総当たりでiLOのIPアドレスを確認するスクリプトがあった。

NachoTech Blogの「How to find all the iLO’s on your network」にあるfindilosである。

早速ダウンロードして実行してみる。

[root@adserver ~]# ./findilos 172.17.17.0/24
Scanning...

--------------- ------ -------- ------------ -------------------------
iLO IP Address  iLO HW iLO FW   Server S/N   Server Model
--------------- ------ -------- ------------ -------------------------
172.17.17.xxx   N/A    1.26     CN71xxxMxx   ProLiant DL360 G7

1 iLOs found on network target 172.17.17.0/24

[root@adserver ~]#

iLO HWのモデル名は拾ってくれない。
blogのコメントを確認していくと、元のスクリプトはiLO-2までしか対応しておらず、その後のバージョンについてはコメント欄にある修正を実施すれば良いようだ。

また、iLO Advanceを買っている場合に、そのライセンスコードを表示するための案も提示されていた。
ただ、スクリプト例は汚い実装となっていて、せっかくの元スクリプトを活かしていない形だったので、元スクリプトの実装に従ってライセンスを表示するバージョンを作成した。

その実行例がこちら

[root@adserver ~]# ./findilos 172.17.17.0/24
Scanning...

--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------
iLO IP Address  iLO HW iLO FW   Server S/N   Server Model              iLO Edition          iLO Licence Key
--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------
172.17.17.xxx   iLO-3  1.26     CN71xxxMxx   ProLiant DL360 G7         iLO 3 Advanced       xxxxx-xxxxx-xxxxx-xxxxxx-xxxxx

1 iLOs found on network target 172.17.17.0/24

[root@adserver ~]#

スクリプトの修正例は以下

#!/bin/bash
#
# findilos - Search a local network segment for iLOs
#            The iLO is the Integrated Lights-Out management processor
#            used on HP ProLiant and BladeSystem servers
#
scriptversion="1.0"
#
# Author: iggy@nachotech.com
#
# Website: http://blog.nachotech.com
#
# Requires: tr sed expr curl nmap
#
# Tested with: Nmap 4.20, curl 7.17.1, RHEL4
#
# Note: Discovery of an iLO is dependent upon the Virtual Media port
#       being set to the default of 17988.  If this has been changed
#       by the iLO administrator, then this script will NOT find it.
#
#       Also, if the iLO XML Reply Data Return has been Disabled by
#       the iLO administrator, this script will not be able to
#       gather any information about the server.  It will still be
#       discovered, but all you will see is its IP address.
#

# GLOBAL VARIABLES

scriptname="findilos"
iloips="/tmp/tmpilos.$$"
iloxml="/tmp/tmpiloxml.$$"
ilohwvers="/tmp/tmpilohwvers.$$"

declare -i ilosfound=0

# FUNCTIONS

function parseiloxml {
  fgrep "$1" $iloxml > /dev/null 2>&1
  if [ $? -ne 0 ]
  then
    # tag not found in xml output, return empty string
    parsedstring="N/A"
  else
    # tag was found - now we parse it from the output
    tempstring=$( cat $iloxml | tr -d -c [:print:] | sed "s/^.*<$1>//" | sed "s/<.$1.*//")
    # trim off leading and trailing whitespace
    parsedstring=`expr match "$tempstring" '&#91; \t&#93;*\(.*&#91;^ \t&#93;\)&#91; \t&#93;*$'`
  fi
}

function is_installed {
  which $1 > /dev/null 2>&1
  if [ $? -ne 0 ]
  then
    printf "\nERROR: %s not installed.\n\n" $1
    exit 255
  fi
}

# MAIN

# check for tools that we depend upon

is_installed tr
is_installed sed
is_installed expr
is_installed curl
is_installed nmap

# check syntax - should have 1 and only 1 parameter on cmdline

if [ $# -ne 1 ]; then
  printf "%s %s ( http://blog.nachotech.com/ )\n" $scriptname $scriptversion
  printf "Usage: %s {target network specification}\n" $scriptname
  printf "TARGET NETWORK SPECIFICATION:\n"
  printf "  Can pass hostnames, IP addresses, networks, etc.\n"
  printf "  Ex: server1.company.com, company.com/24, 192.168.0.1/16, 10.0.0-255.1-254\n"
  printf "EXAMPLE:\n"
  printf "  %s 16.32.64.0/22\n" $scriptname
  exit 255
fi

iprange=$1

# prepare lookup file for iLO hardware versions

cat > $ilohwvers << EOF
iLO-1 shows hw version ASIC:  2
iLO-2 shows hw version ASIC:  7
iLO-3 shows hw version ASIC: 8
iLO-3 shows hw version ASIC: 9
iLO-4 shows hw version ASIC: 12
iLO-4 shows hw version ASIC: 16
i-iLO shows hw version T0
EOF

#
# scan a range of IP addresses looking for an
# open tcp port 17988 (the iLO virtual media port)
#

printf "Scanning..."

nmap -n -P0 -sS -p 17988 -oG - $iprange | fgrep /open/ | awk '{print $2}' > $iloips

printf "\n\n"

#
# open and read the list of IP addresses one at a time
#

exec 3< $iloips

echo "--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------"
echo "iLO IP Address  iLO HW iLO FW   Server S/N   Server Model              iLO Edition          iLO Licence Key"
echo "--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------"

while read iloip <&3 ; do
  ilosfound=$ilosfound+1
  #
  # attempt to read the xmldata from iLO, no password required
  #
  curl --proxy "" --fail --silent --max-time 3 http://$iloip/xmldata?item=All > $iloxml

  #
  # parse out the Server model (server product name)
  # from the XML output
  #

  parseiloxml SPN;  servermodel=$parsedstring
  parseiloxml SBSN; sernum=$parsedstring
  parseiloxml PN;   ilotype=$parsedstring
  parseiloxml FWRI; ilofirmware=$parsedstring
  parseiloxml HWRI; ilohardware=$parsedstring

  ilohwver=$(grep "$ilohardware" $ilohwvers|awk '{print $1}')
  if [ "$ilohwver" == "" ]; then
    ilohwver="N/A"
  fi

  if [ "$sernum" == "" ]; then
    sernum="N/A"
  fi

  # add start
  curl --proxy "" --fail --silent --max-time 3 http://$iloip/xmldata?item=CpqKey > $iloxml
  parseiloxml LNAME; ilomodel=$parsedstring
  parseiloxml KEY; ilokey=$parsedstring
  # add end

  printf "%-15s %-6s %-8s %-12s %-25s %-20s %-30s\n" $iloip "$ilohwver" "$ilofirmware" "$sernum" "$servermodel" "$ilomodel" "$ilokey"

done

printf "\n%d iLOs found on network target %s.\n\n" $ilosfound $iprange

rm -f $iloips $iloxml $ilohwvers

exit 0

Cavium社のサーバ向け64bit ARM CPU「ThunderX2」


台湾で開催中のCOMPUTEXにて、サーバ向け64bit ARM CPUというのが発表された。

プレスリリース「64-bit Arm Cpus
Cavium Announces ThunderX2™

ThunderX2™ ARM Processors」という製品ページも公開されている。

ざらっと読んでの特徴

・自社開発のARMコアを使用(Cortexシリーズを使っていない)
・アーキテクチャはARMv8
・2.5GHzで動作する24コア~48コアのCPU
・2CPU構成も可
・DDR3/DDR4のメモリを1TB以上も対応可能(まずは1TBまでサポートらしい)
・10Gb/40GbのEthernet、SATA v3インタフェース、PCIeインタフェースを多数対応可
・用途に応じた4種類のラインナップも用意
 それぞれ、各用途に応じたオフロード処理機構的なものを組み込んでいる
 ・ThunderX2 CP: ComPute prosessorsでクラウドコンピューティング向けで仮想処理とか特化
 ・ThunderX2 ST: STorage processorsでNASヘッド/ストレージヘッド向け
 ・ThunderX2 SC: SeCure processorsで暗号化処理が絡むセキュリティ機器/Firewall/ロードバランサなど向け
 ・ThunderX2 NT: NeTwork Centric Workload Optimized processorsなんだがCPシリーズとの差がよく分からない
・対応OSは、Ubuntu 16.04 LTS以降、SUSE SLES SP2以降、CentOS 7.2以降、FreeBSD 11.0以降
・RedHatは「RedHat Early Access for ARMv8」にて対応

おそらく、GigabytesのServer Barebone一覧にあるThunderX搭載の「2U 12-bay Cavium ARM Rackmount Server R270-T60 (rev. 100)」と「2U 24-bay Cavium ARM Rackmount Server R270-T61 (rev. 100)」などを置き換えていくのだと想定されます。