ストレージ(ディスク)のいろは

ストレージの選定
ストレージにはいろいろな種類があります。
たとえば、サーバー筐体内に内蔵されたRAIDアレイ・ディスク、そのほかFCやiSCSIはたまたはUSB接続されたディスク、ファイル共有用途のNAS等。
ここでのストレージはスペックを重視した外付けのFCやiSCSIをベースとしたストレージ装置を想定します。
 
サーバーアプリケーションチューニング関係ないし、とにかくハイスペックな高性能なストレージがほしいという要件に対しては、イコール投資コストに直結します。
ハイスペック・高機能なストレージは以下のように構成します。
・コントローラスペックが高性能(CPU、キャッシュメモリ、iops、応答速度)
・回転数の早いディスクをとにかくたくさん搭載する。
・RAIDアレイはRAID1+0(RAID10)を搭載したたくさんのディスクで組む。
・RAIDアレイの最初に作成した1番目のLUNを最小限のサイズで設定し、使用する(ディスクの外側の最も回転速度が高い部分を使用する)
といった、よりコストをかけることにより最大限のスループットをたたき出せます。
 
「とにかく早いストレージが欲しい」という要件は、どれだけストレージにコストをかけれるかになります。
なかなか現実的ではありません。
 
IOPSが高いほどディスクの性能が良いことがわかりました。
また、応答時間(レスポンスタイム)が10~15ミリ秒以下であることが問題ない状態であることもわかりました。
スループット(IOPS)と応答時間(レスポンスタイム)はストレージの性能を示す指標値でしかありません。
IOPSと応答時間はストレージのスペック比較的な値となります。
 
しかし、実際は使用OS上で使用システム環境上でのスペックやスループット(IOPSやread write MB/s)がほしい値となります。
実際、大規模ストレージを導入する場合、ストレージベンダー・メーカーに任すことが多いが、用件を伝えるのは難しいです。
(また、構成次第の部分も多く、さほどストレージメーカーによって性能の大きな違いは無いのではないでしょうか)
可能であれば、ストレージをテスト使用し判断したいところです。
ストレージにコストをかけれない場合(ストレージ性能には他のCPUやメモリより簡単に限界値に到達する)、なるべくIOが少なくなるようなサーバーアプリケーションのチューニングがより鍵を握ります。(このチューニングに逆にコンサル的なコストが発生する場合もあります)
 
スループットの経験上の概算参考値を書きます。
テスト方法は別途記載します(簡単な概算値を求めるテスト)。
テストデータはキャッシュをあふれさせるくらいのデータ(10GB程度)を使用しています。
 
・ハイエンドストレージ (1000万以上は覚悟)
(windows server 2003上からのテスト)
IBM DS4700 Raid5 9Disk, 4Gbps FC 146.8GB/15K RPM E-DDM
 Read: 130MB/s
 Write: 60MB/s
IBM DS3400 FC Raid5 12Disk, 300GB 15K 3.5型 SAS HS HDD
 Read: 150MB/s
 Write: 50MB/s
 
・ローエンドストレージ(100万~300万程度)
(VMware Infrastructure 3.5 上からテスト)
EMC AX4-5i iSCSI Raid5 5Disk, 300GB SAS 15KRPM
 Read: 50MB/s
 Write: (未テスト)
 (windows server 2003上からのテスト)
EMC AX4-5i iSCSI Raid5 5Disk, 1TB  SATA2 7500RPM
 Read: 30MB/s
 Write: (未テスト)