RAIDに関する背景情報

Written By: Ontrack

Date Published: 2023/08/10 3:46:02

RAIDに関する背景情報

RAIDとは?

RAIDはRedundant Array of Independent(元はInexpensive)Disksの頭文字です。RAIDストレージは、エンタープライズデータストレージ技術に大変革を起こしました。冗長性によって個々のドライブの故障によるダウンタイムを最小にすることができるため(RAID1以上)、安心感をもたらしています。

ただし、残念ながら、RAIDストレージは完璧な技術ではなく、その結果として、今もデータ消失が発生する可能性があります。
 
RAIDというシステム名そのものが、その定義を示しています。RAIDはRedundant Array of Independent Disksの略で、文字通り「独立したディスクの冗長なアレイ」を意味し、言い換えると、複数のハードディスクをまとめたものが1つの論理パーティションを得るということを意味します。RAIDは、目的に応じて、情報の安全性を高めながらも、データへのアクセスや書き込みのパフォーマンスを向上させます。
 
RAIDとは、パフォーマンスの向上や信頼性、さらに大きなボリュームサイズを得ることを目的として、統合したディスクリソースとパリティ計算を用いることで、2台以上のハードディスクを様々な構成で使用することをサポートする技術です。
 
いくつかの標準構成が設計され、それらは「レベル」と呼ばれます。元々は5つのRAIDレベルが作成され、その後、多くのバリエーションが展開しました。その中には、特に、いくつかの入れ子構造のレベルと多くの非標準レベル(ほとんどが独自のもの)があります。
 
では、RAIDレベルは何を意味するのでしょう? 数字は単に、RAIDの構成を指しています。すべてのRAIDシステムがデータを効率的に保存することを知ったうえで、どのシステムを選ぶかは、個人のニーズに基づいて決めます。例えば、パフォーマンスと信頼性を求めるニーズを満たすのはRAID 1です。もしパフォーマンスと耐障害性の両方を求めるのであれば、RAID 5を選ぶとよいでしょう。
 
what-is-raid

RAIDシステムの概要

 

RAIDは、複数のハードディスクにまたがってデータを分散または複製するコンピューターデータストレージ方式に用いられる用語です。RAID設計の主な目的は2つあります。データの信頼性を高めることと、I/O(出入力)のパフォーマンスを向上させることです。

RAIDは、特別なハードウェアまたはソフトウェアを用いて、複数の物理ハードディスクを1つの論理ユニットにまとめます。ハードウェアを用いたRAIDソリューションには、マザーボード上への構築やアドインカードから、NASまたはSANの大規模エンタープライズサーバーに至るまで、様々なスタイルがあります。このような設定の場合には、オペレーティングシステムは、技術的な機能やRAIDを認識していません。一方、ソフトウェアを用いたソリューションは、一般的にオペレーティングシステム内で実行されます。
 
RAIDには3つの主要なコンセプトがあります:
 
  • ミラーリング:データを複数のディスクにコピーすること
  • ストライピング:データを複数のディスクにまたがって分割すること
  • エラー訂正:問題が検出され、場合によっては修正されるように、冗長なデータを保存する(「耐障害性」として知られる)
それぞれのRAIDレベルで、システムの要件に応じて、上記の技術のうちの1つまたは複数が使われています。
 
RAIDはこれまでサーバー上で使用されていましたが、ワークステーション上でも使用することができます。後者は特に、ビデオやオーディオの編集に使われるような、ストレージ集約的なコンピューターに適しています。
 
 
raid-recovery-tips

RAIDシステムの歴史

RAIDは、Redundant Array of Independent Disks(Redundant Array of Inexpensive Disks)(「独立した(安価な)ディスクの冗長なアレイ」の意味)の頭文字です。コンセプトが生まれたのはカリフォルニア大学バークレー校。デビッド・A・パターソン、ガース・ギブソン、ランディ・H・カッツの3氏が共同で、RAIDストレージシステムの5つのレベルの運用プロトタイプを作成しました。彼らの研究成果が、今存在する複雑なRAIDストレージシステムの基礎となっています。現在、RAID 5に関する知的財産権は、IBMが保有しています。

