RAIDの種類と構成|RAID5・RAID1+0・RAID6|データ復旧

RAIDは、データを保護し、システムの信頼性を高めるために、特にサーバーや高性能を要求される環境でよく使用されます。このページではRAIDについて詳しく解説させていただきます。

RAIDとは

RAIDはRedundant Array of Independent Disksの略号です。複数のハードディスクドライブを組み合わせて、データを分散することで冗長性データを付加した上で格納することができます。ディスク障害発生時にユーザデータの再生を可能とするディスクアレイです。

RAIDの意味

RAIDの概念は、1987年にカリフォルニア大学バークレー校のデビッド・A・パターソン、ゲン・ギブソン、ランディ・カッツ教授の三人によって考案されました。彼らは論文「A Case for Redundant Arrays of Inexpensive Disks (RAID)」を発表し、RAIDの基本的なアイデアと利点を提案しました。この研究は、複数のディスクを用いてデータの信頼性と性能を向上させる方法についての詳細な分析を行っています。

  • ディスクアレイのアーキテクチャ

レベル1
ディスクミラーリング
レベル2
ストライピングとパリティ(ハミングコード)
レベル3
ストライピングと追加パリティ(パリティコード)
レベル4
独立R/Wアクセス(パリティディスク固定)
レベル5
独立R/Wアクセス(パリティディスク分散)
レベル6
独立R/Wアクセス(パリティディスク分散、2台)

RAID 0(ストライピング)

RAID 0、またはストライピングは、データをブロック単位に分割し、複数のディスクにして保存することで、システムのパフォーマンスを向上させるための技術です。この方式では、2台以上のディスクを使用して、データをブロック単位でコントローラによりバランスよく配置します。これにより、複数のディスクが同時にデータの読み書きを行うことができ、データアクセス速度が大幅に向上します。

たとえば、ハードディスクに10TBのデータを書き込む場合に、RAID0であれば5TBの速度で完了することができます。

特徴

  • パフォーマンス向上: 複数のディスクから同時にデータを読み書きすることで、単一のディスクを使用する場合と比較して高速なデータアクセスを実現します。これは、大量のデータを扱うアプリケーションや、高速なデータ処理が必要な場合に特に有効です。
  • 容量の最大化: RAID 0では、組み込まれた全てのディスクの容量を合計した容量を使用できます。たとえば、500GBのディスクを2台使用すると、RAID 0では合計1TBのストレージスペースを利用できます。
  • 冗長性の欠如: RAID 0は冗長性がないため、1つのディスクが故障するとデータ全体が失われてしまいます。一台のディスクが故障すると、そのディスクに保存されていたデータの一部が失われ、システム全体のデータも回復不可能になります。これは、重要なデータを保管するためのシステムとしては適していないことを意味します。

用途

RAID 0は、データの冗長性よりも高速なアクセス速度を優先する場合に適しています。例えば、ビデオ編集や大量のデータ処理を必要とするアプリケーションでの使用が考えられます。しかし、重要なデータの保護が必要な場合は、データの冗長性を提供するRAID 1やRAID 5などの他のRAIDレベルを検討するべきです。

デメリット

  • データの安全性: RAID 0はデータの冗長性を提供しないため、ディスクのいずれかが故障するとシステムに保存されているデータ全体が失われるリスクがあります。
  • データ復旧の困難さ: ディスクが故障した場合、RAID 0ではデータの復旧が非常に困難または不可能になることがあります。

RAID 0を利用する場合にはリビルドすることができません。重要なデータを別の場所に定期的にバックアップすることが強く推奨されます。これにより、データの安全性を確保しつつ、高速なデータアクセスの利点を享受できます。

(豆知識)JBOD(RAID N+N)について

JBOD(Just a Bunch Of DisksまたはJust a Bunch Of Drivesの略)は、複数のハードドライブを一つの論理ドライブとしてシステムに提供するストレージの構成方法です。もともとはディスクアレイの実装方法の1つです。

RAID(Redundant Array of Independent Disks)と異なり、JBODはデータの冗長性やパフォーマンス向上のためにディスクを組み合わせる技術ではありません。

ただ単に保存容量を増やしたい場合に利用されるものです。

