Category Archives: ストレージ

CephのOSD毎のPlacement Groupの数を確認する


Cephのテスト環境を構築してみた。

シナリオ通りに構築を進めていき、とりあえずは問題なくは終わった。
終わったんだけど、最後にステータスでも確認してみるかとceph healthを実行してみたところHEALTH_WARNが・・・

[root@ceph01 ~]# ceph health
HEALTH_WARN too many PGs per OSD (480 > max 300)
[root@ceph01 ~]#

OSDにたくさんのPGが割り当てられてる、といってるけど、具体的にはどれくらいあるんだろう?

と調べていくと、stackoverflowにある、下記のPGとOSDの関係性に関する質問を発見
Ceph too many pgs per osd: all you need to know

そこで紹介されている「Get the Number of Placement Groups Per Osd」に、OSD毎のPG数をコマンドで確認する手法が掲載されていた。

「ceph pg dump」の出力結果を整形して見やすいようにしている、というものだった。

ceph pg dump | awk '
BEGIN { IGNORECASE = 1 }
 /^PG_STAT/ { col=1; while($col!="UP") {col++}; col++ }
 /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
 up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
 for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
}
END {
 printf("\n");
 printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
 for (i in poollist) printf("--------"); printf("----------------\n");
 for (i in osdlist) { printf("osd.%i\t", i); sum=0;
   for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; sumpool[j]+=array[i,j] }; printf("| %i\n",sum) }
 for (i in poollist) printf("--------"); printf("----------------\n");
 printf("SUM :\t"); for (i in poollist) printf("%s\t",sumpool[i]); printf("|\n");
}'

これをテスト環境で実行してみると下記の様な出力を得られた

[root@ceph01 ~]# ceph pg dump | awk '
BEGIN { IGNORECASE = 1 }
 /^PG_STAT/ { col=1; while($col!="UP") {col++}; col++ }
 /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
 up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
 for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
}
END {
 printf("\n");
 printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
 for (i in poollist) printf("--------"); printf("----------------\n");
 for (i in osdlist) { printf("osd.%i\t", i); sum=0;
   for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; sumpool[j]+=array[i,j] }; printf("| %i\n",sum) }
 for (i in poollist) printf("--------"); printf("----------------\n");
 printf("SUM :\t"); for (i in poollist) printf("%s\t",sumpool[i]); printf("|\n");
}'
dumped all in format plain

pool :  4       5       6       7       8       9       10      11      12      13      14      1       2       15      3       | SUM
----------------------------------------------------------------------------------------------------------------------------------------
osd.4   39      29      25      36      27      24      35      34      30      28      34      33      35      29      32      | 470
osd.5   36      35      28      31      21      29      27      37      37      30      32      36      37      27      37      | 480
osd.6   38      37      30      35      30      24      37      33      32      31      27      32      33      31      27      | 477
osd.7   33      34      30      31      25      34      35      42      32      33      21      30      31      28      33      | 472
osd.8   29      32      39      35      28      39      31      34      36      35      38      34      35      24      21      | 490
osd.9   32      34      33      33      37      38      39      27      30      31      28      29      27      26      26      | 470
osd.10  39      31      34      24      35      36      35      40      34      37      37      45      32      31      37      | 527
osd.11  25      26      30      33      36      42      27      30      42      31      28      32      28      35      31      | 476
osd.0   27      39      38      29      35      24      34      26      28      31      38      23      33      31      32      | 468
osd.1   29      30      29      28      43      24      34      30      22      34      30      37      34      44      29      | 477
osd.2   27      32      35      33      31      38      21      24      30      26      37      26      26      36      33      | 455
osd.3   30      25      33      36      36      32      29      27      31      37      34      27      33      42      46      | 498
----------------------------------------------------------------------------------------------------------------------------------------
SUM :   384     384     384     384     384     384     384     384     384     384     384     384     384     384     384     |
[root@ceph01 ~]#

また、NAKAMURA Minoru’s Home Pageにある「RADOS の概略 (RADOS と CRUSH と Placement Group の関係)」は、Cephの理解に役に立った

LTFS Bulk Transferとは何か?