RAIDストレージシステムの設計が目指したのは、ストレージのパフォーマンスおよび復旧、信頼性、拡張性の向上でした。それによって得たものは、システム内でドライブに障害が発生した際に、データ復旧能力を提供する、ユニークな冗長性のコンセプトです。実際のところ、RAIDコントローラーカードは、ディスクが「オフライン」になった場合でも、データの読み取りと書き込みを継続する能力を得ています。
 

RAIDの種類

オントラックは、主要なRAIDアーキテクチャのすべてに対して、データ復旧サービスをご提供しております。これには、RAIDレベル0、00、1、10、1E、1E0、2、3、4、5、50、5E、5EE、6、60が含まれます。また、多くの独自のRAIDアレイからもデータを復旧しております。

ソフトウェアツールを継続的に開発してきたことにより、当社は最新かつ最先端の独自の技術を用いて、可能な限り最高のデータ復旧を確実に実施できるようになりました。さらに、当社の研究開発チームは、エンジニアが通常とは異なる独自のRAIDアレイに遭遇しても、カスタムツールをこのために特別に作成するという方法で、エンジニアのデータ復旧を支援します。

当社は、HPやデル、アダプテック、IBM、インテル、Promise、EMC、NetApp、LSI Logicなど、ほとんどのRAIDベンダーから推奨されています。

RAIDのタイプは、その構成(使用されるディスクの数を含む)によって決まります。念のため繰り返すと、RAIDはRedundant Array of Independent Disksの略であり、複数の小さなディスクをまとめて1つのシステムを形成し、各ディスクにデータを分散させるストレージソリューションのことを指します。このデバイスは安価であることに加え、高い水準のパフォーマンスと、RAIDが故障に耐えることから、高いデータセキュリティを発揮します。

現在RAIDは、RAID 2などの旧式になったと考えられる構成を含めれば、少なくとも20種類近くあります。全RAID構成の中で最も一般的なのは、RAID 0、RAID 1、RAID 10、RAID 5、RAID 6です。

RAID 0では2台以上のディスクを使用します。データへのアクセスは高速ですが、冗長性はありません。RAID 1も2台のディスクを使用しますが、各ドライブに重複して情報を書き込みます。そのため、1台のディスクが破損しても、別のディスクにデータが残っています。RAID 0のパフォーマンスとRAID 1のセキュリティの両方のメリットを生かすため、RAID 5が作られました。データをうまく分散させることで、RAID 5はスピードと耐障害性を両立させています。RAID 6はRAID 5と同じ長所を持ちますが、1台ではなく2台のドライブの故障に耐えるという、追加の「おまけ」があります。

 

RAID 0
RAID 0は、古くからあるデータストライピング構成で、データはすべてのドライブに分散して書き込まれ、結果として高速アクセスを可能にしています。しかし、このパフォーマンスにはリスクが伴っており、RAID 0で1台以上のディスクに大きな障害が生じると、深刻なデータ消失が発生する可能性があります。
データ復旧の状況の例:ファイルがデータストライプ1から4にまたがるように作成され、ドライブ2に障害が発生し、2つ目のストライプが失われた場合、ファイル破損の可能性は高くなります。別の視点から言うと、1台のドライブに障害が発生した場合、救える正常なファイルは最大でも、残りのストライプをすべて合わせたサイズよりも小さいということになります。
 
RAID 1
これは、ディスクのミラーリングを設定するRAIDレベルです。プライマリディスク上のデータは、別のディスクにも複製されます。このRAIDでパフォーマンスは向上しませんが、ある1台のドライブに障害が発生しても、別のドライブにバックアップがあります。
 

