長い間、私はいくつかのサーバーでRAID10に切り替えることを考えていました。 Ubuntu 10.04 LTSが稼働しているので、アップグレードの時間です。私が使用しているサーバーはHPProliant ML115(非常に良い値)です。内部3.5インチスロットが4つあります。現在、システム用に1つのドライブを使用し、残りの3つのディスク用にRAID5アレイ(ソフトウェア)を使用しています。
問題は、これによりブートドライブに単一障害点が作成されることです。したがって、RAID10アレイに切り替えたいと思います。これにより、I/Oパフォーマンスと信頼性の両方が向上します。問題は、good RAID10をサポートするコントローラーカード(3Wareなど)のコストがサーバー自体とほぼ同じであるということだけです。さらに、ソフトウェア-RAID10はGrubではうまく機能しないようです。
あなたのアドバイスは何ですか? RAID5を実行し続ける必要がありますか?誰かが起動の問題なしにソフトウェアRAID10を正常にインストールすることができましたか?
この場合、シングル+ RAID5の配置によって提供される追加のスペースが必要でない限り、RAID10を選択する傾向があります。同じ保証された冗長性(1つのドライブに障害が発生し、アレイが存続する可能性があります)と、最悪の場合(RAID10は6つの「2つのドライブが同時に障害が発生した」シナリオのうち4つに耐えることができます)でわずかに優れた冗長性が得られ、書き込みがありませんRAID5でよく発生するペナルティ。
従来のネストされたアレイ(RAID0に2つのRAID1)として実装されているか、Linuxの最近のオールインワンRAID10ドライバーをLILOとGRUB expect RAID0または10(またはソフトウェアRAID5)ではない可能性のある1つのドライブで起動するために必要なすべての情報を取得するには、ブートローダーが1つのドライブのみを認識し、コントローラーが実際のデータの場所を処理するため、ハードウェアで機能しますドライブ間で拡散)。
これを回避する簡単な方法があります:小さなパーティションがあるだけです(128MBで十分です-いくつかのカーネルイメージのためのスペースが必要であり、各ドライブの先頭にある関連するinitrdファイル)を作成し、これらを/boot
としてマウントされるRAID1アレイとしてセットアップします。ブートローダーが各ドライブに正しくインストールされていることを確認する必要があります。すべてが正常に機能します(カーネルとinitrdがロードされると、メインアレイの検索と適切な処理に対応します)。
ソフトウェアRAID10ドライバーには、ブロックレイアウトを微調整するためのいくつかのオプションがあり、I/O負荷パターンに応じてパフォーマンスをさらに向上させることができます(いくつかの簡単なベンチマークについては ここ を参照)。まだインストールからRAID10のこれをサポートするディストリビューション(より伝統的なネストされた配置のみ)。 RAID10ドライバーを試したいが、ディストリビューションがインストール時にそれをサポートしていない場合は、上記の/ bootで説明したようにベースシステム全体をRAID1アレイにインストールし、残りのディスクスペースでRAID10アレイを構築できます。一度起動すると。
最大4台のドライブ、またはマザーボードに接続できるSATAドライブの数に応じて、多くの場合、HWRAIDよりもマザーボードのSATAコネクタとLinuxMDソフトウェアRAIDを使用する方が適切です。一つには、オンボードSATA接続は、約20 Gbit/sの速度でサウスブリッジに直接接続されます。多くのHWコントローラーは低速です。そして、Linux MD RAIDソフトウェアは、多くの場合、HW RAIDよりも高速で、はるかに柔軟性があり、用途が広いです。たとえば、Linux MD RAID10-farレイアウトでは、ほぼRAID0の読み取り速度が得られます。また、Linux MD RAIDを使用すると、さまざまなRAIDタイプの複数のパーティションを作成できます。たとえば、RAID1を使用する/ boot、次に/ rootと他のパーティションをraid10に配置できます。速度ははるかに、スペースはRAID5です。さらなる議論はコストです-追加のRAIDコントローラーを購入することは、多くの場合、オンボードSATA接続を使用するよりもコストがかかります;-)
RAIDで/ bootを使用したセットアップは、 https://raid.wiki.kernel.org/index.php/Preventing_against_a_failing_disk にあります。
Linux RAIDの詳細については、Linux RAIDカーネルグループのwiki( https://raid.wiki.kernel.org/ )を参照してください。
さて、あなたはほとんどあなた自身の質問に答えました。
これは、RAID10を使用できないことを意味します。
すべてのディスクでRAID5を使用するのはどうですか?これは私にはハイエンド(またはトラフィック)サーバーのようには聞こえないので、パフォーマンスの低下はおそらくそれほど難しくはありません。
編集:私は少しグーグルで検索しましたが、GrubはソフトウェアRAIDを読み取れないようです。起動するすべてのディスク(RAID5の場合:すべてのディスク)にブートローダーが必要です。これは私には非常に不器用に思えますが、ebayから中古のraid5カードを購入することを検討しましたか?