ストレージボード解説:RAIDとは?仕組みと種類をわかりやすく紹介【動画】

動画の内容について
OntrackデータリカバリーのMikeyがお送りする「Storage Board」へようこそ。今回のエピソードでは、RAIDシステムとは何か、そしてどのように動作するのかを詳しく解説します。その前に、まず「RAID」という言葉の正確な定義から見ていきましょう。
RAIDの定義
RAIDは「Redundant Array of Independent Disks(独立ディスクによる冗長配列)」の略称で、複数のディスクにデータを分散・配置することで、パフォーマンスと信頼性の向上を目指すデータ保存方式です。
信頼性が大幅に向上するため、RAIDシステムを最も多く利用しているのは企業や組織であるのも納得できます。この技術は30年以上の歴史を持つ確立された概念ですが、必ずしも企業だけが使うものではありません。個人でも、動画編集や音楽制作などを行う方には十分活用の価値があります。単一ドライブを使う場合と比べてパフォーマンスと信頼性を高められるだけでなく、ボリュームサイズ(記憶容量)を拡張できる点も、組織に愛用される大きな理由です。
ハードウェアRAIDとソフトウェアRAID
RAIDシステムの構築方法は大きく分けて2つあります。1つ目はハードウェア構成です。ホストコンピューター(またはサーバー)とRAIDシステムの間にRAIDコントローラーを配置し、これがRAIDシステム全体を制御します。ハードウェア構成では、データの読み書き、保存場所、書き込み先のドライブなど、RAIDに関するすべてをRAIDコントローラーが担当します。ホストOSはRAIDシステム内に複数のドライブが存在することを認識せず、すべてを1つの論理ユニットとして扱います。
一方、ソフトウェアRAIDアレイでは少し仕組みが異なります。RAIDコントローラーの役割をOSが担うため、専用のハードウェアがない分、OSが同時に複数の処理を行うことになり、パフォーマンスは若干低下します。
RAIDレベルとその実際の仕組みを見る前に、RAIDシステムを理解するための重要な用語を確認しておきましょう。
押さえておきたい重要用語
まずは「パリティ(parity)」です。パリティはRAIDにおいて非常に重要な概念で、データを複数のドライブに分散させることで負荷分散を助け、万一障害が発生した際のデータ復旧を可能にする仕組みです。
次に「冗長性(redundancy)」です。コンピューターサイエンスの観点では、重要なコンポーネントを重複して持つことを指します。1つが故障してもシステム全体がダウンしないようにする考え方で、RAIDシステムの場合、このコンポーネントに相当するのがドライブです。詳細は後ほど説明します。
さらに、RAIDにおけるもう2つの重要な概念が「ミラーリング(mirroring)」と「ストライピング(striping)」です。ミラーリングは文字通り、あるドライブのデータを別のドライブに複製し、まったく同じ情報を保持することで、障害発生時にデータを復元できるようにする方式です。
そしてストライピングは、データを複数のディスクに順番に分割して書き込む方式です。この仕組みについては、後ほど「RAID 0」の構成で詳しく見ていきます。
その前に一点触れておきたいのは、RAIDには実にさまざまなレベルが存在するということです。今回は動画の都合上4つのレベルを取り上げますが、たとえば独自のアプリケーションやデータベースを持つ企業であれば、ニーズに応じて独自のRAIDレベルを設計することも可能です。レベルはRAID 0からRAID 61以降まで存在し、そのほかにもネステッド(入れ子型)やカスタムレベルが多数あります。ここで紹介するのは、最も基本的な4つのレベルです。
RAID 0
RAID 0の構成では、最低2台のドライブが必要で、ストライピングの概念を使用します。ご覧のとおり、データは2台のディスクにまたがってストライプ状に分散されます。これは単一ディスクと比較して読み書き性能の面で非常に優れています。しかし、冗長性の面では決して優秀とは言えません。というのも、もしドライブの1台(たとえばドライブ1)が故障した場合、そのデータはどこにも複製されていないため、復元する場所がなく、深刻な問題につながるからです。
RAID 1
次のレベルはRAID 1で、先ほど説明したミラーリングの概念を採用しています。こちらも2台のドライブで構成され、1台目のドライブのデータを2台目にミラーリングします。つまり、この構成でドライブ1が故障しても、同じデータがドライブ2に存在するため、問題なくデータを復元できます。冗長性とデータセキュリティが確保され、RAIDの中で最もシンプルな冗長化方式と言えます。
RAID 5
続いて、より複雑なレベルであるRAID 5を見ていきましょう。ここで登場するのがパリティの概念です。パリティとは、障害からの復旧を支援するためにデータを複数のドライブに分散させる仕組みです。この例では4台のドライブを使用しています(RAID 5には最低3台が必要)。赤色で示されているのがパリティです。もし1台のドライブ(たとえばドライブ4)が故障しても、他のドライブのパリティ情報を使ってデータを再構築できます(RAID 5のパリティは合計で1台分の容量を消費するため、1台のドライブ故障まで耐えられます)。
RAID 5では、さらに一歩進んで5台目のドライブとして「ホットスペア」を構成することもできます。これはデータが書き込まれていない待機状態のドライブで、システム内に常駐しています。もしドライブ4が故障した場合、ホットスペア(ドライブ5)が故障したドライブ4の代わりを務め、他のドライブのパリティをもとにデータが書き込まれるため、データ損失は発生しません。その後、故障したドライブを取り外して新しいドライブを挿入すれば、それが新しいホットスペアになります。データ損失を防ぐ冗長性を高める、もうひとつの有効な方法です。
RAID 6
最後に紹介するのはRAID 6です。これはパリティの概念をさらに発展させた「デュアルパリティ(二重パリティ)」を採用しています。このRAID 6アレイには5台のドライブがあり(RAID 6には最低4台が必要)、2台分の容量を消費するデュアルパリティが全体に分散されているのがわかります。これにより、データ復旧に支障が出る前に、最大2台のドライブ故障に耐えることができます。信頼性とデータセキュリティがさらに強化され、仮に2台のドライブが同時にダウンしても、他のドライブに分散されたデュアルパリティによってアレイ内のデータを再構築できるのです。
最後に重要な注意点です。冗長性やパリティはバックアップとは同じではありません。RAIDシステムとは別に、必ず独立したバックアップを保管するよう心がけてください。
あなたはRAIDシステムにデータを保存していますか?どのレベルを使用していて、その理由は何でしょうか?ぜひ下のコメント欄でお聞かせください。
-
クラウドストレージとは?仕組み・バックアップとの違い・選び方を徹底解説
クラウドストレージとは、ファイルをインターネット上(クラウド)に保存する仕組みのことです。パソコンの内蔵HDDや外付けハードディスク、USBメモリにデータを保管する代わりに、オンライン上にファイルを置いておくことができます。クラウドストレージを利用する理由はさまざまです。ローカルディスクの空き容量が不足している場合、クラウドを追加の保存先として活用できます。音楽コレクションをどこからでもストリーミング再生したい、自宅から仕事のファイルにアクセスしたい、旅行の動画を手軽に共有したい——そんなニーズにも応えられます。さらに、重要なファイルをパスワードと暗号化でしっかり保護したいという場合にも有効で
-
ポリグロット・パーシスタンスとは?複数のデータベースを使い分ける設計の基礎知識
※本記事は2018年4月30日にObjectRocket.com/blogで公開された記事をもとに再編集したものです。 ポリグロット・パーシスタンス(多言語永続化)とは ポリグロット・パーシスタンス(Polyglot Persistence)とは、アプリケーションのさまざまなデータ保存要件に対して、複数の異なるデータストレージ技術を使い分けるアプローチのことです。これは、アプリケーション開発において複数のプログラミング言語を組み合わせて使う「ポリグロットプログラミング」から派生した概念であり、端的にいえば「1つのアプリケーションの中で、複数のコアとなるデータベース技術を併用する」という考え方で