RAID 2

 

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

 

RAID 3 and 4

 

RAID 3とRAID 4はどちらも専用のパリティドライブによるストライピングを使用します。両者の違いは、RAID 3はバイトレベルでストライピングし、RAID 4はブロックレベルでストライピングする点です。バイトレベルのストライピングのパフォーマンスがよくないため、RAID 3は最近ではほとんど使われていません。RAID 4のブロックレベルストライピングのほうが優れていますが、書き込みごとにパリティを更新する必要があるため、書き込みの速度が遅くなっています。

 

RAID 5
RAID 5は一般的に、耐障害性とスピードとコストのバランスで、最も優れた落としどころであると考えられています。システムは、RAID 0と同じ方法でデータを分割しますが、システムを構成するハードディスクのすべてにパリティデータも分散させます。パリティ情報をディスクに分散する方法については、ベンダーによって特定の方法がありますが、ほとんどが、左非対称、左対称、右非対称、右対称の4つのうちのいずれかです。
パリティの方向は、左右に「動く」のが見えるため、簡単に特定することができます。非対称のRAIDでは、データストライプがパリティを無視し、次の空いているスペースに到達するまで、スキップしていきます。対称のRAIDでは、もう少し複雑な方法でデータストライプを扱います。データがパリティブロックにあたると、次のストライプセットまで横方向と下方向に移動します。
 
RAID 6
RAID 6システムはRAID 5の拡張版です。データ分散は同じで、採用するパリティ分割も似ていますが、各ストライプに追加のデータブロックを生成します。2台のディスクに同時に障害が発生しても、このRAIDではデータを消失しません。小さなRAIDでは2台のハードディスクに同時に障害が発生する可能性は低いですが、RAIDアレイのサイズが大きくなるにつれて、障害の可能性は高くなります。
パフォーマンスについては、非常にRAID 5と類似しています。データとパリティブロックをすべてのディスクに書き込むことができるため書き込みは速いですが、2つの連続したパリティをジャンプしなければならないため遅れが生じ、読み込みのアクセスは遅くなります。
 
RAID 0+1 and 1+0
パフォーマンスを高め、さらに多くの冗長性を持たせるために、複数の標準的なRAIDレベルを組み合わせることで、ハイブリッドや入れ子構造のRAIDレベルを新たに作ることができます。冗長性を持たせるRAIDタイプは、一般的にRAID 0と組み合わせることで、パフォーマンスをさらに高められます。
このメリットは、レベル0アレイの1つでドライブに障害が発生した場合に、見当たらないデータを他のアレイから転送できることです。ただし、1つのストライプにハードディスクを追加すると、アレイ間のストレージのバランスを取るために、他のストライプにもハードディスクを追加する必要が出てきます。
この構成のデメリットは、2台のドライブに同時に障害が発生した場合、同じデータストライプのドライブでない限り、復旧ができないことです。
 
RAID 10
RAID 10は、RAID 0が2つのRAID 1アレイに分割されるような構成になっています。
RAID 10の大きな強みは、RAID 1の各アレイで1台を除くすべてのドライブに障害が生じても、データ消失に至らないことです。ただし、障害のあるドライブを交換しない場合、そのアレイ内で唯一機能するドライブがシステム全体の単一障害点となり、もしその最後のドライブが故障すると、アレイ内の全データが失われます。
RAIDの入れ子構造は、他のRAIDレベルにも適用できます。最もよく使われるのはRAID 5ですが、RAID 3や6などの他のレベルにも適用でき、その結果としてRAID 50、51、60、61、30、03などの新しいレベルが生まれています。
 

RAID 50

 