JBODでは、各ドライブが個別に認識されるか、または複数のドライブが連結されて一つの大きなストレージボリュームとして認識されますが、これらのドライブ間でデータの冗長性や分散は行われません。

JBODの特徴

  • 単純なストレージ拡張: JBODは、追加のストレージを簡単にシステムに追加する方法を提供します。異なるサイズや速度のドライブを利用できるため、既存のドライブをそのまま使用しながら、ストレージ容量を拡張できます。
  • 高い柔軟性: 異なるメーカーや容量のドライブを混在させることができます。これにより、手持ちのドライブを最大限に活用することが可能になります。
  • コスト効率: JBODは特別なハードウェアやソフトウェアを必要とせず、コスト効率の良いストレージソリューションを提供します。
  • データの冗長性がない: JBODはデータのミラーリングやパリティ計算を行わないため、ドライブが故障するとそのドライブ上のデータを失います。これは、重要なデータを保護するために追加のバックアップソリューションが必要であることを意味します。

用途

JBODは、コストを抑えつつ迅速にストレージ容量を増やしたい場合や、異なるサイズのドライブを有効活用したい場合に適しています。また、特定のアプリケーションで大量のデータを格納する必要があるが、高価なRAIDソリューションを導入する予算がない場合にも適しています。

しかし、JBODはデータの冗長性や耐障害性を提供しないため、重要なデータの保存には適していません。JBODを使用する場合は、定期的なバックアップや別のデータ保護手段を検討する必要があります。

RAID 1(ミラーリング)

RAID 1、またはミラーリングは、データの冗長性を提供するための方法の一つで、2台以上のハードディスクを使用してデータを完全にコピー(ミラーリング)します。この方式では、1台のディスクに保存された全てのデータが、もう1台のディスクにも同時に書き込まれるため、いずれかのディスクが故障してもデータが失われることはありません。RAID 1は、データの安全性を最優先する場合に適しています。

特徴

  • データの冗長性: RAID 1は高いレベルのデータ冗長性を提供します。一方のディスクが故障した場合でも、もう一方のディスクに完全なデータのコピーが残っているため、データの損失リスクが非常に低いです。
  • 読み込みパフォーマンスの向上: 読み込み操作は、ミラーリングされたディスクのどちらからでも行うことができるため、理論上は読み込み速度が向上する可能性があります。ただし、実際のパフォーマンス向上はシステムの構成に依存します。
  • 書き込みパフォーマンスの影響: 書き込み操作は、2台のディスクに同時に行われるため、単一のディスクにデータを書き込む場合と比較して、書き込み速度は大きく改善されないことが一般的です。
  • 容量効率: RAID 1では、利用可能な総ストレージ容量の半分しか使用できません。たとえば、1TBのディスク2台をRAID 1で構成すると、使用できる容量は1TBのままです。

用途

RAID 1は、個人データの安全性を重視する場合や、小規模なビジネスのクリティカルなデータを保護するためのシステムに適しています。また、重要なサーバーでの使用や、データの損失に対する耐性が特に求められる環境で有効です。

注意点

  • RAID 1はデータ保護のための有効な手段ですが、災害時のデータ保護(たとえば、火災や洪水など)には適していません。災害に備えて、オフサイトバックアップも検討する必要があります。
  • RAID 1はデータの冗長性を提供しますが、バックアップの代わりにはなりません。定期的なデータバックアップと組み合わせることが、データ保護戦略としては最も効果的です。

RAID 1はシンプルながら非常に効果的なデータ保護手段を提供しますが、全体的なストレージ容量の要求とデータ保護のニーズを考慮して、最適なRAIDレベルを選択することが重要です。

RAID2やRAID3は存在しますが、現在はほとんど使用されていません。ディスク容量効率が悪い(容量は半分になる)ため、RAID 0+1やRAID 1+0(RAID10)が利用されています。

RAID 0+1(ストライピング+ミラーリング)

RAID 0+1(またはRAID 01とも呼ばれる)は、RAID 0(ストライピング)とRAID 1(ミラーリング)の技術を組み合わせたものです。この方式では、データの高速アクセスと冗長性の両方を実現しますが、その設定には少なくとも4つのディスクが必要です。RAID 0+1は、パフォーマンスとデータの保護のバランスを取りたい場合に適しています。

