概要
使用可能な3つの一般的なRAIDタイプがあります。
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に命令するため、LinuxにBIOS RAIDを伝える必要があります。(Intel Matrix / RSTはBIOS RAIDの一種です)。
Hardware RAID
:これは、RAIDに必要なデータを処理することを唯一の目的とする専用チップがある場所です。チップは非常に強力です。一部のハードウェアRAIDコントローラーには、実際にはデュアルコアのCPUのようなチップが搭載されていますが、RAID 5のパリティビットやRAIDのストライピングなど、RAID計算を非常に高速に行う組み込みオペレーティングシステムを実行するように特に最適化されています-0。ハードディスクは物理的にRAIDカードにケーブル接続され、SATA / SASコントローラー、通常はDRAMまたはフラッシュの読み取り/書き込みキャッシュ、ネイティブコマンドキューイング、およびより多くの数学的計算を行うオンボードの中央処理装置を提供します。これらのハードウェアチップは、産業用データセンターRAIDバックプレーンのエントリレベルで150ドルから数千ドルで実行されます。
互換性
一般に、各タイプのRAIDは特定の側面に「結び付けられ」、その側面が変化すると互換性の問題が発生します。
ソフトウェアRAIDは、RAID形式を定義したオペレーティングシステムに関連付けられています。同じオペレーティングシステムの2つの異なるバージョン間で、RAID形式が破損し、非互換性が生じる場合があります。概念的にはソフトウェアRAIDフォーマットを他のオペレーティングシステムでサポートすることは可能ですが、実際にはソフトウェアであるため、ほとんどのオペレーティングシステムは、そのオペレーティングシステムのみが認識できる互換性のないRAIDフォーマットを提供します。ただし、最も広く知られている互換性は、Linuxカーネルがネイティブで使用するRAID形式(md
OPで説明しているように)です。これは、ダイナミックディスクと呼ばれるWindowsのソフトウェアRAIDも認識できます。
BIOS RAIDは、所有するマザーボードに関連付けられています。特定のBIOS RAID形式でフォーマットされたドライブを、同様のBIOS RAIDソリューションを備えた別のマザーボードに移動できる場合があります。たとえば、RSTを使用したIntel RSTから別のシステムへ。しかし、互換性を気にする場合は互換性があることを確認するために、移動する前にこれを注意深く調査する必要があります。
ハードウェアRAIDは、その特定のハードウェアコントローラー、またはメーカーによって互換性があると明示的に示されている一連のハードウェアコントローラーに関連付けられています。一部のベンダーは、多くの世代のコントローラーでサポートされている非常に一貫したハードウェアRAIDディスク形式を維持しています。他のものはより頻繁にフォーマットを変更します。繰り返しますが、ケースバイケースで調査する必要があります。
性能
パフォーマンスは、特定のソリューションではなく、RAIDアレイの基本パラメーターの構成方法に大きく依存します。一般に、ハードウェアRAIDコントローラーは、最高のパフォーマンスを得るために最高の「天井」を備えています。また、他のソリューションと同じくらいCPUに負担をかけません。ただし、ワークロードに間違ったRAIDタイプ、間違ったストライプサイズ、または間違ったキャッシュアプローチを選択した場合、ハードウェアRAIDコントローラーは、非RAIDモードで実行されているドライブの1つよりも非常に遅くなる可能性があります。同じことが他のソリューションにも当てはまりますが、これも非常に遅い場合があります。
ミラーリングは2つのドライブへの同じデータの単純なコピーであり、計算するパリティビットがないため、ソフトウェアRAIDはRAID-1構成に最適です。ソフトウェア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のインスタンスです。md
なしのLinux RAID -e imsm
は、ソフトウェアRAIDのインスタンスです。
RSTeモードの場合、Linux mdまたはBIOSによって処理される実際のRAID I / Oパス(ミラーリングおよびストライピング)です。
データパスを意味する場合、専用のハードウェア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からgrubをHDDにインストールするのは簡単です。
RAIDのディスク(特に、同じ製造元とモデルで、同じ工場で生産され、同じ温度で互いに隣り合って稼働している場合)は、連続してすぐに失敗する可能性があります。そのため、ディスクに障害が発生した場合、ただ単に肩を並べて新しいディスクを挿入し、再構築を開始するだけでは大丈夫ではありません。再構築中に、データの一貫したコピーを含む最後のディスク自体が故障する可能性がかなりあります この時点で最後の残りのディスクに到達すると、専門家に依頼することをお勧めします(または、ハードウェアが得意な場合は自分で行う)、元のディスクからプラッターを削除し、同じメーカー/モデルの新しいディスクを購入します、そこにプラッターを置き、新しいディスクを使用してデータを読み取ります。これは高価で時間がかかりますが、
それで、あなたのために私が答えた5つの質問です。この情報に値が見つかった場合は、回答に適切なマークを付けてください。ありがとう。
mdadm
ので、Linuxは実際に基盤となるディスクを隠しません。第二に、grubとMBRについて:RAIDがディスクではなくパーティションをカバーする場合、基礎となるディスクを見ることができます。MBRはRAIDの下にないため、ディスク障害が発生した場合にブートできるようにするには、ブートローダーを2回インストールする必要があります。これは正しいです?