RAID 50は、RAID 5+0とも呼ばれ、RAID 0のストレートブロックレベルストライピングとRAID 5のパリティの分散を組み合わせたものです。RAID 5の要素にまたがってストライピングするRAID 0アレイという形になるので、RAID 50の構成には最小でも6台のドライブが必要になります。RAID 5の各セットのドライブ1台に障害が発生しても、データは消失しません。例えば、3セットのRAID 5を含むRAID 50構成では、最大で3台のドライブに同時に障害が発生しても、耐えられます(ただし、各RAIDセットにつき1台のみ)。システムの信頼性は、アレイがリビルドできるように、正常でないドライブを素早く交換できるかどうかにかかっています。そのため、障害が発生すると直ちにアレイのリビルドを開始することができるホットスペアを含めることが一般的です。

 

RAID 51

 

RAID 51は、パリティ情報に加えて、RAID 5アレイ全体でRAID 1をミラーリングまたは実行することで、実施されます。一般的には、ソフトウェアとハードウェアをベースとしたRAID技術を用いて構成されます。この技術では、ハードウェアベースのRAID 5アレイ上のオペレーティングシステムを通して、RAID 1ベースのミラーリングが実行されます。RAID 51は、特にバックアップの可用度の強化と高い耐障害性を目指して設計されました。RAID 51は、ミラーリングされたディスクのパリティセットであると考えられており、そのような理由から、RAID 5の後にRAID 1が続いて51とされました。 RAID 51は、最小の6台構成のディスクのうち4台を失っても、稼働を継続したり、データ損失を防いだりします。

 

 

 

 

 

 

 

 

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

RAID: RAIDとは、パフォーマンスの向上や信頼性、さらに大きなボリュームサイズを得ることを目的として、統合したディスクリソースとパリティ計算を用いることで、2台以上のハードディスクを様々な構成で使用することをサポートする技術です。


パリティ: RAIDアレイ内のドライブに障害が発生しても、データを消失しないようにする数学的計算のことを指します。これを示す最もシンプルな方法は、方程式:A+B=Cです。ここからどれか1文字を消しても、残りの2文字からその値を算出することができます。例えば、Bを消すと、式はA+?=Cになります。このBの値は、Aを移動させてB=C―Aとすることで算出できます。これは明らかに、説明の方法として単純化したものですが、RAIDの文脈で完全に理解するには、2進法とXOR論理式に関する知識が必要です。


ミラーリング:1台以上のハードディスク上のデータを、別の物理ディスクに複製すること。


ストライピング: 複数のディスクにまたがって、データとパリティを書き込む方法のこと。データは順次、ドライブに書き込まれていきます。最後のドライブが終わると、最初のドライブにジャンプして戻り、2つ目のストライプを始めます。


ブロック:ブロックとは、データが書き込まれる各ディスク上の論理スペースのこと。スペースのサイズはRAIDコントローラーによって設定され、最も一般的なサイズは16 KBから256 KBとされます。データはスペースを埋め、上限に達すると次のドライブに移動し、最後のドライブまで来た後は、次のストライプの開始点にジャンプします。


左右対称: RAIDの対称性によって、複数のドライブをまたいでデータとパリティをどのように分散させるかをコントロールします。対称性には主なスタイルが4つあり、どれを使うかはRAIDベンダーによって異なります。自社のビジネスニーズに応じて、独自のスタイルを作成する企業もあります。


ホットスペア: RAID内のドライブの障害に対処する方法はいくつかありますが、その1つがホットスペアを使用する方法です。障害が発生したディスクの代わりに使用できる、予備のディスクのことです。


デグレードモード: RAID内のドライブが読み取り不能になった場合、そのドライブは不良とみなされ、RAIDから外されます。その後、新しいデータとパリティは、RAID内に残っている他のドライブに書き込まれます。もし障害のあるドライブのデータが要求された場合には、他のドライブ上のパリティで処理されます。こうすることによってRAIDのパフォーマンスが低下するため、デグレードモード(低下モード)と呼ばれます。

購読

KLDiscovery Ontrack株式会社 〒100-0011 東京都千代田区内幸町2-2-3 日比谷国際ビル3F (全国拠点一覧)