仕組み

  • ストライピングとミラーリング: まず、2つのディスクにデータをブロック単位に分割してストライピング(RAID 0)で分散させ、その後、別の2つのディスクセットでこのストライプセットをミラーリング(RAID 1)します。結果として、高速なデータアクセスが可能な上、1セットのディスクが完全に故障してもデータを失うことがありません。
  • ディスク要件: 最小限で4台のディスクが必要です。2台はデータのストライピングに、残りの2台はそのストライプセットのミラーリングに使用されます。

特徴

  • パフォーマンス: RAID 0のストライピングにより、データアクセスのパフォーマンスが向上します。
  • データ保護: RAID 1のミラーリングにより、一方のディスクセットに障害が発生してもデータを失うことなく、安全に運用を続けることができます。
  • コストと容量: 使用できる実際のディスク容量は、構成されたディスクの総容量の半分になります。また、最低4台のディスクが必要であるため、コストが高くなりがちです。

用途

RAID 0+1は、データベースサーバーや企業のクリティカルなアプリケーションなど、高速なデータアクセスとデータの冗長性が両方とも重要なシステムで使用されることがあります。この方式は、システムのパフォーマンスを向上させつつ、障害発生時にもデータの損失を防ぎたい場合に適しています。

注意点

  • RAID 0+1はデータの冗長性を提供しますが、バックアップの代わりになるものではありません。重要なデータは別途バックアップを取るべきです。
  • RAID 0+1は、RAID 10(またはRAID 1+0)と混同されることがありますが、これらは異なる構成であり、RAID 10はより柔軟な障害対応能力を持っています。

RAID 0+1は、特定の要件に合わせてデータの速度と安全性を最適化したい場合に有効な選択肢ですが、その設定と管理には注意が必要です。

RAID1+0(RAID10)

RAID 1+0、よくRAID 10とも呼ばれる、はミラーリングとストライピングの技術を組み合わせたRAIDの構成です。これは高いデータの冗長性とパフォーマンスを提供し、企業の重要なシステムやデータベースサーバーなどで好んで使用されます。RAID 10は、少なくとも4つのディスクを必要とし、そのディスクをミラーリングペアに分けた後、これらのペア間でデータをストライピングします。

仕組み

  • ミラーリングとストライピングの組み合わせ: RAID 10はまず、2台のディスクをミラーリング(RAID 1)で互いに完全にコピーすることから始まります。次に、複数のミラーリングされたペアを通してデータをストライピング(RAID 0)します。
  • ディスク要件: RAID 10を構成するには最低4台のディスクが必要ですが、より多くのディスクを追加して容量やパフォーマンスを向上させることが可能です。

特徴

  • 高いデータ保護: ディスクのいずれかが故障しても、ミラーリングされたペアからデータを復元できるため、高いレベルのデータ保護を提供します。
  • 優れたパフォーマンス: ストライピングにより、データアクセスの速度が向上します。これにより、読み書き操作が高速になり、アプリケーションのパフォーマンスが改善されます。
  • 柔軟な障害回復: 各ミラーリングペア内で1台のディスクが故障しても、システムは引き続き動作し続けることができます。また、故障したディスクを交換し、ミラーを再構築することで容易に回復できます。
  • スケーラビリティ: 追加のディスクペアをRAIDに組み込むことで、容量やパフォーマンスを拡張することが可能です。

用途

RAID 10は、高いパフォーマンスとデータの冗長性が必要な環境に最適です。これには、データベースサーバー、ファイルサーバー、および高可用性が要求される他の重要なアプリケーションが含まれます。

注意点

  • コスト: RAID 10は高いデータ保護とパフォーマンスを提供しますが、そのコストは比較的高くなります。使用できる実際のストレージ容量は、インストールされたディスクの総容量の半分に限られます。
  • ディスクの効率: 実際の使用可能なディスク容量が総容量の半分になるため、大量のストレージを必要とするアプリケーションではコストが増加する可能性があります。