LTFSの記事を更新する為にSNIAの「LTFS規格書ページ」を見たら「LTFS Bulk Transfer v1.0」なるものを発見。
見てみると2016年10月11日発行の規格書だった。

しかし、SNIA以外のページで見かけない・・・
一体どういうものなのか、規格書を流し読みしてみた。

大量のファイルをひとまとめにして、システム間で転送できるようにする仕組み
Windows/Linux/MacOSX間で可搬性があるLTFSを流用し、
ファイルのアーカイブ処理はLTFSに任せ、システム間転送に司る部分を「LTFS Bulk Transfer」として定義している
というものであるようだ。

対象となるテープは1本だけとは限らないので、LTFS Bulk Transferの定義ファイル内では、xml記述でファイルと格納されているテープのIDを列挙し、それぞれにsha256によるチェックサムを記載し、コード化けを検出できるようにしている。

規格書内の使用例には、クラウドへの移行やクラウド間移行という模式図があり、汎用的な移行に使えるツールとしてLTFSを使用していくような感じも見受けられる。

特に明記はされていないが、物理LTOテープだけではなく、仮想LTOテープ的なものへの適用も考えられていそうな感じではある。

LTOテープをファイルシステムとして使うLTFSについて 2018/01/04版


前回LTFSの現状についてまとめた記事から2年が経過した。
(「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版」)

2年経過し、LTO-8も登場。
LTFSの規格にも変化が出ているのかな?と調査してみた。


過去のLTFS関連記事
 「LTOテープをファイルシステムとして使うLTFS(2012/11/28)
 「テープ装置メーカ純正のLTFS一覧(2013/12/20更新)
 「IBM版LTFSをRHEL5で使ってみた(2013/05/20)
 「LTOテープをファイルシステムとして使うLTFSについて 2014/06/09版」)
 「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版


LTFSとは?

LTO-5/LTO-6からは、メディアを2つの領域に分割して利用することが可能になった。
その機能を活かし、1本のテープメディアの中に、メディア内データの管理情報と、実データを分割して保存することを可能とした。
これにより、これまで実現出来なかった、1本のテープメディアだけで可搬性のあるファイルシステム構築、というものが可能となり、その実装として、LTFS(Linear Tape File System)というのがある。

使用用途としては、バックアップ用ではなく、長期保存のためのアーカイブ用や、大容量データの持ち運び用として使用されている。

LTFSを実現するためのソフトウェアについては、基本的には、IBMが大本のベースを作り、それを各LTOドライブメーカが、自社ドライブ向けにカスタマイズして提供しているような形となっている。

LTFSのバージョン(フォーマット)

LTFSには、バージョンがいくつかあり、現状気にしなければならないのは、以下の5つ
・LTFS 1.0
・LTFS 2.0 : ファイルインデックス関連で機能をいろいろ追加
・LTFS 2.1 : 2012/05/18リリース。LTFS2.0+シンボリックリンク
・LTFS 2.2 : 2013/12/21リリース。管理情報の改良
・LTFS 2.3 : 2016/03/08リリース。各ファイルのハッシュ情報とファイル名のエンコーディングを追加
(LTFS 2.3.1が2017/05/24にリリースされてますが、LTFS 2.3のバグ修正的なものなので、省略)

「LTFSのバージョン」と「LTFSソフトウェアのバージョン」は別物なので注意が必要。
たとえば、OracleのLTFSソフトウェアは「ver1.2.7」だが、「LTFS 2.2」に対応している。

とはいえ、2015/11/18現在では、どのLTFSソフトウェアもLTFS 2.2に対応しているので、新規導入分に関しては特に気にする必要はない。

LTFS2.3の規格書はSNIAの「Linear Tape File System (LTFS)」の「Linear Tape File System (LTFS) Format Specification」にてpdfで公開されている。

その他、いろんな情報は、LTOの規格団体の「LTFS Overview」にある。

LTFSソフトウェアの種類

LTFSの公式認証を取得しているLTFSソフトウェアについては、「LTFS Compliance Verification」にて紹介されている。

2018/01/04時点では以下の8個が登録されている。

