このセクションでは、RAID0 連結、ストライプ、RAID1 ミラー、RAID5 ボリューム、状態データベース複製、ボリュームに構築されたファイルシステムの使い方のガイドラインを示します。
連結ボリュームが使用する CPU 時間はストライピングよりも少なくなります。
連結は小規模のランダム I/O に適しています。
物理ディスクの異なるディスクジオメトリでの使用は避けてください。
ディスクジオメトリとは、ディスクドライブでシリンダのセクターやトラックを構成する方法です。UFS は効率的にディスクジオメトリを使用するように UFS 自身を構成します。連結メタデバイスのスライスが異なるディスクジオメトリである場合、拡張ストレージは最初のスライスのジオメトリを使用します。これにより、UFS ファイルシステムの効率が低下することがあります。
連結を行う場合は、スライスを別のコントローラとバスに分散します。コントローラとバスでスライスを相互分散すると、I/O ロード全体のバランスが取れます。
ストライプのインタレース値を正しく設定します。
ストライプ化メタデバイスの物理ディスクが多いほど I/O パフォーマンスは良くなります。(ただし、MTBF は減少するので、ストライプ化ボリュームをミラーリングすることを検討してください。
ストライプ化ボリュームでは異なるサイズのスライスを使用しないでください。ストライプ化ボリュームは最小スライスのサイズに制限されます。
物理ディスクの異なるディスクジオメトリでの使用は避けてください。
ストライプ化ボリュームは異なるコントローラとバスに分散してください。
ストライピングでは既存のファイルシステムをカプセル化できません。
ストライピングは、大規模な逐次 I/O や I/O がランダムに分散している場合に効果を発揮します。
ストライピングが使用する CPU 時間は連結よりも多くなります。しかし、通常はそれだけの価値があります。
ストライピングではデータは冗長化されません。
ミラーリングによって読み取りパフォーマンスが向上することがありますが、書き込みパフォーマンスは必ず低下します。
I/O の状態がスレッド化されるか I/O が非同期の場合にだけ、ミラーリングで読み取りパフォーマンスが向上します。ボリュームから読み取るスレッドが 1 つだけの場合、パフォーマンスは向上しません。
ミラーリングにより書き込みパフォーマンスはおよそ 15 パーセントから 50 パーセント低下します。1 回の論理書き込みを行うのに、データのコピーを 2 回ディスクに書き込む必要があるからです。アプリケーションが書き込み集約型の場合、ミラーリングによって全体のパフォーマンスが低下します。ただし、ミラーリングによる書き込み低下は実質的に通常の RAID5 書き込みペナルティ (70 パーセント程度) よりも少なくなります。
UNIX オペレーティングシステムはファイルシステムキャッシュを実装している点に注意してください。このキャッシュで読み取り要求を満たすことができることも多いので、ファイルシステムを経由する物理 I/O の読み取り/書き込み比率が書き込み側へ極端に偏ることがあります。
たとえば、アプリケーション I/O が読み取り 80 パーセント、書き込み 20 パーセントで構成されているとします。しかし読み取り要求の多くがファイルシステムキャッシュによって満たされるとすれば、物理 I/O 構成はまったく異なり、読み取りが 60 パーセント、書き込みが 40 パーセント程度となるかもしれません。実際、バッファキャッシュに大容量のメモリーが使用されていれば、物理 I/O の構成はまったく逆になることもあります。読み取り 80 パーセント、書き込み 20 パーセントが、読み取り 40 パーセント、書き込み 60 パーセントになることもあります。
RAID5 ボリュームが対応できるのは単一のデバイス障害だけです。
ミラーリングされたボリュームの場合は、複数のデバイス障害に対応できることもあります (たとえば障害を受けた複数のデバイスが同じサブミラー上にある場合)。RAID5 のボリュームが対応できるのは単一のデバイス障害だけです。ストライプ化ボリュームと連結ボリュームはどのようなデバイス障害にも対応できません。
RAID5 ボリュームの読み取りパフォーマンスはエラー状態がなければ良くなり、エラー状態があると悪くなります。
RAID5 ボリュームでデバイス障害が発生すると読み取りパフォーマンスに影響が出ます。既存のドライブのデータとパリティからデータを作成するには複数の I/O 操作が必要なためです。ミラーリングされたボリュームでは、デバイス障害が発生しても同じようなパフォーマンス低下はありません。
RAID5 ボリュームでは読み取りパフォーマンスが悪くなることもあります。
RAID5 ボリュームでは、書き込み操作のたびにパリティを計算してデータとパリティを保存する必要があります。 これには複数の I/O 操作が必要なので、通常は RAID の書き込みパフォーマンスが低下します。ミラーリングされたボリュームではデータは複数のミラーに書き込む必要がありますが、書き込み集約型のアプリケーションではミラーリングされたパフォーマンスは RAID5 ボリュームよりもずっと高くなります。
RAID5 ボリュームはミラーリングよりもハードウェアコストが低くなります。
RAID5 ボリュームはミラーリングよりもハードウェアコストが低くなります。ミラーリングには 2 倍のディスク容量が必要です (二面ミラーの場合)。RAID5 ボリュームでは、パリティ保存に必要な総容量は、1/#- ディスクです。
RAID5 ボリュームは既存のファイルシステムには使用できません。
既存のファイルシステムを RAID5 ボリュームにカプセル化することはできません (バックアップを取って復元する必要があります)。
設定が変更されるとすべての複製が書き込まれます。
各ミラーの 2 つの複製だけが、ミラーダーティーリージョンビットマップ用に更新されます。
平均で、ミラー 3 つごとに複製を 2 つ作成するのが好ましい比率です。
書き込み集約型アプリケーションでは 1 つのミラーに 2 つの複製を使用します。
読み取り集約型アプリケーションでは 10 のミラーに 2 つの複製を使用します。