RAID復旧方法

RAIDへのデータの格納方法

RAIDは複数のハードディスクドライブ間でデータを拡散または複製するコンピュータデータ記憶スキームに使用される用語です。 RAIDは2つの重要な目標を持って設計されました。 データの信頼性を高め、I/O(入出力)性能を向上させます。

レベルと呼ばれる多くの標準構成が設計されます。 RAIDレベルには当初5つのレベルがありましたがその後多くのバリエーションが進化しており、近年では特にいくつかネストされたレベルと多くの非標準レベル(ほとんどが専有レベル)が存在しています。

RAIDは特殊なハードウェアまたはソフトウェアを使用して、物理ハードディスクを1つの論理ユニットに結合してくれます。 ハードウェアRAIDソリューションはマザーボードに組み込まれたものからカードに組み込まれたものや、大企業のNASやSANサーバまで、さまざまなスタイルで提供されています。 これらの設定では、オペレーティングシステムは技術的な動作やRAIDを認識していません。 典型的なソフトウエアソリューションはオペレーティングシステムにおいて実装されます。

RAIDには3つのキーコンセプトがあります:

  • 複数のディスクにデータをコピーするミラーリング
  • ストライピング、複数のディスクを横切るデータの分割
  • 冗長データを保存し、問題の発見や可能な限りの修復を行うエラー修正(過失許容性)

異なるRAIDレベルはシステム要件に応じてこれらの技法の1つ以上を使用します。

一般的にRAIDはサーバで使用されていますが、ワークステーションでも使用できます。 後者は、特にビデオおよびオーディオ編集に使用されるようなストレージ集中型のコンピュータが該当します。


最新のRAIDアレイ

最新のRAIDアレイの非常に複雑で技術的な性質は、他の高度な技術と共に利用することで仮想化のようなコスト効率化を図ることが可能となります。 しかしこれらの高度な技術の1つでも障害を受けた場合、それが引き金となって複雑な仕組みにエラーが発生し大規模なデータ損失を引き起こす可能性があります。また、それが莫大なダウンタイムを引き起こしてしまうこともありえます。 オントラックはこのような状況の際にお手伝いをすることが出来ます。

最新のRAIDアレイは、ハードウェアレベルでBTRFSやZFSのような複数のファイルシステムを利用することができ、NTFSまたはHFSは仮想化を介したアプリケーションサポートを行う為に上部にレイヤー化されます。 これらのファイルシステムのいずれかがデータを失った場合でも、オントラックは豊富な経験を生かしてRAID復元を支援することができます。


RAID 0

RAID0は古くからあるデータストリッピング構成であり、データはすべてのドライブを対象に書き込まれます。その結果、全てのドライブに高速アクセスする事が可能となります。 しかし、その反面、RAID0内で1つ以上のドライブが故障した場合、深刻なデータ損失が発生する可能性があります。

左の図は、データがアレイ上に分布されている様子を示しています。

データ復旧の例: データストライプ1~4を占有するファイルが作成され、ドライブ2に障害が発生し2番目のストライプが失われた場合、ファイルが破損する可能性は非常に高くなります。 また、1つのドライブに障害が発生した場合、最大の良好なファイルは、残りのストライプの合計サイズよりも小さい必要があります。

RAID 0

RAID 1

これはディスクをミラーリングするタイプのRAIDレベルで、メインとなるドライブからのデータはもう1つのドライブに重複されます。このRAIDレベルではパフォーマンスの向上はありませんが、仮に1つのドライブに障害が発生しても、2つ目のドライブにバックアップされているためデータ消失はありません。

RAID 1

RAID 01

性能の向上また追加の冗長性を得るために、標準RAIDレベルを組み合わせてハイブリッドまたはネストされたRAIDレベルを作成することができ、冗長性を提供するRAIDタイプは典型的には性能を向上させるためにRAID0と組み合わせられます。

以下の図から分かるようにこれら2つのRAIDレベルは、RAID0およびRAID1の組み合わせとなります。 この2つの違いは、実際のRAIDアレイの位置であり、図の中のストライプの太字部分が対象箇所となります。

RAID01は、RAID0がミラーコピーを持つように構成されています。

この利点はレベル0アレイのいずれかでドライブに障害が出た場合でも、欠損データを他のアレイから転送することが出来る点です。 しかし一方のストライプにハードドライブを追加するには、他のストライプにも追加のハードドライブを加え、アレイ内でのストレージのバランスを保つ必要があります。

この構成の欠点は、2つのドライブに障害が発生し、各々が同じデータストライプを保有する場合、障害を回復することが出来ないことです。 図においては、ドライブ1と5が失敗した場合にRAIDは再構築できますが、1と4が失敗した場合にはデータ損失が発生します。

RAID 01

RAID 10

RAID10はRAID0が2つのRAID1アレイに分割されるように構成されています。

RAID10に対する大きな利点は、各RAID1アレイ内の1つのドライブに障害が発生してもデータ損失がなくて済む点です。 しかし、障害の発生したドライブが置換されなかった場合、その1つ残されたドライブはアレイ内の単一の動作ドライブとなり、そのドライブに障害が発生した場合はそのアレイ内の全てのデータを失う事になります。