Company Product Version LTFS Version LTO Generation Date tested
Quantum Quantum Scalar LTFS Appliance 2.0.2 2.0.1 LTO5 & 6 9/11/13
HP HP StoreOpen Standalone 2.1.0 2.1.0 LTO5 & 6 9/11/13
IBM IBM Single Drive Version 1.3.0 2.1.0 LTO5 & 6 9/11/13
IBM IBM LTFS Library Edition V1R3 2.1.0 LTO5 & 6 10/2/13
Quantum Quantum LTFS 2.1.0 2.1.0 LTO5 & 6 11/29/13
HP HP StoreOpen Automation 1.2.0 2.0.1 LTO5 & 6 11/29/13
Spectra Logic Spectra Logic Black Pearl 1.1 2.2 LTO5 & 6 9/11/15
MT-Consulting NODEUM 1.1 2.1.0 LTO5 & 6 7/05/16

2015年にSpectra Logicが追加、2016年にMT-Consultingが追加されている以外、バージョンに動きがない。しかし、実際には各LTFSソフトウェアともにバージョンアップを行っている。
なお、LTFSソフトウェアのバージョンと、対応しているLTFSフォーマットのバージョンに直接の関連性は無いので注意が必要。


各ドライブメーカが出しているLTFSソフトウェアについて

まずは、上記のリストに載っているメーカのものから。

・IBM
公式: IBM Spectrum Archive(IBM Linear Tape File System)

IBMのLTFSは「IBM Spectrum Archive」という商品名になっている。
テープベンダのSpectra Logicとは関係がないようだ。

ソフトウェアの入手は、「Fix Central」にて「製品グループ:System Storage」-「Tape Systems」-「Tape drives and software」の下にある「IBM Spectrum Archive Single Drive Edition(SDE) (旧名:LTFS Single Drive Edition)」や「IBM Spectrum Archive Library Edition(LE)(旧名:LTFS Library Edition)」「IBM Spectrum Archive Enterprise Edition(EE)」を選択して行う。
なお、LEとEEの方はアップデータのみの配布で、元になるソフトウェアについては、IBMから別途入手する必要がある。
基本的には、Single Drive Edition(SDE)が、他の全てのLTFSソフトウェアの原型になっているもの・・・という感じである。

2018/01/04時点での最新は、
IBM Spectrum Archive Enterprise Edition: ver1.2.5.0(2017/11/02) LTO-8対応/LTFS2.2まで対応
IBM Spectrum Archive Library Edition : ver2.4.0.0(2017/10/10) LTO-8対応/LTFS2.4対応
IBM Spectrum Archive Single Drive Edition: ver2.4.0.0(2017/10/10) LTO-8対応/LTFS2.4対応

IBM的にはLTFS 2.3はエンコードのバグがあるので、それを修正したものをLTFS 2.4と称している模様。

・HP
公式: HPE StoreOpen and Linear Tape File System (LTFS) Software
日本語情報: HP LTFS (Linear Tape File System)

単体ドライブ向けのみだが「日本語の導入マニュアル」が用意されている。

分社化の影響で、LTFS関連はHP Enterpriseに移籍したが、関連リンクが更新されていないので、いろんなところでリンク切れが発生している。
以前は「http://www.hp.com/go/ltfs/」といういい感じのショートカットがあったが、StoreOpenというショートカットに変わってしまった。

ソフトウェア関連は「HP StoreOpen and Linear Tape File System (LTFS) Software」からたどる事になる。

ソフトウェアの入手は、単体ドライブ向けの「HP StoreOpen Standalone」も、チェンジャー向け「HP StoreOpen Automation」も上記のページの「Get drivers, software & firmware.」から行う。

2018/01/04時点での最新は、
HP StoreOpen Standalone : ver3.2.0(2017/02/06) LTO-7まで対応
HP StoreOpen Automation : ver3.1.0(2016/07/22)

規格としてのLTFSの対応バージョンについての明記が見当たらず。

・Quantum
公式: Linear Tape File System

ソフトウェア入手は上記の公式ページの「Software」タブから行う。
ソースコードについては、LTFS Open Source Filesから。

