SoftLayer Bare Metal server: LSI Logic RAID Controller での CLI 操作 (Windows 2012 R2 編)

#0. はじめに

[前回](http://qiita.com/conservativerad/items/1af491e022d236dce432) に引き続いて、今回は Windows 2012 R2 環境をシドニー Data Center の RAID 付きベア・メタル・サーバーとしてオーダーしました。
OS が変っても LSI Logic RAID Controller の StorCLI としては大きな変化はありませんので、RAID 構成の変更やホットスペアのテストなどは [前回](http://qiita.com/conservativerad/items/1af491e022d236dce432) を参考にして頂くとして、今回は Patrol Read と Consistency Check を中心に CLI 操作を行います。前回同様に見づらい/冗長な部分はコマンド出力を編集しています。

#1. StorCli コマンドの準備
残念ながらデプロイ完了後のシステムに StorCLI コマンドがありませんでしたので、[Avago(旧LSI)のサイト](http://www.lsi.com/support/pages/download-results.aspx?component=Storage+Component&productfamily=RAID+Controllers&productcode=P00834&assettype=0&productname=MegaRAID+SAS+9361-8i) から MegaRAID SAS 9361-8i 用の Management Software and Tools の Latest MegaRAID StorCLI をダウンロードします。
ダウンロードした ZIP ファイル内に Windows 用実行ファイルが直接入っていますので、適当なディレクトリーに配置します。
実行時はそのディレクトリーから管理者権限で storcli64.exe を実行します。

#2. 現状の確認
RAID1-A、JBOD-B, JBOD-C の 3 つの仮想ドライブが定義されていることがわかります。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/vall show
-----------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC      Size Name
-----------------------------------------------------------------
0/0   RAID1 Optl  RW     No      RWBD  -   ON   931.0 GB RAID1-A
1/1   RAID0 Optl  RW     Yes     NRWBD -   ON  893.75 GB JBOD-B
2/2   RAID0 Optl  RW     Yes     RWBD  -   ON   931.0 GB JBOD-C
-----------------------------------------------------------------
```

MegaRAID SAS 9361-8i には、"Patrol Read" という定期的にディスク全体を読み取り、早期に障害を検知する機能があります。現在は、以下の様に168時間(1週間)毎に自動的に Patrol Read を実行する設定になっています。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 show pr
---------------------------------------------
Ctrl_Prop               Value
---------------------------------------------
PR Mode                 Auto
PR Execution Delay      168 hours
PR iterations completed 1
PR Next Start time      04/04/2015, 00:00:00
PR on SSD               Disabled
PR Current State        Stopped
---------------------------------------------
```

さらに、"Consistency Check" という定期的に論理ドライブの整合性を確認し、早期に障害を検知する機能があります。現在は、以下の様に168時間(1週間)毎に自動的に Consistency Check を実行する設定になっています。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 show cc
-----------------------------------------------
Ctrl_Prop                 Value
-----------------------------------------------
CC Operation Mode         Concurrent
CC Execution Delay        168
CC Next Starttime         04/04/2015, 00:00:00
CC Current State          Stopped
CC Number of iterations   0
CC Number of VD completed 0
CC Excluded VDs           None
-----------------------------------------------
```

#3. Patrol Read の手動開始
Patrol Read を手動開始することも可能です。開始とその確認を続けて行うと以下の様になります。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 start pr
------------------------------
Ctrl Method           Result
------------------------------
   0 Start PatrolRead Success
------------------------------

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 show pr
---------------------------------------------
Ctrl_Prop               Value
---------------------------------------------
PR Mode                 Auto
PR Execution Delay      168 hours
PR iterations completed 1
PR Next Start time      04/04/2015, 00:00:00
PR on SSD               Disabled
PR Current State        Active 0
---------------------------------------------
```

#4. Consistency Check の手動開始
当然?? ですが、Consistency Check も手動開始が可能です。RAID1-A(/c0/v0) への Consistency Check の開始は以下の様になります。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v0 start cc
---------------------------------------------
VD Operation Status ErrCd ErrMsg
---------------------------------------------
 0 CC        Failed   255 VD not Initialized
---------------------------------------------
```

なんと、失敗しています :cold_sweat: 。が、これは論理ドライブ RAID1-A(/c0/v0) への Initialize を行わずにインストールを終えている為に発生しています。とは言え、ここで今更 Initialize すると、論理ドライブ上の OS が無くなる :scream: ので、ともかく( Force )、 consistency check を開始し、併せて状態を確認します。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v0 start cc Force
Controller = 0
Status = Success
Description = Start CC Operation Success

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v0 show cc
-------------------------------------------------------
VD Operation Progress% Status      Estimated Time Left
-------------------------------------------------------
 0 CC                3 In progress 1 Hours 33 Minutes
-------------------------------------------------------
```

残り 1時間半強で consistency check が完了することがわかります。

#5. Patrol Read と Consistency Check の自動開始時刻の調整
上記 2. で確認できる内容から 04/04/2015, 00:00:00 に Patrol Read と Consistency Check は同時に開始されます。
MegaRAID SAS 9361-8i コントローラーに接続されている全物理ハード・ディスク・ドライブを読み取る Patrol Read と各論理ドライブの整合性確認を行う Consistency Check を同時に開始したくないと考える方は、以下の様に Patrol Read の開始時刻を変更可能です。以下の例では、; で区切る形で 2 つのコマンドを連続実行しています。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 set patrolread starttime=2015/04/06 00 ; .\storcli64.exe /c0 show pr
---------------------------------
Ctrl_Prop    Value
---------------------------------
PR Starttime 2015/04/06 00:00:00
---------------------------------
---------------------------------------------
Ctrl_Prop               Value
---------------------------------------------
PR Mode                 Auto
PR Execution Delay      168 hours
PR iterations completed 2
PR Next Start time      04/06/2015, 00:00:00
PR on SSD               Disabled
PR Current State        Active 2
---------------------------------------------
```

同様に Consistency Check の開始時刻も変更可能です。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 set cc starttime=2015/04/07 00 ; .\storcli64.exe /c0 show cc
---------------------------------
Ctrl_Prop    Value
---------------------------------
CC Starttime 2015/04/07 00:00:00
---------------------------------
-----------------------------------------------
Ctrl_Prop                 Value
-----------------------------------------------
CC Operation Mode         Concurrent
CC Execution Delay        168
CC Next Starttime         04/07/2015, 00:00:00
CC Current State          Stopped
CC Number of iterations   0
CC Number of VD completed 0
CC Excluded VDs           None
-----------------------------------------------
```

上記の例では、Patrol Read を 2015/04/06 00:00 に、 Consistency Check を 2015/04/07 00:00 と丸一日ずらして実行することになり、その後、双方とも一日のずれを維持したまま、1週間毎に実行されます。

[Avago(旧LSI)のサイト](http://www.lsi.com/support/pages/download-results.aspx?component=Storage+Component&productfamily=RAID+Controllers&productcode=P00834&assettype=0&productname=MegaRAID+SAS+9361-8i) からダウンロードできるマニュアル "12Gb/s MegaRAID SAS Software User Guide" には更に細かい操作や、設定パラメーターについて記載があります。
このまとめが少しでも、SoftLayer をご利用の皆さんの理解の助けになればと考えています。