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を使う必要があります。 |
...
ラベル別コンテンツ | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ページ プロパティ | ||
---|---|---|
| ||
|