http://hwraid.le-vert.net/wiki/LSIMegaRAIDSAS
の英訳
1. Card information
MegaRAID SASはLSI製の高機能なRAIDコントローラー
ハードウェアRAIDを実現しRAID5をサポートして、SASとSATAで利用可能
Linuxカーネルは動的ドライバを持っているため、このカードを利用することができる
現状では、このカード用のopensource toolは存在しない
古いMegaRAID SASはmegactlを利用する、しかし現在のカードでは利用できない
メインのCLIユーティリティとして、megacliを提供しているが少々利用しにくい
2. Linux kernel drivers
megaraid_sasドライバはLinuxカーネルの一部であり、現在ほとんどのディストリビューションでサポートされている
しかし、古いディストリビューションでは入っていない
lspci -nnでPCIデバイスの詳細を確認可能
3. Management and reporting tools
megactlはmegasasctl(SASのバイナリツール)を含む。古いカードでは動作するが新しいものでは動作しない。
もし、megasasctlが動作しなければ、CLIユーティリティのmegaclisasを利用するべし
カード操作にあたり、megaclisasの他に選択肢はない
3.1. megactl
megasasctlは最近のカードでは動作しないように見えますが、試してみる価値はあります
3.1.1. Quickstart and output example
[root@server ~]# megasasctl # コントローラーの状態を表示
a0 PERC 5/i Integrated encl:1 ldrv:2 batt:good
a0d0 67GiB RAID 1 1×2 optimal
a0d1 836GiB RAID 5 1×4 optimal
a0e8s0 68GiB a0d0 online
a0e8s1 68GiB a0d0 online
a0e8s2 279GiB a0d1 online
a0e8s3 279GiB a0d1 online
a0e8s4 279GiB a0d1 online
a0e8s5 279GiB a0d1 online
[/text]
-Hオプション:問題があるところを表示。返り値が何もなければ正常
-Bオプション:-Hオプションと一緒に利用し、バッテリのトラブルは無視する
megasasctlではコントローラーにバッテリをつけているかどうか定義できないため、バッテリがないときに有効なパラメーター
3.1.2. Periodic checks
以上を利用してスクリプトを作成すれば、ステータスチェックできるが、そのためにmegaraid-statusというものが用意されている
3.2.1. About megaraid-status
megaraidsas-statusはmegactlのラッパースクリプトであり、リポジトリのパッケージとして用意されている
このパッケージはmegasasctlを利用したpythonラッパーで、initスクリプトが定期的にこれを実行することでステータスをチェックする
最新の値をファイルに保持することによって、RAIDの状態の変化などを検知する
問題発生時はsyslogに記載し、メールを送信する
arrayの状態が正常になるまで、2時間おきにリマインダーメールを送信する
3.2.2. Wrapper output example
[root@server ~]# megaraidsas-status -- Arrays informations -- -- ID | Type | Size | Status a0d0 | RAID 1 | 67GiB | optimal a0d1 | RAID 5 | 836GiB | optimal -- Disks informations -- ID | Model | Status | Warnings a0e8s0 | FUJITSU MBA3073RC 68GiB | online a0e8s1 | FUJITSU MBA3073RC 68GiB | online a0e8s2 | SEAGATE ST3300656SS 279GiB | online a0e8s3 | SEAGATE ST3300656SS 279GiB | online a0e8s4 | SEAGATE ST3300656SS 279GiB | online a0e8s5 | SEAGATE ST3300656SS 279GiB | online
3.3. megacli
3.3.1. About megacli
megacliはLSI製のMegaRAID SASカードの状態確認と管理実施することができる
ただし、コマンドのパラメーターについての試料がないため、使用することが難しい
3.3.2. Quickstart and output example
server:~# megacli -AdpAllInfo -aAll # アダプタの状態と設定を表示する Adapter #0 ============================================================================== Versions ================ Product Name : PERC 5/i Integrated Serial No : 12345 FW Package Build: 5.2.1-0067 Mfg. Data ================ Mfg. Date : 00/00/00 Rework Date : 00/00/00 Revision No : @��A Battery FRU : N/A Image Versions In Flash: ================ Boot Block Version : R.2.3.12 BIOS Version : MT28-8 MPT Version : MPTFW-00.10.61.00-IT FW Version : 1.03.40-0316 WebBIOS Version : 1.03-04 Ctrl-R Version : 1.04-019A [...]
server:~# megacli -LDInfo -L0 -a0 # 論理ドライブ0とアダプタ0を表示する Adapter 0 -- Virtual Drive Information: Virtual Disk: 0 (Target Id: 0) Name:raid1 RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 Size:237824MB State: Optimal Stripe Size: 64kB Number Of Drives:2 Span Depth:1 Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Access Policy: Read/Write Disk Cache Policy: Disk's Default Exit Code: 0x00
server:~# megacli -AdpAutoRbld -Dsply -a0 # autorebuildの状態を表示 Adapter 0: AutoRebuild is Enabled. Exit Code: 0x00 server:~# megacli -AdpAutoRbld -Dsbl -a0 # autorebuildを無効に Adapter 0: AutoRebuild is Disabled. Exit Code: 0x00 server:~# megacli -AdpAutoRbld -Enbl -a0 # autorebuildを有効に Adapter 0: AutoRebuild is Enabled. Exit Code: 0x00
server:~# megacli -AdpGetProp RebuildRate -a0 # rebuild rateを取得 Adapter 0: Rebuild Rate = 30% Exit Code: 0x00 server:~# megacli -AdpSetProp RebuildRate 60 -a0 # rebuild rateを設定 Adapter 0: Set rebuild rate to 60% success. Exit Code: 0x00
以下略。。。
参考
障害時
http://blog.shige.idani.jp/2012_03_01_archive.html
megacliコマンド利用方法
http://www-06.ibm.com/jp/servers/eserver/xseries/manual/2012/1205/49Y9854.pdf
http://tools.rapidsoft.de/perc/perc-cheat-sheet.html