現在、500 GBのディスクが24台あり、Dell Power EdgeR730サーバーを使用してより大きなネストされたRAIDを作成したいと思います。RAID6の4倍と500GBの6倍があり、その上にRAID1とRAID0を追加します。全体的にトップ。
私の質問は:これは安全ですか?これほど大きな配列を作成する価値はありますか?
驚異的なスピードになることはわかっていますが、メンテナンスとフェイルオーバーにはコストがかかります。
これはRAIDコンセプトの限界を押し広げていると思いますが、問題が発生します。PERCコントローラーを使用すると、仮想ディスクを別のアレイに追加できますか?それぞれに独自の書き込みおよびキャッシュポリシーがありません。コントローラーのキャッシュサイズはどのくらいですか?とにかく、パフォーマンスがその後の状態である場合は、Cephを確認しましたか? -R730での実行が認定されていますが、SSDジャーナルディスクが必要です-すべての書き込みはSSDで行われ、後でアレイに移動されます。冗長性のためにRAIDを必要とせず、オブジェクト、ブロック、ファイルのストレージとイレイジャーコーディングを提供します
特定の実装ではなく、スタックの各レイヤーに関連する概念のみを考慮すると、一部のアプリケーションでは、これら3つのRAIDモードすべてをレイヤー化することが理にかなっています。
ただし、描かれている図のレイアウトには重大な欠陥があります。レイヤーを間違って注文しました。最適なパフォーマンスと信頼性を得るには、RAID-1層とRAID-6層の順序を入れ替える必要があります。
通常、RAID-6は2つのディスクの損失を許容するように構成されています。したがって、3つのディスクを失うと、RAID-6が失敗することが予想されます。つまり、最悪の場合、48個のディスクのうち3個が失われると、RAID-6コンポーネントの1つに障害が発生します。
あなたのデータはその事件を乗り切るでしょう、しかしあなたは9つの良いディスクと3つの新しいディスクから新しいRAID-6を作成しなければならないでしょう。それが完了したら、新しく作成したRAID-6を同期するだけでなく、RAID-1レイヤーを他のRAID-6から現在同期しているRAID-6に複製する必要があります。これは本当にI/Oが多い操作です。
したがって、3つのディスクが失われた場合は、回復するために管理者の注意が必要であり、I/Oが重くなります。
代わりに、最初にRAID-1を使用して24個のディスクを12ペアにグループ化し、次にそれらの12個のRAID-1をRAID-6に結合することができます。
このようにして、単一のディスクの損失をRAID-1層で常に回復できます。これは、RAID-6層での回復よりもはるかに効率的です。また、5つのディスクが失われた場合でも、RAID-6レイヤーが存続することが保証されます。
どちらの場合も、データは5つのディスクが失われた後も存続しますが、回復の速度には違いがあります。
どちらの場合も、6つのディスクが失われるためにデータが失われる可能性がありますが、描かれているシナリオでは、レイヤーが入れ替わっている場合よりもリスクがはるかに高くなります。
実装の詳細
使用するレイヤーが多いほど、特定の実装で処理に問題がある場合に遭遇するリスクが高くなります。覚えておくべき1つの質問は、ホットスペアを構造のさまざまなブランチ間で共有できるかどうかです。もう1つは、サブRAIDの1つが失われた場合の自動回復です。たとえば、最下層のRAID-1の1つで両方のディスクを失った場合、2つのホットスペアから新しいRAID-1を自動的に作成し、それを次の層のスペアとして使用できますか?
あなたが考えているアーキテクチャは、私が考えることができる理由もなく、過度に複雑だと思います。基本的に、冗長性のために48台のディスクアレイのうち28台のディスクを無駄にしています。 RAID6が発明された理由は、多くの人がRAID1/RAID10は無駄すぎると考えているためですが、RAID6の上にRAID10をさらに適用することになります。
この冗長性が本当に必要な場合は、ここでRAID10をすべて使用するか、RAID6 + RAID0(別名RAID60)を使用することをお勧めします。
また、RAID6アレイの適切なサイズは8〜20ディスクであり、12〜16が最も一般的であり、技術的には可能ですが、回復時間が非常に長いため実用的ではないことに注意してください。