SoftLayer Bare Metal server: LSI Logic RAID Controller での CacheCade 構成

#0. はじめに
[前回](http://qiita.com/conservativerad/items/485bbbfff1fe0af71075) のサーバーをオーダーする際に SSD を利用してハードディスク(以降 HDD)の IO 性能を向上させる CacheCade 機能が気になっていました。
そこで、[前々回](http://qiita.com/conservativerad/items/1af491e022d236dce432)と同様に追加構成されていた 2つの JBOD を削除し、HDD をホットスペアに変更した後、SSD を CacheCade として定義してみます。

注意点：
ここで使用しているサーバーには、SSD をひとつしか構成していなかったので、CacheCade 部分は冗長性の無い RAID0 となり、何らかの原因で SSD に問題が発生すると、書き込もうとしていたデータが失われる可能性が高いと考えられます。
実運用環境では CacheCade 部分も冗長化すべきです

#1. 事前準備
以降に述べる操作前に Windows 側で "Server Manager\File and Storage Services\Volumes\Disks" から C: 以外のディスクをオフラインにしておきます(Take Offline)。
その後、JBOD として作成されている  2つの JBOD を削除し、HDD をホットスペアに変更した状態で、状況を確認します。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v2 delete force
Controller = 0
Status = Success
Description = Delete VD succeeded

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli.exe /c0/e252/s2 add hotsparedrive
Controller = 0
Status = Success
Description = Add Hot Spare Succeeded.

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v1 delete force
Controller = 0
Status = Success
Description = Delete VD succeeded

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/e252/sall show
---------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model               Sp
---------------------------------------------------------------------------
252:0     9 Onln   0  931.0 GB SATA HDD N   N  512B ST1000NM0033-9ZM173 U
252:1     8 Onln   0  931.0 GB SATA HDD N   N  512B ST1000NM0033-9ZM173 U
252:2    11 GHS    -  931.0 GB SATA HDD N   N  512B ST1000NM0033-9ZM173 U
252:3    10 UGood  - 893.75 GB SATA SSD N   N  512B SDLFOCAR-960G-1HST  U
---------------------------------------------------------------------------
```

#2. CashCade の構成
ここからが、今回の新しい内容です。C: ドライブを構成する仮想ドライブ 0 に対して、RAID0 の CascadeCache を定義します。その後、全仮想ドライブの状態を確認します。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0 add vd cc type=raid0 drives=252:3 wb assignvds=0
Controller = 0
Status = Success
Description = Add VD Succeeded

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     Yes     RWBD  RW  ON   931.0 GB RAID1-A
1/1   Cac0  Optl  RW     Yes     RWBD  -   ON  893.75 GB
-----------------------------------------------------------------
```

SSD が Type Cac0 として利用されていることがわかります。
さらに細かい状態を確認するには、show コマンドに all オプションを指定します。
この出力については、編集せずにそのまま記載します。

```
PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/vall show all
Controller = 0
Status = Success
Description = None


/c0/v0 :
======

----------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC     Size Name
----------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     RWBD  RW  ON  931.0 GB RAID1-A
----------------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency


PDs for VD 0 :
============

--------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model               Sp
--------------------------------------------------------------------------
252:0     9 Onln   0 931.0 GB SATA HDD N   N  512B ST1000NM0033-9ZM173 U
252:1     8 Onln   0 931.0 GB SATA HDD N   N  512B ST1000NM0033-9ZM173 U
--------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded


VD0 Properties :
==============
Strip Size = 256 KB
Number of Blocks = 1952448512
VD has Emulated PD = No
Span Depth = 1
Number of Drives Per Span = 2
Write Cache(initial setting) = WriteBack
Disk Cache Policy = Disk's Default
Encryption = None
Data Protection = Disabled
Active Operations = None
Exposed to OS = Yes
Creation Date = 02-04-2015
Creation Time = 09:28:53 PM
Emulation type = default


/c0/v1 :
======

-------------------------------------------------------------
DG/VD TYPE State Access Consist Cache Cac sCC      Size Name
-------------------------------------------------------------
1/1   Cac0 Optl  RW     Yes     RWBD  -   ON  893.75 GB
-------------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency


PDs for VD 1 :
============

--------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model              Sp
--------------------------------------------------------------------------
252:3    10 Onln   1 893.75 GB SATA SSD N   N  512B SDLFOCAR-960G-1HST U
--------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded


VD1 Properties :
==============
Number of Blocks = 1874329600
VD has Emulated PD = Yes
Span Depth = 1
Number of Drives Per Span = 1
Write Cache(initial setting) = WriteBack
Disk Cache Policy = Disk's Default
Encryption = None
Data Protection = Disabled
Active Operations = None
Exposed to OS = No
Target ID of associated VDs = 0
Creation Date = 04-04-2015
Creation Time = 08:59:14 AM
Emulation type = default
```

#3. 再起動によるディスク構成の同期

ここで、LSI Logic RAID Controller 側の構成と Windows が認識しているディスク構成を一致させる為に、システムを再起動します。

#4. ディスク・パフォーマンスの簡易測定
再起動後、CrystalDiskMark 3.0.4 x64 を使用してディスク・パフォーマンスを簡易測定します。

```
-----------------------------------------------------------------------
CrystalDiskMark 3.0.4 x64 (C) 2007-2015 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   353.731 MB/s
          Sequential Write :   464.451 MB/s
         Random Read 512KB :   323.764 MB/s
        Random Write 512KB :   894.998 MB/s
    Random Read 4KB (QD=1) :    31.197 MB/s [  7616.5 IOPS]
   Random Write 4KB (QD=1) :    69.220 MB/s [ 16899.5 IOPS]
   Random Read 4KB (QD=32) :   292.210 MB/s [ 71340.3 IOPS]
  Random Write 4KB (QD=32) :   102.662 MB/s [ 25064.1 IOPS]

  Test : 1000 MB [C: 2.2% (20.5/931.0 GB)] (x5)
  Date : 2015/04/05 0:01:06
    OS : Windows Server 2012 R2 Server Standard (full installation) [6.3 Build 9600] (x64)
```

次に、CacheCade を無効後に、測定してみます。
全仮想ドライブの状況を確認後、CacheCade を削除し、再度全仮想ドライブの状況を確認し、削除できていることが確認できた時点で測定します。

```
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     Yes     RWBD  RW  ON   931.0 GB RAID1-A
1/1   Cac0  Optl  RW     Yes     RWBD  -   ON  893.75 GB
-----------------------------------------------------------------

PS C:\Users\Administrator\Desktop\StorCLI> .\storcli64.exe /c0/v1 delete cachecade
Controller = 0
Status = Success
Description = Disassociation of the Cachecade virtual drive is in progress and can take a few minutes to complete.
The Cachecade virtual drive is deleted after the disassociation is complete.

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     Yes     RWBD  -   ON  931.0 GB RAID1-A
----------------------------------------------------------------
```

以下が、CacheCade 無効の状態での簡易測定結果。

```
-----------------------------------------------------------------------
CrystalDiskMark 3.0.4 x64 (C) 2007-2015 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   508.195 MB/s
          Sequential Write :   119.238 MB/s
         Random Read 512KB :   219.944 MB/s
        Random Write 512KB :   171.011 MB/s
    Random Read 4KB (QD=1) :     2.241 MB/s [   547.2 IOPS]
   Random Write 4KB (QD=1) :     6.080 MB/s [  1484.4 IOPS]
   Random Read 4KB (QD=32) :     4.836 MB/s [  1180.7 IOPS]
  Random Write 4KB (QD=32) :     4.113 MB/s [  1004.1 IOPS]

  Test : 1000 MB [C: 2.2% (20.5/931.0 GB)] (x5)
  Date : 2015/04/05 0:20:37
    OS : Windows Server 2012 R2 Server Standard (full installation) [6.3 Build 9600] (x64)
```

測定値にかなりの変化があることがわかります。
念の為、再度 CacheCade を構成後に、再測定してみると、最初の CacheCade 構成での測定値と同様の傾向が見られます。

```
-----------------------------------------------------------------------
CrystalDiskMark 3.0.4 x64 (C) 2007-2015 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   363.122 MB/s
          Sequential Write :   601.679 MB/s
         Random Read 512KB :   315.479 MB/s
        Random Write 512KB :   867.414 MB/s
    Random Read 4KB (QD=1) :    31.182 MB/s [  7612.7 IOPS]
   Random Write 4KB (QD=1) :    71.408 MB/s [ 17433.7 IOPS]
   Random Read 4KB (QD=32) :   291.412 MB/s [ 71145.5 IOPS]
  Random Write 4KB (QD=32) :   106.463 MB/s [ 25991.8 IOPS]

  Test : 1000 MB [C: 2.2% (20.5/931.0 GB)] (x5)
  Date : 2015/04/05 0:33:17
    OS : Windows Server 2012 R2 Server Standard (full installation) [6.3 Build 9600] (x64)
```