LSI MegaRAID の CacheCade Pro 2.0 ってどのくらい効果があるの

各社の IA サーバに採用されまくってる LSIRAID コントローラ MegaRAID ですが使ってますか。この時代もうローカルストレージなんて増設しねえよ!共有ディスクだろうが普通!仮想化したプールを使うんだよ!なんていう声も聞こえてきます。わかります。

そんな MegaRAID ですが、オプションで CacheCade Pro 2.0 というソフトウェアが提供されています。

CacheCade Pro 2.0 というのは、HDD のアレイに対して SSD を Read/Write キャッシュとして使いますよ、というものです。小型の作業用データセットから頻繁にリードおよび再リードを行う、極めてランダムで小規模のI/Oブロック指向型のアプリケーション(WebやSMB OLTPなど) に最適だとのこと。チップ上に実装されているコードが処理をしますので、ホスト側に何かをインストールしたりといったことは必要ありません。

MegaRAID CacheCade Pro 2.0 Software | LSI

RAID カードによって機能の有効化方法は違って、ライセンスキーファイルを入れるだけで有効化されるヤツと、専用のチップ(物理キー?)を追加するヤツとあるようですが、使用できる機能は同じようです。

キャッシュとして使われるということはわりと頻繁に読み書きが発生するわけで、そうなると MLC タイプの SSD には寿命的な意味で荷が重いのでしょう、SLC や eMLC タイプの SSD が推奨されています。

今回試してみた機械では IntelSSD、S3700 の 200GB を使ってみました。IOPS は Read/Write が 75,000/32,000、速度は Read/Write が 500/365(MB/s)、耐久力は 3.6 PBW (ドライブの中身全部書き換えを10回/日で5年間持つ) ということで、上で動くアプリのIOパターンに依存しますけどキャッシュ用に使っても数年はどうにかなるでしょう。

実際のアプリケーションじゃなくて、とりあえずのよくあるベンチを走らせてみました。HDDアレイ → SSD キャッシュ → VMFS → VMDK → OSのファイルシステム、と何層も通らなければならない状態で。

左が HDD アレイ上に SSD のキャッシュを有効化したときのもの。処理の単位が SSD に乗るサイズであれば、そのまま SSD の性能が出るような感じでしょうか。全く不満ございません。

右が HDD のみのアレイで動かしたとき。爆速な数値が出ているのは、多分RAIDコントローラ上のキャッシュメモリに収まったからでしょう。ここに入る範囲であれば PCI Express の速度が出るのでそりゃあ速い。そして一旦キャッシュから外れてしまったら普通に HDD の速度。IOPS が出ないのでランダムIOが遅い遅い。まあこんなもんでしょう。

さて実アプリが乗って実データの処理を始めたらどのくらいの効果が出るのかはまだ見えてませんけども、まっさらな状態でならほぼSSDの速度だよと。まあそりゃそうだわな当然だわなという結果になりました。