2014/06/09時点での最新は、
Linux/Mac : ver2.2.0(2015/12) LTO-7/LTFS2.2対応
Windows Model Bドライブ向け: ver3.0(2016/04) LTO-6以降という曖昧な記述のみ
Windows Model Cドライブ向け: ver2.2.1(2014/10) LTO-7/LTFS2.2対応。おそらくLinux/Mac向けと同じベース

Linux版のReleasenoteには、Quantum LTOドライブのほか、IBM LTOドライブにも対応という記述がある。

・Quantum Scalar LTFS Appliance
公式:Scalar LTFSアプライアンス

ハードウェアがセットになったアプライアンス。
これの下にFC経由などでテープチェンジャーを繋いで使うもの。

・Spectra Logic
公式:Linear Tape File System (LTFS)

LTFSを紹介するページはあるものの、LTFSを利用するソフトウェアに関するページが見当たらない。
また、バージョンもわからず。
BlackPearlというアプライアンスで、階層型ストレージとしてディスクとテープなどのストレージを組み合わせて使用する。

・MT-C NODEUM
公式:NODEUM

リストには「MT-Consulting」とあるが「MT-C」と改称した模様。
階層型ストレージとして、ディスクとテープなどを組み合わせて使用できるようにする、ソフトウェアのみを販売している?


リストに載っていない、LTFS

・TANDBERG DATA
公式: LTFS for Archive

以前は「LTFS for Big Data」という扱いだったが、「Archive」にかえたようだ。

ソフトウェアの入手は「LTFS Downloads for LTO-5/6」か「LTFS Downloads for LTO7」から行う。

2018/01/04時点での最新は
LTO-5/6向け: ver 3.0.0
LTO-7向け: ver 2.2.2

ページは英語表記だが、ドキュメントアイコンが日の丸になってるとおり、ダウンロードできるドキュメントは日本語化されている。
一部TANBERGカスタマイズが入っているようだが、基本的にはHP StoreOpen相当品。

・Oracle
公式: Oracle’s StorageTek Linear Tape File System, Open Edition
製品としてのページ: Oracle StorageTek Linear Tape File System (LTFS), Open Edition and Library Edition

ソフトウェアの入手は「https://oss.oracle.com/projects/ltfs/files/」から行う。

2018/01/04時点での最新は2015年時点と変わらず
ltfs-1.2.7(2015/10/07)

IBM LTFS 2.2.0.2とHP LTFS 2.2.1を組み合わせ、Oracle/StorageTek用の設定を入れたもの。
Oracle LTOドライブ,IBM LTOドライブ,HP LTOドライブに対応している。

Resouceページで「LTFS For Dummies」という51ページのPDFを公開しているのが興味深い。
??? For Dummiesは、アメリカで販売されているいろんな分野の初心者向け書籍シリーズ。「ダミー人形向けの」→「バカでも分かる」というものなんだけど・・・このLFS for Dummies、解説具合が微妙過ぎるなぁ・・・


LTFS関連のツール紹介

・LTOpers
公式: https://github.com/amiaopensource/ltopers
LTFSを使いやすくするためのBASHスクリプトのフロントエンドプログラム
Quantum LTFS 2.2向けで、Homebrewでインストールし、ということなので、MacOSX向けとして作られているようだが、スクリプトを読むと.linuxbrewディレクトリがあった場合の条件分岐があるので、Linuxでも使えそう。

LinkStation LS410Dの1TBモデルを4TBに変えた


buffshopでLinkStaton LS410Dの1TBモデル(LS410D0101)が7,900円で売っていた。
そして、4TB HDD単品が8,800円だった。

LinkStationaは、HDD初期状態からOSをセットアップできる技術が確立している・・・

というわけで、買ってみました。

1. LS410Dの中を開ける
2. HDDを交換
3. LinkStationのアップデートzipを入手し、uImageとinitrdを取り出す(パスワードはググれ)
4. Windowsマシンにtftpサーバを立てる
5. LinkStationの電源を入れていろいろやる(詳しくはググれ)
6. LinkStationのアップデータのexeを実行して、firmwareアップデート実施(詳しくはググれ)
7.LinkStationの初期化が終わって正常起動する

という感じで、問題無く4TBモデルが完成しました。
DTCP-IP機能も問題なく動作しています。

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
------------------------------------------------------------
#