RAID 10は、データの安全性とシステムパフォーマンスの両方を最優先する場合において、優れた選択肢を提供します。

RAID 5(分散パリティ)

RAID 5は、データとパリティ(誤り訂正情報)を複数のディスクに分散して格納することにより、データの冗長性と高速な読み書きを実現するRAID(Redundant Array of Independent Disks)の構成方法です。RAID 5のセットアップには最低3台のディスクが必要で、1台のディスク分の容量がパリティ情報の保存に使用されます。これにより、いずれかのディスクが故障した場合でも、残りのディスクに保存されたデータとパリティ情報から失われたデータを再構築することが可能になります。

特徴

  • データの冗長性: RAID 5は1台のディスクが故障してもシステムが動作し続け、データの損失が発生しないように保護します。ただし、2台以上のディスクが同時に故障するとデータを失う可能性があります。
  • パフォーマンス: 読み取り性能は高いですが、書き込み時にはパリティ情報を計算して分散させる必要があるため、書き込み性能は若干低下する可能性があります。それでも、複数のディスクからデータを読み取ることができるため、一般的な使用では良好なパフォーマンスを提供します。
  • 容量効率: 使用可能な総ストレージ容量は、インストールされたディスクの総容量から1台分のディスク容量を引いたものになります。これにより、比較的高い容量効率を実現しています。
  • スケーラビリティ: 追加のディスクをシステムに組み込むことで容量を拡張することが可能ですが、既存のRAIDアレイにディスクを追加して再構成するには、データを一時的に移動させる必要があります。

用途

RAID 5は、バランスの取れたパフォーマンスと冗長性が必要なサーバーやストレージシステムに適しています。ファイルサーバー、メールサーバー、中小規模のデータベースサーバーなど、ダウンタイムやデータ損失に対するリスクを最小限に抑えつつ、コスト効率の良いストレージソリューションを求める場合に特に有効です。

注意点

  • RAID 5は1台のディスク故障には耐えられますが、復旧中に別のディスクが故障するとデータを失うリスクがあります。そのため、定期的なバックアップと監視が重要です。
  • 大容量のディスクを使用する場合、ディスクの再構築に長時間がかかることがあり、その間に追加の故障が発生するリスクが高まります。
  • 書き込み性能が低下します。

パリティとは

パリティは、データの整合性を確保し、エラーを検出または修正するための情報です。コンピューター科学やデータ通信の分野で広く使用されています。パリティには主に2種類あり、奇数パリティと偶数パリティです。どちらのパリティも、データセット内のビット(1または0)の総数に基づいて、追加のパリティビットを生成することにより機能します。

パリティの仕組み
  • 偶数パリティ: データセット内の1の数が偶数になるようにパリティビットを設定します。例えば、データビットが「1101」の場合、1の数が3つ(奇数)なので、パリティビットを1に設定して1の総数を偶数(4つ)にします。
  • 奇数パリティ: データセット内の1の数が奇数になるようにパリティビットを設定します。先の例で言えば、パリティビットを0に設定して1の総数を奇数(3つ)のままにします。
パリティの利点と使用例
  • エラー検出: 受信データのパリティを検証することで、データ転送中に発生した単一ビットのエラーを検出できます。データとパリティビットの組み合わせが予定されたパリティ(奇数または偶数)に一致しない場合、エラーが発生したと判断されます。
  • エラー訂正: RAIDなどのシステムでは、パリティビットを使ってデータの冗長性を確保し、ディスクの故障が発生しても失われたデータを再構築することができます。これにより、システムの耐障害性が向上します。
注意点
  • パリティビットによるエラー検出は、主に単一ビットのエラーを検出するために設計されています。複数ビットのエラーやより複雑なエラーパターンを検出、訂正するには、より高度なエラー訂正コード(ECC)などが必要になります。
  • パリティは、データの冗長性を提供する方法の一つですが、完全なバックアップや他のデータ保護手法に取って代わるものではありません。データの安全性を確保するためには、パリティ情報を利用したエラー検出・訂正機能に加えて、定期的なバックアップなどの対策が必要です。

パリティは、データの信頼性と整合性を維持するためのシンプルで効果的な手段ですが、その利用はエラーの性質や許容できるリスクレベルに応じて適切に選択されるべきです。

