ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

VMwareからLSIのカードのRAIDアレイを管理するTips

とある事情でVMバイザでRAIDを作成する必要があったので作成

とある事情で物理VMサーバ上でRAIDを作成する必要があったので作成

2018/2月 追記:ESXi 6.5ではmegacliは動かないのでstorcliを使ってください

検証環境:

  • VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64
    • LSI MegaRAID 8708EM2 (LSI SAS1078チップ使用)
    • Fujitsu D2516-D11 (LSI SAS1078チップ使用)
  • ESX6系及びMegaRAID 9xxカードは未検証

...

lsiproviderをインストールする

LSI(現Avago)のページからSMIS ProbviderをDLすします。ProbviderをDLします。

http://www.avagotech.com/cs/Satellite?pagename=AVG2%2FsearchLayout&locale=avg_en&Search=SMIS

...

AvagoはLSIの旧URLのリンクをクリックするとAvagoのトップページに飛ばすのやめてくれませんかね(小声)

 

ZIPファイルの中身から/VMWZIPファイルの中身からVMW-ESX-5.x.0-lsiprovider-500.04.V0.51-0002-offline_bundle-1717486.zipを取り出し、インストールします。

...

インストールすると、/opt/lsi/MegaCLI/以下にMegaCLIがインストールされます。/opt/lsi/MegaCLI以下に移動し、コマンドが実行できるか確認します。

 

MegaCLI以下に移動し、

MegaCli -AdpAllInfo -aall

などのコマンドが実行できるか確認します。

~ # cd /opt/lsi/MegaCLI/
/opt/lsi/MegaCLI # ./MegaCli -AdpAllInfo -aall

Adapter #0

==============================================================================
                    Versions
                ================
Product Name    : RAID 5/6 SAS based on LSI MegaRAID
Serial No       :
FW Package Build: 6.0.1-0081

                    Mfg. Data
                ================
Mfg. Date       : 00/00/00
Rework Date     : 00/00/00
Revision No     :
Battery FRU     : N/A

                Image Versions in Flash:
                ================
FW Version         : 1.11.72-0356
BIOS Version       : NT10
WebBIOS Version    : 1.1-27-e_10-Rel
Ctrl-R Version     : 1.01-007B
Boot Block Version : 1.00.00.01-0006
  略

何かそれっぽい値が帰ってくればOKです。それっぽい値が帰ってくればOKです。

RAIDディスク作成

ここから先はMegaCLIの設定になるので、VMwareに限らずLinux/Windowsでも同じです。Windowsでも大体同じです。

物理ディスク確認

試しに、RAID1のLD(論理ディスク)を作成してみます。RAIDのメンバーにするディスクを確認します。

物理ディスク確認

RAIDのメンバーにする、物理ディスクを確認します。

./MegaCli -pdlist -a0
    
    略
    
Enclosure Device ID: 252
Slot Number: 4
Enclosure position: N/A
Device Id: 16
WWN:
Sequence Number: 1
Media Error Count: 0
Other Error Count: 1
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA

Raw Size: 37.259 GB [0x4a85300 Sectors]
Non Coerced Size: 36.759 GB [0x4985300 Sectors]
Coerced Size: 36.75 GB [0x4980000 Sectors]
Sector Size:  0
Firmware state: Unconfigured(good), Spun Up
Device Firmware Level: C7TP
Shield Counter: 0
Successful diagnostics completion on :  N/A
SAS Address(0): 0x8b70aa4da8daeec4
Connected Port Number: 4(path0)
Inquiry Data:       SB2182SFGVVAUHHitachi HTS541640J9SA00                 SB1OC7TP
    略


Enclosure Device ID: 252
Slot Number: 5
Enclosure position: N/A
Device Id: 17
WWN:
Sequence Number: 1
Media Error Count: 0
Other Error Count: 1
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA

