ZFS raidz で容量を最大化するための特殊な設定の使用 (異なるサイズのディスクを使用する場合)

ZFS raidz で容量を最大化するための特殊な設定の使用 (異なるサイズのディスクを使用する場合)

私は 2 x 4TB ディスクと 3 x 6TB ディスクを持っており、これらを ZFS で使用したいと考えています。私の目標は、1 つのディスク障害を許容しながら、使用可能なストレージ スペースを最大化することです。

理想的には、raidz セットアップを使用しますが、私の調査によると、ドライブのサイズが異なると、大きいドライブが十分に活用されないことがあります。つまり、6TB のうち 4TB のみが大きなドライブで使用されます。

以下をストライプ化 (RAID 0) することは可能ですか?

  • ミラー(RAID 1)構成の 4TB 2 台
  • raidz (raid 5) 構成の 6TB ディスク 3 台

あるいは、2 つの 4TB をストライプ化し、そのストライプを 6TB ドライブを使用した raidz 構成で使用することはできますか? つまり、次のようになります。

  • 2つの4TBドライブをストライプする
  • 3 x 6TBとストライプ4TBディスクをRaidzする

答え1

世の中のあらゆる善きものへの愛のために、この設定は使用しないでくださいデータがより重要な状況では/dev/null、それは単にあなたがどのようにできたそしてすべきだないやれ。

このトポロジでは、おそらくデータが失われます。また、結合された順次操作がランダム IO に変わるため、パフォーマンスも低下します。

行うことは次のとおりです。

各ドライブは 2TB のセグメントに分割され、4TB ドライブは 2 つのパーティションに分割され、6TB ドライブは 3 つのパーティションに分割されます。はい、ZFS は ZPool の一部としてパーティションを受け入れます。これは機能しますが、推奨されません。

そこから、13 個のパーティションすべてにわたって RAIDZ3 トリプル パリティを設定します。これにより、3 つの「ディスク」(つまり 1 つの 6TB ディスク) が失われても問題なく動作を継続できるため、単一ディスクの復元力が提供されます。

この設定では20TBのZPoolができます。技術的に物理ディスク障害に耐えられる能力を備えた、最も効率的な方法です。前にも言ったように、計算が正しいからといって、するないやれ

ディスクを交換する場合は、障害が発生したディスクと同一のパーティション テーブルを作成する必要があることに注意してください。そのため、パーティション コマンドを安全な状態に保ち、同じセクター サイズのディスクを使用してください。

答え2

ZFS ではサイズが不均一なディスクを使用しないでください。

どうしても避けられない場合は、意思ディスク サイズの不一致により、ある程度のスペースが無駄になります。また、容量がまだいっぱいになっていないシステム向けに設計するべきではないでしょうか。

いいえ、異なる構成の vdev を信頼性の高い方法でストライプ化することはできません。

関連情報