RAID 5+0(RAID50)

RAID 5+0(またはRAID 50)は、RAID 5(分散パリティ)とRAID 0(ストライピング)の特徴を組み合わせた高度なRAID構成です。この方式では、データとパリティ情報を分散して保存するRAID 5のアレイを複数作成し、それらをストライピングすることで、データの冗長性と高速なアクセス速度を同時に実現します。RAID 50は、大容量のデータストレージと高いパフォーマンスが必要な企業のサーバーやストレージシステムに適しています。

RAID50の仕組み

  • 構成: RAID 50を構築するには、最低でも6台のディスクが必要です(通常は3台のディスクで構成される2つのRAID 5アレイをストライピング)。実際には、より多くのディスクで複数のRAID 5アレイを作成し、それらをRAID 0でストライピングすることが一般的です。
  • データとパリティの分散: 各RAID 5アレイでは、データとパリティがディスク群に分散して保存されます。これにより、単一のディスクが故障してもデータを失うことなく、パリティ情報を使ってデータを再構築できます。
  • ストライピング: 作成された複数のRAID 5アレイにわたってデータがストライピングされます。これにより、データアクセス速度が向上します。

RAID50の特徴

  • 高い冗長性とパフォーマンス: RAID 50は、RAID 5の冗長性とRAID 0の高速アクセスを兼ね備えています。これにより、高速な読み書き速度とデータの安全性が要求される用途に適しています。
  • スケーラビリティ: 追加のディスクを使って容量やパフォーマンスを拡張しやすい構造です。
  • データ復旧能力: 単一のディスク、または同一RAID 5セット内の複数のディスクが故障しても、データの復旧が可能です。

用途

RAID 50は、大容量のデータを扱い、高い読み書き速度とデータ保護を必要とする環境に最適です。例えば、大規模なデータベースサーバー、ファイルサーバー、またはビジネスクリティカルなアプリケーションのストレージシステムなどが挙げられます。

注意点

  • コスト: 高度な冗長性とパフォーマンスを実現するためには、多くのディスクが必要となり、コストが高くなりがちです。
  • 書き込み性能が低下、2つ以上のディスクが故障するとデータが失われてしまいます。
  • 複雑さ: RAID 50の構成と管理は、シンプルなRAID構成よりも複雑になります。適切な管理と定期的な監視が必要です。

RAID 50は、大容量のストレージ容量と高いレベルのデータ保護を同時に求める場合の理想的な選択肢の一つですが、その導入と管理には注意が必要です。

RAID6(二重分散パリティ)

RAID 6、または二重分散パリティを用いたRAIDは、RAID 5に似ていますが、さらに1つのパリティブロックを追加することで、より高い冗長性を提供します。RAID 6では、2つの独立したパリティ情報が全ディスクにわたって分散して保存されるため、2台のディスクが同時に故障してもデータを保護することができます。この特性により、RAID 6はデータセンターやエンタープライズレベルのストレージシステムで好まれる選択肢となっています。

仕組み

  • 二重パリティ: RAID 6は、データと共に2つのパリティブロックを用いて、各データブロックの冗長性を確保します。これにより、任意の2台のディスクが故障しても、残りのディスクからデータとパリティ情報を用いて完全なデータセットを再構築することが可能です。
  • パリティの分散: パリティ情報は、RAIDアレイ内の全ディスクに分散して保存されます。これにより、単一のディスクに過度の負荷がかかることなく、冗長性とパフォーマンスのバランスを実現します。

特徴

  • 高い冗長性: 2台のディスクが同時に故障してもデータを安全に保持できるため、高いレベルのデータ保護を提供します。
  • 良好な読み取り性能: 読み取り操作では、複数のディスクから同時にデータを読み込むことができるため、RAID 6は高速な読み取り性能を持ちます。
  • 書き込みパフォーマンスの低下: 2つのパリティ情報を計算し、更新する必要があるため、書き込み性能はRAID 5よりも若干低下します。
  • 容量効率: RAID 6では、使用可能な総ストレージ容量から2台分のディスク容量がパリティ用に割り当てられます。このため、ストレージ容量の効率はRAID 5やRAID 0に比べて低下します。

