Latest evidence-based health information
Iphone

RAIDを簡単に

RAIDを簡単に
RAIDを簡単に

RAIDとは何でしょうか?なぜ必要なのでしょうか?そして、よく話題になるモード番号とは何でしょうか?RAIDは「Redundant Array of Independent Disks(独立したディスクの冗長アレイ)」または「Redundant Array of Inexpensive Disks(安価なディスクの冗長アレイ)」の略称で、人によって呼び方が異なります。頭字語に「アレイ」という言葉が含まれているため、多くの人が言うように「RAIDアレイ」と言うのは冗長です。

ハードドライブの容量が小さく高価だった時代、RAIDは複数の安価なドライブを1つの大容量かつ高速なボリュームに統合するために開発されました。さらに、RAIDは冗長性(フォールトトレランスまたはフェイルオーバー保護とも呼ばれます)を実現するように設計されており、ドライブに障害が発生してもアレイとそのデータは引き続き使用可能です。「1ディスク冗長性」や「2ディスク冗長性」という言葉をよく耳にするでしょう。これは、アレイが機能し続ける間に故障しても許容されるドライブの数を指します。

ドライブ障害は起こり得るため、小規模ビジネスでは冗長性が重要です。RAIDのデータ冗長性は、マルウェア、盗難、自然災害によるデータ損失に対する保護を提供するものではなく、適切なバックアップ対策に代わるものでもありません。しかし、ハードウェア障害に対するフェイルセーフ機能を提供します。

RAIDにはレベル、つまりドライブをグループ化する方法があり、一般的には番号でレベルを表します。コンシューマー市場や小規模オフィス市場で最も一般的な3つのレベルは、RAID 0、RAID 1、RAID 5です。しかし、レベル6、10、5+1、JBOD(「Just a Bunch of Disks」)、Microsoftの仮想ディスクRAID、そしてDrobo BeyondRAID、Netgear X-RAID、Synology SHRなどの抽象化されたRAID実装など、他にも多くの選択肢があります。

一般的なRAIDモード

RAID 0 「RAID 0」の「0」を楕円形のレーストラックに例えれば、その主な目的がお分かりいただけるでしょう。それは、パフォーマンスの向上です。RAID 0はデータを複数のドライブに分散させます(例えば、ブロックAはドライブ1に、ブロックBはドライブ2にそれぞれ分散させます)。これにより、書き込み速度と読み取り速度が向上します。この手法はストライピングと呼ばれることが多く、他のモード(後述)でもこの手法が採用されています。

残念ながら(そしてリスクを認識していない場合は危険ですが)、RAID 0はドライブ障害に対する保護を提供しません。このモードでは重複情報やパリティ情報が書き込まれないためです。そのため、ドライブが故障すると、パズルのピースが欠けた状態になります。このような状況では、データが失われる可能性は十分にありますが、高額な費用でデータを復旧できるサービスプロバイダーを見つけることは可能です。

RAID 1  RAID 1は、同じデータを2台のドライブに書き込み、読み取ります。ミラーリングとも呼ばれます。ドライブは対等なパートナーであり、どちらかが故障しても、故障したドライブを交換するまで、正常なドライブで引き続き使用できます。RAID 1は、フェイルオーバーディスクストレージを構築する最もシンプルで容易な方法です。ただし、利用可能なドライブ容量の50%もの大きな容量を消費します。例えば、ミラーリングされたアレイに1TBのドライブを2台接続した場合、使用可能な容量は2TBではなく1TBしか得られません。

ミラーリングされたドライブのペアは、RAIDコントローラの許容範囲内であればいくつでも作成できます。また、万が一、コンシューマーグレードのコントローラが二重読み取りをサポートしている場合は、RAID 1 で各ドライブからブロックを交互に取得することで読み取り速度を向上させることができます。

RAID 5 このRAIDモードは、速度とデータの冗長性の両方を提供します。RAID 5は複数のディスクへのデータの書き込みと読み取りを行い、アレイ内のすべてのディスクにパリティデータを分散します。パリティデータは、大量のデータを正確に記述できる大きなデータセットから数学的に導き出された少量のデータであり、データの復元に役立ちます。パリティ情報はすべてのドライブに分散されているため、いずれかのドライブに障害が発生してもアレイ全体に障害が発生することはありません。

RAID 5は、利用可能なディスク容量の約3分の1をパリティ情報に使用し、実装には最低3台のディスクが必要です。データは複数のディスクから読み取られるため、RAID 5ではパフォーマンスが向上しますが、サーバー環境で複数の読み取りを処理する場合、RAID 5のパフォーマンスが大幅に低下するという報告もあります。

JBODこれは「Just a Bunch of Disks(単なるディスクの束)」の略称です。実際にはRAIDではありませんが、RAID機能を備えたマルチディスクストレージボックスではオプションとして提供されることがよくあります。JBODは速度向上や冗長性を提供しません。単に複数のディスクを連結して単一のボリュームを作成するだけです。

データは最初のドライブがいっぱいになるまで書き込まれ、次に2番目のドライブがいっぱいになるまで書き込まれ、最後のドライブの空き容量がなくなるまで書き込まれます。多くのネットワーク接続ストレージデバイスがこのオプションを提供していますが、他に選択肢がなく、単一の大容量ボリュームが本当に必要で、RAID 0 を使用する選択肢がない(まれな状況)場合を除き、使用はお勧めしません。

Windows ホームサーバー

