GNU/Linux >> Linux の 問題 >  >> Linux

ネストされた RAID 6+1+0 を使用するのは良い考えですか?

特定の実装ではなく、スタックの各レイヤーに含まれる概念のみを考慮すると、一部のアプリケーションではこれら 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 に結合することができます。

このようにして、1 つのディスクの損失は常に RAID-1 レイヤーで回復できます。これは、RAID-6 レイヤーでの回復よりもはるかに効率的です。また、5 つのディスクが失われた場合でも、RAID-6 レイヤーが存続することが保証されます。

どちらの場合も、データは 5 台のディスクが失われても存続しますが、復旧の速さには違いがあります。

どちらの場合も、6 つのディスクの損失によりデータが失われる可能性がありますが、このシナリオでは、レイヤーがスワップされた場合よりもリスクがはるかに高くなります。

実装の詳細

使用するレイヤーが多いほど、特定の実装で処理に問題が発生するリスクが高くなります。心に留めておくべき問題の 1 つは、構造のさまざまなブランチ間でホット スペアを共有できるかどうかです。もう 1 つは、サブ RAID の 1 つが失われた場合の自動復旧方法です。たとえば、最下層の RAID-1 の 1 つで両方のディスクを失った場合、2 つのホット スペアから新しい RAID-1 を自動的に作成し、それを次の層のスペアとして使用できますか?


これは RAID の概念の境界を押し広げていると思います。問題が発生するでしょう。PERC コントローラを使用すると、仮想ディスクを別のアレイに追加できますか?それぞれに独自の書き込みおよびキャッシュポリシーはありません。コントローラーのキャッシュサイズはどれくらいですか? とにかく、パフォーマンスが求められているものであれば、Ceph を見たことがありますか? - R730 での動作が認定されていますが、SSD ジャーナル ディスクが必要です - すべての書き込みは SSD に行われ、後でアレイに移動されます。冗長性のために RAID は必要ありません。オブジェクト、ブロック、ファイルのストレージと消去コーディングを提供します。


あなたが念頭に置いているアーキテクチャは、私が考える理由もなく非常に複雑だと思います。基本的に、冗長性のために 48 個のディスク アレイのうち 28 個のディスクを無駄にしています。 RAID6 が発明された理由は、多くの人が RAID1/RAID10 は無駄が多すぎると考えているためですが、RAID6 の上にさらに RAID10 を適用する必要があります。

このすべての冗長性が実際に必要な場合は、ここで RAID10 を完全に使用するか、RAID6 + RAID0 (別名 RAID60) を使用することをお勧めします。

また、RAID6 アレイの適切なサイズは 8 ~ 20 ディスクであり、最も一般的なのは 12 ~ 16 ディスクです。これを超えることは技術的に可能ですが、回復に時間がかかるため、現実的ではありません。


Linux
  1. IPブラックリストとしてUFWを使用する

  2. RAIDディスクのSMARTステータスの報告

  3. Gitオートコンプリート?

  1. Sources.listの編集は良いアイデアですか?

  2. 構成ファイルのバージョン管理に git を使用するのは良い考えですか?

  3. grep と awk の使用

  1. Linux で 2 台のハードディスク (SSD と非 SSD) を使用したパーティショニング

  2. 単一のパスフレーズを使用して、起動時に複数の暗号化ディスクのロックを解除する

  3. authorized_keys の中央の場所は良い考えですか?