Raw Size: 37.259 GB [0x4a85300 Sectors]
Non Coerced Size: 36.759 GB [0x4985300 Sectors]
Coerced Size: 36.75 GB [0x4980000 Sectors]
Sector Size:  0
Firmware state: Unconfigured(good), Spun Up
Device Firmware Level: C7TP
Shield Counter: 0
Successful diagnostics completion on :  N/A
SAS Address(0): 0x8b70aa4ca9ddf2c4
Connected Port Number: 5(path0)
Inquiry Data:       SB2182SFGUWDYHHitachi HTS541640J9SA00                 SB1OC7TP
    略
  

今回はエンクロージャ252:スロット4と252:5を元に、RAID1のLDを作成します。5を元に、RAID1のVDを作成します。

RAIDアレイ作成

RAID1、書き込みキャッシュ有効なLDを追加します。VDなのはすでにVD0が起動ディスクとして使われているためです。

以下のコマンドでRAID1、書き込みキャッシュ有効なVDを追加します。今回作成するVDの番号が1なのは、すでにVD0が起動ディスクとして使われているためです。

-CfgLdAdd の引数は説明すると長いので、-helpを見てください。

/opt/lsi/MegaCLI # ./MegaCli -CfgLdAdd -r1[252:4,252:5] WB RA Cached CachedBadBBU  -a0

Adapter 0: Created VD 1

Adapter 0: Configured the Adapter!!

Exit Code: 0x00
         

ディスクのキャッシュを利用する設定にします。

/opt/lsi/MegaCLI # ./MegaCli -LDSetProp  -EnDskCache -l1 -a0

Set Disk Cache Policy to Enabled on Adapter 0, VD 1 (target id: 1) success

Exit Code: 0x00
  

...

故意にディスクのSATAケーブルを抜き、障害を発生させディスクのリビルドを行ってみます。

引き抜いたディスクは252:4番として認識されているディスクです。

状態確認

ケーブルを抜くと、以下のようにvSphereClientでエラーになります。

MegaCLIでもエラーになります。

MegaCLIでもState がDegradedになります。

 

/opt/lsi/MegaCLI # ./MegaCli -ldinfo -l1 -a0


Adapter 0 -- Virtual Drive Information:
Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 36.75 GB
Sector Size         : 512
Mirror Data         : 36.75 GB
State               : Degraded
Strip Size          : 64 KB
Number Of Drives    : 2
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Enabled
Encryption Type     : None
Is VD Cached: No
  

以下のコマンドでもどのディスクに障害が起きているか確認できます。

/opt/lsi/MegaCLI # ./MegaCli -PdGetMissing -aall

    Adapter 0 - Missing Physical drives

    No.   Array   Row   Size Expected
    0     1       0     37632 MB

Exit Code: 0x00

 

ディスクの状態変更

エラーになっていることを確認したら、ディスクを戻してリビルドしてみます。

...

MegaCli  -AdpSetProp RebuildRate -99

 でディスクの性能jのほぼ100%をリビルドに割り当てます。 でディスクの性能のほぼ100%をリビルドに割り当てます。

/opt/lsi/MegaCLI # ./MegaCli -AdpGetProp RebuildRate -aALL

Adapter 0: Rebuild Rate = 30%

Exit Code: 0x00
/opt/lsi/MegaCLI # ./ MegaCli -AdpSetProp RebuildRateAdpSetProp RebuildRate -99 -a0
    
/opt/lsi/MegaCLI # ./MegaCli -AdpGetProp RebuildRate -aALL

Adapter 0: Rebuild Rate = 99%

Exit Code: 0x00

...

/opt/lsi/MegaCLI # ./MegaCli -pdlist -a0|grep Firm
Firmware state: Online, Spun Up
Device Firmware Level: AB0Q
Firmware state: Online, Spun Up
Device Firmware Level: AB0Q
Firmware state: Online, Spun Up
Device Firmware Level: AB0Q
Firmware state: Online, Spun Up
Device Firmware Level: AB0Q
Firmware state: Online, Spun Up
Device Firmware Level: C7TP
Firmware state: Online, Spun Up
Device Firmware Level: C7TP

よく分かりませんが。。