ドライブエクステンダー:  Microsoftは、Microsoft Windows Home Server(WHS 2011以前)を搭載したNASボックスで以前採用されていたこの技術を廃止しました。ドライブエクステンダーは、スマートなファイルレプリケーション手法であり、どのデータをフォルダごとに複製するかを設定できました。

次のページ: 抽象化された RAID、ホットスペアなど

RAIDを簡単に

抽象化されたRAID

Drobo、Intel、Netgear、Synology はいずれも、抽象化 RAID または仮想 RAID と呼ばれるものを提供しています。Windows 7 にも抽象化 RAID の一種があり、Windows 8 の Spaces ではこの概念がさらに進化しています。

「抽象化」とは、物理ディスクをアレイの構成要素として使用する代わりに、仮想ボリューム(Microsoftの用語では「仮想ディスク」)を使用することを意味します。仮想ボリュームは、ディスクの一部のみを占有することも、複数のディスクにまたがって拡張することもできるため便利です。

例えば、500GBのディスク1枚と1TBのディスクの半分を使用する仮想ボリュームを作成できます。そして、1TBドライブの残りの500GBを使用する2つ目の仮想ボリュームを作成します。RAIDソフトウェアはこれらをバックグラウンドで管理し、必要に応じてユーザーには単一のストレージユニットとして表示されます。

抽象化RAIDでは、異なる容量のドライブやフォールトトレランスレベルを混在させられるだけでなく、ユーザーの介入なしに自動的に容量を拡張できます。抽象化RAIDを使用しない場合、RAIDレベルの変更には、すべてのデータのバックアップ、再構成、そしてデータのコピーバックが必要となり、時間がかかり、場合によっては技術的に困難な作業となります。

ホットスペア

RAIDアレイでは、ホットスペアが使用される場合があります。ホットスペアとは、NASボックスまたはシステムにプリインストールされた予備ディスクで、故障したディスクの代替として機能します。この設定により、ユーザーの介入なしにアレイの再構築が自動的に実行されます。

最大限の冗長性

他にも便利なRAIDオプションが3つあります。これらはコンシューマーレベルのRAIDボックスにはあまり搭載されていませんが、一部のビジネス向けNASボックスには搭載されています。

RAIDを簡単に

RAID 6はRAID 5と非常によく似ています。RAID 5と同様にパリティ情報が分散されていますが、その量はRAID 5の2倍です。つまり、RAID 6は2台のドライブの損失にも耐えることができます。RAID 6では、2つ目のパリティ情報がドライブ全体に分散されるため、総容量は明らかに低下します。しかしながら、最高レベルのフォールトトレランスが必要な状況では、RAID 6は良い選択肢となります。

RAID 10 ( RAID 1 + 0とも呼ばれる)は、データをミラーリングされたドライブペア(RAID 1)にストライプ化します。この構成により、RAID 1で低下する書き込み速度の一部を回復できますが、実装には少なくとも4台のドライブが必要であり、ドライブ容量の50%が冗長性確保に使用されます。

逆に、RAID 0 + 1は、ドライブのストライプペア(RAID 0)をミラーリング(RAID 1)します。RAID 10と同様に、RAID 1で低下する書き込み速度の一部を回復できます。ここでも、少なくとも4台のドライブが必要であり、ドライブ容量の50%が冗長性確保に費やされます。

その他のRAIDオプション

RAID 仕様には、上記のレベル以外にもいくつかのレベルが含まれていますが、これらは現在では一般的には使用されていません。

RAID 2は、ブロックレベルではなくビットレベル(0または1の値を持つコンピュータ情報の最小単位)でデータを複数のドライブに分散します。RAID 2は、ハミングECC(エラー訂正コード)回復情報をバイトレベルで専用のパリティディスクに書き込むため、多くの処理能力を必要とします。

RAID 3 は、データ ブロックを使用しないため、消費者の領域から排除されたもう 1 つのモードです。RAID 3 では、データがバイト (8 ビット) として複数のドライブに分散され、RAID 2 と同様にパリティ情報が専用ドライブに保存されます。

RAID 4は、データを複数のドライブにブロックとして分散し、すべてのパリティ情報を専用のパリティドライブに保存するため、使用されなくなりました。専用のパリティドライブに障害が発生すると、そのドライブが交換され情報が再構築されるまで、アレイ全体が保護されない状態になります。この弱点は、RAID 2および3にも内在しています。

RAID の選択: チートシート

どの RAID レベルが最適かお悩みですか? これが私たちの見解です。

  • まず、選択肢がある場合は、ソフトウェアRAIDではなくハードウェアRAIDを使用してください。ソフトウェアRAIDは高速ですが、多くの実装では、即座に再構築が行われる傾向があり、実行中にパフォーマンスが低下します。
  • 大容量ファイルでより高速なパフォーマンスのみが必要で、フォールト トレランスは必要ない場合は、RAID 0 を使用してください (ただし、ドライブは定期的にバックアップしてください)。
  • ドライブが 2 つしかなく、ドライブ障害から保護したい場合は、RAID 1 を使用します。
  • ドライブが 2 台以上あり、ドライブ障害に対する保護が必要な場合は、RAID 5 を使用します。
  • 抽象化された RAID を使用して、異なる容量のドライブのコレクションから最大限のストレージを取得します。

編集者注: これは、2010 年 4 月 15 日に最初に公開した記事の更新版です。このバージョンには、RAID テクノロジに関する最新の情報が含まれています。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.