用途

RAID 6は、高いデータ保護が必要なビジネスクリティカルなアプリケーション、大規模なストレージシステム、またはディスク障害のリスクが高い環境に適しています。大容量データの保管や、データの安全性を最優先するシステムでの利用が推奨されます。

注意点

  • RAID 6の設定には、少なくとも4台のディスクが必要です。
  • 高い冗長性を提供する一方で、書き込みパフォーマンスの低下やストレージ容量の利用効率の問題に留意する必要があります。
  • RAID 6はデータの保護を強化しますが、定期的なバックアップとシステムの監視が重要です。

RAID 6+0(RAID60)

RAID 60(またはRAID 6+0とも呼ばれる)は、RAID 6の二重パリティ機能とRAID 0のストライピング機能を組み合わせた高度なRAID構成です。この構成は、大規模なストレージシステムにおいて高いデータ保護と優れたパフォーマンスを同時に提供することを目的としています。RAID 60は、特に大容量データを扱い、高い可用性とデータの信頼性が求められるエンタープライズレベルのアプリケーションに適しています。

仕組み

  • 二重パリティとストライピングの組み合わせ: RAID 60は、複数のRAID 6アレイを作成し、それらをRAID 0の方式でストライピングします。この構成により、各RAID 6アレイの二重パリティによる高い冗長性と、RAID 0のストライピングによるデータアクセス速度の向上が実現されます。
  • 高い冗長性: RAID 60は、2台のディスクが同時に故障してもデータを安全に保持できるRAID 6の冗長性を維持しつつ、複数のRAID 6アレイを利用することでさらに高いレベルの冗長性と耐障害性を提供します。
  • スケーラビリティ: RAID 60は、大量のディスクを効率的に管理し、大規模なストレージ容量を必要とするシステムに適しています。ディスクの追加やシステムの拡張が容易です。

特徴

  • 高いデータ保護: 各RAID 6アレイが2台のディスク故障に耐えられるため、非常に高いレベルのデータ保護を実現します。
  • 優れたパフォーマンス: ストライピングにより、複数のディスクからの同時データアクセスが可能になるため、読み書きのパフォーマンスが向上します。
  • 大容量ストレージの実現: 大量のディスクを組み合わせて使用することで、非常に大きなストレージ容量を構築できます。

用途

RAID 60は、大規模データベース、クラウドストレージ、ビッグデータ分析など、大量のデータを安全に保管し、高速にアクセスする必要があるビジネスクリティカルなアプリケーションに最適です。また、高い冗長性を求めるデータセンターやエンタープライズ環境での使用に適しています。

注意点

  • コストと複雑さ: RAID 60は、多数のディスクを必要とし、システムの設定と管理が複雑になる可能性があります。また、高いコストがかかることがあります。
  • 容量効率: 使用可能な総ストレージ容量は、パリティ情報の保存に必要なスペースのため、実際のディスク容量よりも少なくなります。

RAID 60は、高度な冗長性とパフォーマンスを同時に実現する強力なストレージソリューションですが、その導入にはコストと管理の観点から慎重な検討が必要です。

ホットスワップ

ホットスワップは、システムの電源を入れたままディスクや他のコンポーネントを交換する技術です。この機能は、サーバーやストレージシステムにおいて特に重要です。仮想化環境では、ホットスワップにより物理ディスクの交換や追加が容易になり、仮想マシンの稼働を中断することなくハードウェアの保守やアップグレードが可能です。これにより、システムのダウンタイムを最小限に抑え、ビジネスの継続性が向上します。例えば、ハードディスクが1つ破損したとしても仮想ディスクを稼働させ続けつつも、壊れたディスクを取り出し、代わりのディスクにすることに対応している媒体もあります。

まとめ

RAID構成の設定は、使用するディスクの数、必要なデータの安全性レベル、システムのパフォーマンス要件に応じて選択されます。RAIDはデータの損失リスクを低減しますが、完全なバックアップソリューションの代わりになるものではありません。重要なデータは、RAIDシステムの外部にも定期的にバックアップすることが推奨されます。

トップへ戻る