以上で、ディスク障害の手順は完了です。

 

以上で、ディスク障害の対応手順(オレオレ検証)は完了です。

その他

その他のチューニングと言うか諸々について

7日ごとにHDD-LEDが強烈に点滅するのを変えたい

 ConsistencyCheck (CC)がデフォルトで168時間毎になっているためです。確認、変更はMegacliからできます。

コード ブロック
/*** 確認  ***/
~# MegaCli -AdpCcSched  -info aall

Adapter #0

Operation Mode: Concurrent
Execution Delay: 168
Next start time: 02/10/2018, 03:00:00
Current State: Active
Number of iterations: 11
Number of VD completed: 0
Excluded VDs          : None
Exit Code: 0x00

/***  変更(例として672時間毎(4週間に一回))  ***/
~# MegaCli -AdpCcSched -SetDelay 672 aall

Adapter 0: Scheduled CC execution delay is set to 672 hours.

Exit Code: 0x00

/*** 次回の実行時間を延期する  ***/
/*** 今だとNext start time: 02/10/2018, 03:00:00になっているので2/24に変更する  ***/

~# MegaCli -AdpCcSched -SetStartTime 20180224 06 -a0

Adapter 0: Scheduled CC start time is set.

Exit Code: 0x00

 /*** 確認  ***/
~# MegaCli -AdpCcSched  -info aall

Adapter #0

Operation Mode: Concurrent
Execution Delay: 672
Next start time: 02/24/2018, 06:00:00
Current State: Active
Number of iterations: 11
Number of VD completed: 0
Excluded VDs          : None
Exit Code: 0x00



 /*** CCのモード変更 ***/ 
 /*** CCをConcurrentモードに指定する(デフォルト) ***/ 
MegaCli AdpCcSched  ModeConc aall
Adapter 0: Scheduled CC mode is set to Concurrent.

Exit Code: 0x00

 /*** CCをSequentialモードに指定する ***/ 
MegaCli AdpCcSched  ModeSeq aall
Adapter 0: Scheduled CC mode is set to Sequential.

Exit Code: 0x00

 /*** 非推奨 ***/ 
 /*** CCを無効にする***/ 
MegaCli AdpCcSched  Dsbl aall
Adapter 0: Scheduled CC mode is set to Disabled.



あまり頻繁にやるのも良くないですが、無効にするのもよくありません。CC中に破損が見つかった場合、実際にブロックが破損していたが、今までアクセスされなかったがために誰にも気が付かれなかったというパターンです。CCがディスクを壊したわけではありません。無効にしていると、だいたい他のディスクが壊れてリビルド中に全セクタをなめた結果それが発覚して直すべきパリティーが読み込めずアレイが全損します。

CCのモードにSequentialとConcurrentがありますが、Concurrent(デフォルト)はアレイのメンバーディスクを一斉にチェックするモードで、Sequentialはアレイのディスクを1本ずつ終わったら次へ次へと見ていくモードです。ただ、RAIDは結局一番遅いディスクに律されてしまうので、パフォーマンスインパクトとしては1本ずつやる意味がない気がします…。筐体のLEDが1本だけチカチカするのでどのディスクがいまCCされているかという意味ではわかりやすいかもしれません。あとは15krpmのSASドライブが24本くらいになってくると発熱や消費電力的な面で1本ずつやるメリットが有るのかもしれませんが、正直どういうときに使うのか謎です。

Linuxのmdraidはデフォルトで月イチでディスク総なめをする設定が入っているので、そのくらいの頻度でやっておくのがいいと思います。


情報

MegaCLIの使い方についてはMegaCLI -helpを参照。殆どここに書いてあります。

また、ディスク障害発生時に検知したい場合はSNMPかvCenterServerを使う必要があります。

...

ラベル別コンテンツ
showLabelsfalse
max5
spacesINFLA
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("kb-how-to-article","megaraid") and type = "page" and space = "INFLA"
labelskb-how-to-article

ページ プロパティ
hiddentrue


Related issues