はじめに
このドキュメントでは、仮想ドライブ作成時のキャッシュ設定について記載しています。
キャッシュ設定の前に、RAIDコントローラの構成、及び、コントローラキャッシュについて説明いたします。
RAIDコントローラの構成
RAIDコントローラは、下記のパーツにより構成されております。
PIDにより、パーツの形状が異なりますのでご注意ください。
- RAID controller (UCSC-MRAID12G=)

- TMM cache module (UCSC-MRAID12G-1GB=) *1

- Supercapacitor (UCSC-MRAID-BBU=) *1

*1 オプションパーツとなります
コントローラキャッシュについて
Read/Write要求時、キャッシュメモリ上のコントローラキャッシュを介することで、サーバのパフォーマンス性能を向上させることができます。
コントローラキャッシュ領域には、Readキャッシュ領域と、Writeキャッシュ領域が存在します。
一度アクセスしたデータブロックへの読み取り要求を、再度ディスクのデータブロックへアクセスせず、コントローラキャッシュのReadキャッシュを介することで、サーバの読み取り性能を向上させることができます。
また、書き込みデータを、直接ディスクに書き込まず、一時的にコントローラのWriteキャッシュへ格納することで、サーバの書き込み性能を向上させることができます。
TMM cache module 上には、キャッシュメモリとフラッシュメモリが搭載されております。
TMM cache module に加え、Supercapacitor が、RAID controller に搭載されている場合、停電等の電源障害発生時、キャッシュメモリに蓄積されているコントローラキャッシュは、フラッシュメモリへ転送されます。
このコントローラキャッシュをキャッシュメモリからフラッシュメモリへの転送動作に、Supercapacitor で蓄えられている電力が用いられます。
フラッシュメモリにコントローラキャッシュを転送することにより、コントローラキャッシュのロストを防止することができます。
仮想ドライブのキャッシュ設定
当ページの例では、UCS C240 M4、FW 3.0(3a)、LSI MegaRAID SAS 9271-8i を使用しております。
実際の設定項目の名称は、CIMCのバージョンや、RAIDコントローラにより、異なる場合がございます。
CIMC にログイン後、(1)Storage タブを選択し、(2)RAIDコントローラを選択します。
画面右側の (3)Virtual Drive Info タブを選択し、(4)Edit Virtual Drive を選択することで、仮想ドライブを設定することができます。

Read/Writeキャッシュの使用、設定方法に関しては、次項に記載致します。

Readキャッシュ
(1) Read Policy
・No Read Ahead
先読み機能を無効にします。
・Always Read Ahead
先読み機能を有効にします。
先読み機能により、コントローラはRead要求されたデータを順次先行して読み出し、追加データをコントローラのReadキャッシュへ格納します。
当機能は、連続したデータの読み取り時間を短縮できますが、不連続(ランダム)データへの読み取りに関しては、効果は期待できません。
(2) Cache Policy
・Direct IO
読み取りしたデータは、コントローラのReadキャッシュへ格納されません。
1回目のディスクに対するデータブロックへの読み取り要求時は、データは、ホスト自身が持つキャッシュメモリとホストに転送されます。この際、コントローラキャッシュは経由しません。
その後の同じデータブロックに対する、後続(2回目)の読み取り要求時は、データをディスクからではなく、ホストのキャッシュメモリから直接読み取ります。
Direct IOを設定することで、コントローラキャッシュを使用しないように設定でき、ホストが持つキャッシュメモリとの2重キャッシュを防止することができます。
・Cached IO
読み取りしたデータは、コントローラのReadキャッシュへ格納されます。
1回目のデータブロックへの読み取り要求時は、データは、コントローラキャッシュとホストに転送されます。
この際に、ホスト自身が持つキャッシュメモリも有効となっている場合は、ホストのキャッシュメモリにも転送されます。
その後の同じデータブロックに対する、後続(2回目)の読み取り要求時は、データをディスクからではなく、コントローラキャッシュ、もしくはホストのキャッシュメモリから直接読み取ります。
Writeキャッシュ
(3) Write Policy
・Write Through
書き込みデータは、コントローラのWriteキャッシュへ格納されません。
・Write Back Good BBU
Supercapacitorのステータスにより、書き込み方式が自動で変わります。
Supercapacitorが搭載されており、そのSupercapacitorのステータスが良好な場合、ライトバック方式となります。
書き込みデータは、コントローラのWriteキャッシュへ格納されます。
トランザクション内のすべての書き込みデータを受信すると、コントローラはディスクにデータを書き込みます。
Supercapacitorが不良な場合、ライトスルー方式となります。
書き込みデータは、コントローラのWriteキャッシュへ格納されません。
・Always Write Back
Supercapacitorの搭載の有無、またSupercapacitorのステータスに関わらず、書き込みデータは、コントローラのWriteキャッシュへ格納されます。
トランザクション内のすべての書き込みデータを受信すると、コントローラはディスクにデータを書き込みます。
この設定を使用しており、Supercapacitorが搭載されていない、もしくは搭載されているがステータスが不良の場合、停電等の電源障害時、コントローラキャッシュのデータを失う可能性があります。
ディスクキャッシュ
仮想ドライブ設定時、コントローラキャッシュとは別に、ディスクが持つキャッシュ領域の使用に関しても設定することができます。
(4) Disk Cache Policy
・Unchanged
各ドライブのデフォルトのドライブキャッシュ設定に対し、変更を加えない設定です。
・Enabled
ディスクキャッシュを有効にします。
ディスクキャッシュを有効にしている場合、
停電等の電源障害が発生した場合、ディスクキャッシュのデータを失う可能性があります。
・Disabled
ディスクキャッシュを無効にします。