RAIDネスティング技術は他のRAIDレベルでも使用することが出来、RAID5で最も一般的に使用されていますが、その他3および6にも適用できます。そしてそれらを活用し50、51、60、61、30および03などのレベルの生成も可能となります。

RAID10とは?

RAID 2, 3 & 4

RAID2は専用パリティドライブを備えたビットレベルのデータストライピングから構成されています。 このレベルはハミングエラー検出コードを使用しており、エラー検出が組み込まれていないドライブでの使用を意図して設置させています。 このため、RAID2は一般的には使用されません。

RAID3と4は、いずれも専用パリティドライブによるストライピングを使用していますが、両者の違いは、RAID3ストライプがバイトレベルで、RAID4ストライプがブロックレベルで使用されていることです。

RAID3はバイトレベルストライピングのパフォーマンスが悪いため、最近ではほとんど使用されていません。また、RAID4はブロックレベルストライピングの方が優れていますが、パリティはすべての書き込みに対して更新される必要があり書き込みパフォーマンスが遅くなってしまいます。

RAID 3 & 4

RAID 5

RAID5は一般的に故障許容度、速度、およびコストの面において最良の妥協案であると考えられています。 RAID0と同じようにデータをストライプしますが、パリティ情報もすべてのドライブでストライプしています。 RAIDアレイがドライブ間でパリティとデータをどのように分配するかは、ベンダー固有設計となりますが、ほとんどの場合、左非対称、左対称、右非対称、右対称の4つの方法のいずれかになります。 下の図では、データがパリティの上または周囲でどのように移動するのか、またドライブを横切るパリティの方向をどのように移動するかを示しています。

パリティの方向は右または左に傾いているのが分かるように、とても簡単に見つけることができます。 非対称RAID内ではデータストライプはパリティを無視し次の使用可能なスペースにジャンプします。 対称RAIDはデータストライピングと関連して少し複雑になっており、データがパリティブロックに当たると次のストライプセットに移動します。

RAID 5

RAID 6

RAID6はRAID5の拡張であり同じデータおよびパリティ分布に従いますが、各ストライプにはパリティブロックを追加したものが存在します。 2つのドライブ障害が同時に発生しても、RAIDがデータを失うことが無いのがその主な理由です。 RAIDが小さい場合は短時間で2台のドライブが同時に故障する可能性は低いですが、RAIDアレイのサイズが大きくなるにつれてドライブの故障の可能性も高くなります。 その為、RAID6は一般的により大きなRAIDシステムでの使用が推奨されます。

パフォーマンスはRAID5と非常によく似ています。データおよびパリティはすべてのドライブに高速書き込みが可能ですが、読み込みアクセスは2組のパリティをスキップするので遅くなります。

RAID 6

一般的に使用されるRAID用語

RAID

RAIDとは、ディスクリソースおよびパリティ計算を統合することにより、より高い性能、信頼性、およびより大きなボリュームサイズを達成するために、各構成で2つ以上のハードドライブの使用をサポートする技術のことを指します。


パリティ

RAIDアレイ内のドライブがデータを失うことなく確実に動作することを可能にする計算式 これを示す最もシンプルに示したものが次の数式です。

A + B = C

上の数式から1つの文字を削除し、残りの2つの文字から削除された文字を確定できますか。 例えば、Bが削除され数式がA+?のようになった場合 =C、Bの値はAを元に算出されるため、B=C-Aとなります。

これは勿論、かなりシンプルにした説明で、RAIDに関する言語でこれを説明するにはバイナリーに関する知識とロジカルなXOR式が必要となります。


ミラーリング

1つ以上のハードディスクからのデータは、別の物理ディスクに複製されます。


ストリッピング

複数のディスクにデータとパリティを書き込む方法。 下の例では、データは最後のドライブまで順番にドライブに書き込まれ、最初のドライブにジャンプし、2番目のストライプを開始しています。


ブロック

ブロックはデータが書き込まれる各ディスク上の論理空間であり、空間の量はRAIDコントローラによって設定されます。最も一般的なサイズは16KB~256KBとされています。 データは限界に達するまでスペースを埋め続け次のドライブに移動し、最後のドライブが次のストライプの先頭にジャンプするまで移動し続けます。


左右対称

RAIDの対称性は、データとパリティがドライブ間でどのように分布するかをコントロールしてくれます。 対称性にはRAIDベンダーによって提供される異なる4つのメインスタイルがあります。 また、自社のビジネスニーズに応じて独自のスタイルを確立する企業も存在しています。


ホットスペア

RAID内のドライブ障害に対処する方法として、ホットスペアを使用する方法がいくつか存在します。 フェイルの状態になったディスクの代わりに使用できるスペアディスクです。


ディグレードモード

RAID内のドライブが読み取り不能になった場合、ドライブの状況は悪いと判断されRAIDから引き出されます。 新しいデータとパリティは、RAID内の残りのドライブに書き込まれます。もしフェイル状態のドライブから何らかのデータが要求された場合、他のドライブのパリティで処理されます。 これによりRAIDの性能が低下しモードが劣化します。


 

お気軽にお問い合わせください。

こちらは個人、法人または官公庁のお客様用のお問い合わせフォームになります。
フォーム送信後、担当者よりご連絡いたします。