概要
利用可能な RAID には 3 つの一般的なタイプがあります:
-
Software RAID
:これは、BIOS および他のオペレーティング システムが、実際には 2 つの別個のディスクがあると認識していることを意味しますが、純粋にソフトウェア レベルでは、オペレーティング システムは OS 固有のオンディスク フォーマット (ミラーリング、ストライピング、パリティ ビットなど) を RAID に使用します。 .すべての処理は、ハードウェア サポートなしで CPU によって行われます。 -
BIOS RAID
:「フェイク RAID」または「ホスト RAID」とも呼ばれます。これは、マザーボードのファームウェア (具体的には、SATA/SAS コントローラー) が RAID デバイスの認識を明示的にサポートしていることを意味します。論理デバイス レベル (lun
)、複数のハード ドライブがオペレーティング システムに対して単一のドライブとして表示されます。これは基本的に SATA/SAS コントローラが「私は実際にはハード ドライブを 1 つしか持っていません。実際には 2 つですが、1 つだけです。信じてください」と言っています。つまり、オペレーティング システムは通知できます これは RAID セットアップですが、オペレーティング システムは *RAID パリティ/ストライピングなどのオンディスク フォーマットについて責任を負いません。ただし、このモードでも、CPU はパリティ ビットとストライピングのすべての計算を行います。マザーボード、BIOS、および SATA コントローラには、デバイスを物理的に「結合」し、RAID のオンディスク フォーマットを定義するのに十分なロジックがあります。しかし、計算を行うための専用プロセッサがなく、オペレーティング システム内のソフトウェアに依存して CPU に計算を実行させるため、BIOS RAID について Linux に通知する必要があります。 (Intel Matrix / RST は BIOS RAID の一種です)。 -
Hardware RAID
:ここには、RAID に必要なデータを処理することだけを目的とした専用チップがあります。チップは非常に強力です。一部のハードウェア RAID コントローラは、実際にはデュアル コアの CPU に似たチップを搭載していますが、RAID 5 のパリティ ビットや RAID のストライピングなど、RAID 計算を非常に高速に実行する組み込みオペレーティング システムを実行するように特別に最適化されています。 -0.ハードディスクは RAID カードに物理的にケーブル接続され、SATA/SAS コントローラ、通常は DRAM またはフラッシュの読み取りおよび書き込みキャッシュ、ネイティブ コマンド キューイング、およびより数学的な計算を行うオンボードの中央プロセッサを提供します。これらのハードウェア チップは、エントリ レベルで 150 ドルから、産業用データセンター RAID バックプレーン用に数千ドルまで使用できます。
互換性
一般に、各タイプの RAID は特定の側面に「結び付けられ」ており、その側面が変化すると、互換性の問題が発生します。
-
ソフトウェア RAID は、RAID フォーマットを定義したオペレーティング システムに関連付けられています。場合によっては、同じオペレーティング システムの 2 つの異なるバージョン間で、RAID フォーマットが壊れて互換性がなくなることがあります。 ソフトウェアであるため、ソフトウェア RAID フォーマットを他のオペレーティング システムでサポートすることは概念的には可能です。 、実際には、ほとんどのオペレーティング システムは、そのオペレーティング システムのみが認識できる互換性のない RAID フォーマットを提示します。ただし、最も広く知られている互換性は、Linux カーネルでネイティブに使用される RAID フォーマットです (
md
OPで議論しているように)、ダイナミックディスクと呼ばれるWindowsのソフトウェアRAIDも認識できます。 -
BIOS RAID は、所有するマザーボードに関連付けられています。特定の BIOS RAID フォーマットでフォーマットされたドライブを、同様の BIOS RAID ソリューションを備えた別のマザーボードに移動できる場合があります。たとえば、Intel RST から RST を使用する別のシステムへ。ただし、互換性を気にする場合は、互換性があることを確認するために、移動する前にこれを注意深く調査する必要があります。
-
ハードウェア RAID は、その特定のハードウェア コントローラー、または互換性があるとメーカーが明示的に述べている一連のハードウェア コントローラーに関連付けられています。一部のベンダーは、多くの世代のコントローラーでサポートされている非常に一貫性のあるハードウェア RAID ディスク フォーマットを維持しています。他の人はより頻繁にフォーマットを変更します。繰り返しますが、ケースバイケースで調査する必要があります。
パフォーマンス
パフォーマンスは方法に大きく依存します RAID アレイの基本的なパラメーターを構成し、特定のソリューションについては構成しません。一般に、ハードウェア RAID コントローラは、最大のパフォーマンスの「上限」が最も高くなります。また、他のソリューションほど CPU に負担をかけません。ただし、ワークロードに不適切な RAID タイプ、不適切なストライプ サイズ、または不適切なキャッシュ アプローチを選択した場合、ハードウェア RAID コントローラーは非常に遅くなり、非 RAID モードで実行されているドライブの 1 つよりも遅くなる可能性があります。他のソリューションについても同じことが言えますが、これも非常に遅くなる可能性があります。
-
ソフトウェア RAID は RAID-1 構成に最も適しています。ミラーリングは同じデータを 2 台のドライブに単純にコピーするものであり、計算するパリティ ビットがないからです。ソフトウェア RAID での RAID-5 はひどいものです。
-
BIOS RAID のパフォーマンスは、一般的にソフトウェア RAID に匹敵しますが、特定の BIOS RAID コントローラおよびディスク フォーマットは、バグがあるかパフォーマンスが低いことが知られています。一般に、ソフトウェア RAID と BIOS RAID のどちらかを選択する必要がある場合、前者の方がパフォーマンスが期待できます。特に 最近の Linux ディストリビューションを実行している場合。
-
ハードウェア RAID のパフォーマンスは、RAID コントローラのプロセッサの処理能力が最適化されているため、非常に高速になる可能性があります。前述のように、これは高スループット向けに設計されており、実際にはマルチコア チップとして提供される可能性があります。主な欠点は、柔軟性が失われることです。ハードウェア RAID コントローラーがなければ、ドライブを別のコンピューターに挿入することはできません。また、費用もかかります。ハードウェア RAID は、特に多数のディスク (4 つ以上) がある場合に、RAID-5 または RAID-6 を使用するのに最適なレベルです。
全体
BIOS RAID はサポートされています Linux での使用はお勧めできません。
長々と答えた後、質問に直接お答えします:
<ブロック引用>RSTe は通常の Linux ソフトウェア RAID と比べて何をもたらしますか?
上記のソフトウェア RAID と BIOS RAID の比較を参照してください。 「RSTe」は BIOS RAID のインスタンスです。 Linux md
-e imsm
のない RAID ソフトウェア RAID のインスタンスです。
RSTe モードの場合、実際の RAID I/O パス (つまり、ミラーリングとストライピング) は Linux md または BIOS によって処理されます。
データ パスを意味する場合、専用のハードウェア RAID カードがない限り、常に CPU (したがってオペレーティング システム) によって処理されます。 考えない これらはどのマザーボードにも搭載されていますが、ハイエンドのサーバー チップセットの中には驚くかもしれません...
<ブロック引用>特に、「マトリックス RAID」 (つまり、RAID がディスク全体ではなく特定のパーティションをカバーする) を使用する場合、両方の MBR に手動で grub をインストールする必要がありますか?
いいえ。実際、両方の MBR に GRUB をインストールする必要はありません。ケースバイケースで考えてみましょう:
-
ソフトウェア RAID:GRUB をインストールするディスクを任意に 1 つ選択し、最初に起動するように BIOS の順序で設定するだけです。必要に応じて個々のパーティションをミラーリングできるため、ソフトウェア RAID ではディスクがビットごとに同一である必要はありません。ブートローダを含む MBR を持つことも、MBR に何も持たないこともできます。
-
BIOS RAID:BIOS は、それが 1 つの「ディスク」であることを通知します (実際にはそれを RAID アレイと呼びます)。したがって、GRUB をインストールする場所を選択することはできません。これに Linux をインストールすると、MBR (ブートローダーを含む) と両方のディスクの他のすべてのセクターが 2 つのディスク間でコピーされます。そのため、ソフトウェア RAID とは異なり、BIOS RAID では、両方のディスクを 2 つの論理デバイスとして分離できないため、両方のディスクがブロックごとに同一である必要があります。ディスク コントローラは 言う それらは 2 つではなく 1 つの論理デバイスです。したがって、「ドライブ 0 にはデータを書きたいが、ドライブ 1 には書きたくない」とだけ言うことはできません。ありえない。しかし、ソフトウェア RAID では完全に可能です。
-
ハードウェア RAID:BIOS は、それが 1 つの「ディスク」であることを通知します。BIOS に関する限り、複数のディスクを扱っていることを特に認識していません。 RAID コントローラは完全に は、オペレーティング システム内である種のカスタム プロトコルを使用して一部のハードウェア RAID コントローラを構成できる範囲を除いて、オペレーティング システムおよび BIOS から RAID のすべての詳細を抽象化します。ただし、BIOS RAID と同様に、デバイスはソフトウェア層から完全に分離できません。
編集: より多くの質問の回答を更新しています
<ブロック引用>私はまだいくつかのことを理解できていません。まず、BIOS RAID について:mdadm を使用して構築できるため、Linux は実際に基盤となるディスクを私から隠しません。
奇妙で説明が難しい。基本的に、円盤は特定の層では 1 つに見え、別の層では 2 つに見えます。しかし、BIOS RAID では、各ディスクが独自の個別のデバイス ノードを持たないことに賭けています。 /dev/sda
および /dev/sdb
.もしそうなら、あなたの BIOS RAID は私が見たものとは異なります.
grub と MBR について:RAID がディスクではなくパーティションをカバーしている場合でも、基盤となるディスクを確認できます。 MBR は RAID の下にないため、ディスク障害が発生した場合に起動できるようにするには、ブートローダーを 2 回インストールする必要があります。これは正しいですか?
痛くない 別のコピーをインストールする必要がありますが、ディスクに障害が発生した場合、起動はほとんど問題になりません。手短に言えば、やりたければやればいいということですが、それは最も重要なことではありません。ライブ CD から HDD に grub をインストールするのは簡単です。
RAID のディスク (特に、製造元とモデルが同じで、同じ工場で製造され、同じ温度で隣接して動作している場合) は、立て続けに次々と故障する可能性があります。したがって、ディスクに障害が発生した場合、肩をすくめて新しいディスクを挿入して再構築を開始するのはおそらく問題があります。再構築中に、データの一貫したコピーを含む最後のディスク自体が障害になる可能性がかなりあります。最後の残りのディスクに到達した時点で、専門家に依頼することをお勧めします (または、ハードウェアが得意な場合は自分で行うことをお勧めします)。元のディスクからプラッターを取り外し、同一のメーカー/モデルの新しいディスクを購入します。 、プラッターをそこに置き、新しいディスクを使用してデータを読み取ります。これは費用と時間がかかりますが、データを保持する最も確実な方法です。
以上が 5 つの質問です。この情報に価値があると思われる場合は、適切に回答をマークしてください。ありがとう。
Allquixotic の回答は長すぎます:
<オール>
ブート サポートとわずかに異なる機能セット。本質的には、データ形式です。 – Intel の RST オプション ROM がなくても使用できます (その場合、特別なブート サポートはありません)。フォーマットが意味するものは mdadm
に書かれています
- RSTe モードの場合、実際の RAID I/O パス (つまり、ミラーリングとストライピング) は Linux MD または BIOS によって処理されます。
Linux md (つまり、カーネル全体) によるものです。
これにより、1 つの疑問が残ります。Intel の RST が一部のチップセットのみに限定されているのはなぜですか?それらは RAID にまったく参加しません。せいぜい、サポートされていないチップセットでの実行を拒否するようオプション ROM に指示するビットを格納するだけです。