RAID レベルと SQL Server
SQL Server では、通常、RAID (Redundant Array of Independent Disks) レベル 0、1、および 5 が実装されます。
レベル 0
このレベルはストライプ セットと呼ばれるディスク ファイル システムを使用するので、ディスク ストライピングとも呼ばれます。データはブロックに分割され、アレイ内のすべてのディスク間で決まった順序で分散されます。RAID 0 では複数のディスクに操作が分割されるため、読み取り/書き込みのパフォーマンスが向上します。各操作は独立して同時に実行されます。
RAID 0 は、RAID 5 と似ていますが、RAID 5 にはフォールト トレランスも用意されています。
レベル 1
このレベルはミラー セットと呼ばれるディスク ファイル システムを使用するので、ディスク ミラーリングとも呼ばれます。ディスク ミラーリングは、選択したディスクの完全なコピーを提供します。プライマリ ディスクに書き込まれたデータはすべて、ミラー ディスクに書き込まれます。RAID 1 はフォールト トレランスを実現し、通常は読み取りパフォーマンスが向上しますが、書き込みパフォーマンスは低下することもあります。
レベル 2
このレベルでは、エラー訂正メソッドを使用してすべてのディスクにパリティを分散して書き込み、冗長性を追加しています。また、RAID 2 は、ファイルをバイトに分割して複数のディスクに分散して書き込む、ディスク ストライピング ストラテジも使用します。このストラテジでは、ミラー化 (RAID 1) に比べて、ディスクの使用と読み取り/書き込みのパフォーマンスがわずかに向上するだけです。RAID 2 は、他の RAID レベルほど効率的ではなく、一般的にはあまり使われません。
レベル 3
このレベルでは、RAID 2 と同様にストライピング メソッドを使用しますが、エラー訂正メソッドではパリティ データ用にディスクを 1 つだけ必要とします。使用されるディスク領域の大きさは、データ ディスク数によって異なります。RAID 3 では読み取り/書き込みのパフォーマンスが若干向上します。
レベル 4
このレベルでは、RAID 2 や RAID 3 を超えるブロックまたはセグメント単位でデータのストライピングを行います。RAID 3 と同じように、エラー訂正メソッドではパリティ データ用にディスクを 1 つだけ必要とします。この機能では、ユーザー データとエラー訂正データは区別されます。RAID 4 は、他の RAID レベルほど効率的ではなく、一般的にはあまり使われません。
レベル 5
このレベルはパリティ付きストライピングとも呼ばれ、最近の設計ではよく利用されるストラテジです。RAID 5 は、RAID 4 と同じように、アレイ内のディスクにわたって大きなブロック単位でデータをストライピングします。ただし、すべてのディスクにパリティを書き込む点が異なります。データはパリティ情報の分だけ冗長になります。データとパリティの情報は、2 種類の情報が常に異なるディスクに格納されるように、ディスク アレイ上に配置されます。パリティ付きストライピングでは、ディスク ミラー化 (RAID 1) よりもパフォーマンスが向上します。ただし、ディスク障害などによりストライプ メンバが失われると、読み取りパフォーマンスが低下します。
レベル 10 (1+0)
このレベルはストライピング付きミラー化とも呼ばれます。RAID 10 では、ストライピング ディスクのアレイを使用します。このアレイは、別の同一のストライピング ディスク セットにミラー化されます。たとえば、ディスクを 5 つ使用して、ストライピング アレイを作成できます。そして、このストライピング ディスクのアレイは、別の 5 つのディスクによるストライピング セットを使用してミラー化されます。RAID 10 では、ディスク ストライピングによるパフォーマンスの向上とミラー化によるディスクの冗長性が提供されます。RAID 10 では、すべての RAID レベルの中で読み取り/書き込みのパフォーマンスが最善になりますが、必要なディスク数は 2 倍になります。
10 (1 + 0) を超える RAID レベルでは、フォールト トレランスが追加されるか、またはパフォーマンスが向上します。これらのレベルは通常、専用のシステムです。このような種類の RAID システムの詳細については、ハードウェア ベンダに問い合わせてください。