MegaRAIDコントローラー

  • 投稿者:
  • 投稿カテゴリー:未分類

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