質問: intel matrix storage managerとlinuxソフトウェアraid 私が使用しているチップセットはintel rsteテクノロジーをサポートしています。つまり、raidセットアップには2つのオプションがあります。 mdadmコマンドを使用した通常のlinuxソフトウェアraid。 rste(bios、またはmdadmコマンドと-e imsmスイッチ)。 mdadmは両方に使用できるため、2つの違いを理解できません。 通常のlinuxソフトウェアraidと比較して、rsteは私に何を与えますか? rsteモードの場合は、linux mdまたはbiosによって処理される実際のraid i/oパス(つまり、ミラーリングとストライピング)です。 特に、「マトリックスraid」を使用する場合(つまり、raidはディスク全体ではなく特定のパーティションをカバーする場合)、両方のmbrに手動でgrubをインストールする必要がありますか?
回答: 概観利用可能なraidには3つの一般的なタイプがあります。 software raid:これは、biosおよび他のオペレーティングシステムが実際には2つの個別のディスクを持っていると考えていることを意味しますが、純粋にソフトウェアレベルでは、オペレーティングシステムはraidにos固有のオンディスクフォーマットを使用します(ミラーリング、ストライピング、パリティビットなど)。すべての処理は、ハードウェアサポートなしでcpuによって行われます。 bios raid:「fake raid」または「host raid」とも呼ばれます。これは、マザーボードのファームウェア(具体的には、sata/sasコントローラ)がraidデバイスの認識を明示的にサポートしていることを意味します。論理デバイスレベル(lun)では、複数のハードドライブがオペレーティングシステムに対して単一のドライブとして表示されます。これは基本的にsata/sasコントローラで、「ハードドライブは1つだけです。実際には2つですが、1つだけです。信頼してください」と言っています。つまり、オペレーティングシステムはraidセットアップであることを伝えることができますが、オペレーティングシステムはraidパリティのディスク上のフォーマットには責任を負いません/ striping/etc。ただし、このモードでも、cpuはパリティビットとストライピングのすべての計算を行います。マザーボード、bios、およびsataコントローラーには、デバイスを物理的に「結合」し、raidのディスク上のフォーマットを定義するのに十分なロジックがあります。ただし、計算を行うための専用プロセッサーがなく、オペレーティングシステム内のソフトウェアに依存してcpuに計算を指示するため、linuxにbios raidを通知する必要があります。 (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形式(opで説明しているようにmd)であり、ダイナミックディスクと呼ばれる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でサポートされていますが、それを使用することはお勧めできません。長い間答えてきた後、質問に直接答えます。 通常のlinuxソフトウェアraidと比較して、rsteは私に何を与えますか? 上記のソフトウェアraidとbios raidの比較をご覧ください。 「rste」はbios raidのインスタンスです。 linux md -e imsmのないraidは、ソフトウェアraidのインスタンスです。 rsteモードの場合、は、linux mdまたはbiosによって処理される実際のraid i/oパス(つまり、ミラーリングとストライピング)です。 データパスを意味する場合は、専用のハードウェアraidカードがない限り、常にcpu(つまりオペレーティングシステム)によって処理されます。私は考えませんこれらはすべてのマザーボードに付属していますが、いくつかのハイエンドサーバーチップセットは私を驚かせるかもしれません... 特に、「マトリックスraid」を使用する場合(つまり、raidはディスク全体ではなく特定のパーティションをカバーする場合)、両方のmbrに手動でgrubをインストールする必要がありますか? いいえ。実際、grub=を両方のmbrにインストールする必要はありません。ケースバイケースで見てみましょう。 ソフトウェアraid:インストールするディスクを任意に1つ選択してgrub onにし、biosの順序で設定して、最初に起動するようにします。必要に応じて、個々のパーティションをミラーリングして、ディスクがソフトウェアraidで少しずつ同じである必要はありません。1つはブートローダーを備えたmbrを持つことができ、もう1つは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つの質問です。この情報に価値がある場合は、回答に適切なマークを付けてください。ありがとう。