web-dev-qa-db-ja.com

異なるサイズのディスクでのZFSプールサイズのアップグレード

現在、古いデスクトップをメディアサーバーとして使用しているセットアップがありますが、フォールトトレランスがなく、メディアの量が多すぎて、すべてを合理的にバックアップできません。私はひどくドライブが故障した場合にそれを失うことを心配していません。それは映画やテレビ番組などだけなので(その多くはまだDVDを持っていて、どこかに詰め込まれています)。現在、システムをアップグレードしています。ここにフォールトトレランスを追加したいと思います。

現在、私は1TB、2TB、3TBのドライブを持っており、おそらく約5.5TBが使用されています。さらに、4TBドライブを2台購入し、4TB x 4TB x 3TBRAIDZアレイをセットアップする予定です。

私の質問は次のとおりです。

  1. 私の理解では、このような異種ディスクアレイの場合、プールサイズは最小ディスクのサイズに制限されます。つまり、3 x 3 x 3 TB6TBの使用可能スペースと2TBの非フォールトトレラントスペースを備えたRAIDZ-これは本当ですか?*
  2. #1が当てはまると仮定すると、最終的にさらにスペースが必要になったときに、アレイに4TBまたは6TBのドライブを1つ追加すると、プールを拡張して4 x 4 x4にするのは簡単ですTBアレイ、またはアレイのアップグレード中に6TBのデータを隠しておく場所を見つける必要がありますか?

* 2TBのフォールトトレラントでないスペースはそれほど大きな問題ではありません。「適切なバックアップが必要なもの」(個人の写真、コンピューターのスナップショットなど)用に約2TBを確保することを計画していたため、残りの2TBディスクと2番目の2TB外付けドライブを別の場所に保管します。

2
Paul

現在、私は1TB、2TB、3TBのドライブを持っており、おそらく約5.5TBが使用されています。さらに、4TBドライブを2台購入し、4TB x 4TB x 3TBRAIDZアレイをセットアップする予定です。

4台のTBドライブの場合、単一の冗長RAIDZを検討するべきではありません。1台のドライブが何らかの理由で故障したり問題が発生した場合に備えて追加の保護を提供するRAIDZ2をお勧めします。

コンシューマードライブは通常、10 ^ 14ビットの読み取りごとに1つの障害セクターのUREレートに指定されていることに注意してください。 1 TB(ハードディスクドライブメーカーのテラバイト、つまり)は10 ^ 12バイトまたは10 ^ 13ビットに近い、わずかな変更を与えるか、または取る。アレイの完全な読み取りパス統計的に問題が発生する可能性が高いことを念頭に置いており、実際には、読み取りの問題はバッチで発生する傾向があります。

なぜRAIDZ2を提案しているのかわかりません。 RAIDを使用しない場合よりもRAIDZ1を使用する場合に、2つのドライブ障害が同時に発生する可能性が高くなりますか?システムのフォールトトレランスを改善したい。回復不能なものは1か所にしか存在しないため、RAIDアレイは利便性の問題です。

RAIDZ1は単一のディスクを使用してvdevに冗長性を提供しますが、RAIDZ2は2つを使用します(さらに複雑な計算もありますが、RAIDZの計算によってスループットが制限される可能性はほとんどありません)。 2番目の冗長ディスクの利点は、最初のディスクに障害が発生した場合、またはその他の方法で使用できなくなった場合です。 1つのディスクに相当する冗長性があるため、追加のエラーは重大です。 4 + 4 + 3 TBの場合、11 TBのrawストレージがあり、最初は6 TBで、失われたディスクを再構築するために読み取る必要がある場合があります( 8 TB一度アップグレードすると3 TBドライブを4 TB 1にアップグレードし、それに合わせてプールを拡張します)。マグニチュードの見積もり。10^ 13〜10 ^ 14ビットのどこかにうまく丸められます。統計的には、回復不能な読み取りエラーが発生する確率は50%から100%のようになります。 resilvering中に、そのオーダーのサイズのアレイで単一の冗長性を使用する場合確かに、運が良かったかもしれませんが、突然、ドライブ障害の場合の保護なし

私の理解では、このような異種ディスクアレイの場合、プールサイズは最小のディスクのサイズに制限されます。つまり、3 x 3 x 3 TB 6TBの使用可能スペースと2TBの非フォールトトレラントスペースを備えたRAIDZ-これは本当ですか?

ほとんど。 ZFSはvdevを最小の構成デバイスのサイズに制限するため、3つのTBデバイスで構成される3デバイスのRAIDZvdevの実効容量が得られるため、6 TB(メタデータの提供または取得)。残りの2 TBのrawストレージスペースは無駄になります。冗長性がなくても使用できません。( zpool listEXPANDSZ列に表示されますが、使用されていません。)

3 TBドライブを4 TBドライブに置き換え、vdev(どちらもZFSでのオンライン操作)を展開すると、プールは追加のストレージスペース。

これを回避する方法はあります-たとえば、ドライブをパーティション分割して、3つの3 TBデバイスと2つのデバイスを表示できます1 TB(2つの4 TBドライブの残り)デバイスをZFSに接続します-しかし、セットアップが非常に複雑になり、あなたのように機能する可能性は低くなります計画。私はそれに対して強くお勧めします。

2 TBの非フォールトトレラントスペースは、ZFSによってオフラインディスクにバックアップされません。それが明確でない場合は申し訳ありません。通常のディスク同期でバックアップすることを提案していました。 rsyncのような操作。

これは、ZFSがこれらの2 x 1TBを認識しておらず、スペース内に他のファイルシステムを作成していることを意味します。はい、それは可能ですが、繰り返しになりますが、ほとんど利益がないように見えるものについては、セットアップが非常に複雑になります。

#1が真であると仮定すると、最終的にさらに多くのスペースが必要になったときに、アレイに4TBまたは6TBのドライブを1つ追加すると、プールを拡張して4 x 4 x 4 TBアレイ、またはアレイのアップグレード中に6TBのデータを隠しておく場所を見つける必要がありますか?

上で述べたように、ZFS vdevとプールは、デバイスを徐々に交換することで実行すれば、オンライン操作として拡張できます。 (ただし、ZFSプールまたはvdevを縮小することはできません。)ただし、既存のvdevにデバイスを追加することはできません(作成を想定している3デバイスのRAIDZvdevとして);まったく新しいvdevをプールに追加する必要があります。その後、書き込まれるデータは、プール内の2つのvdev間でストライピングされます。各vdevには独自の冗長性要件がありますが、ホットスペアを共有できます。また、ミラーの場合を除いて、vdevからデバイスを削除することはできません(デバイスを削除すると、その特定のミラーvdevの冗長性レベルが低下するだけで、ユーザーがアクセスできるストレージスペースの量には影響しません)。vdevを削除することはできません。プールから。後者を実行する唯一の方法(および結果として、プール構成の問題を修正する唯一の方法)は、プールを再作成し、おそらくバックアップを介して古いプールから新しいプールにデータを転送することです。

2TBの非フォールトトレラントスペースはそれほど大きな問題ではありません。「適切なバックアップが必要なもの」(個人の写真、コンピューターのスナップショットなど)用に約2TBを確保することを計画していたため、残りの部分にミラーリングします。 2TBディスクと2番目の2TB外付けドライブ。これは別の場所に保管します。

ZFSの冗長性は、ほとんどオフラインのオフサイトバックアップドライブのユースケース向けに実際には設計されていません。これについては 1つのドライブを備えたZFSミラーはほとんどオフラインで機能しますか? で詳しく説明しますが、zfs send/zfs receiveを使用する方がよいということです。 ZFSファイルシステムの内容(スナップショットやその他の周辺機器を含む)をコピーする場合、またはスナップショットを気にしない場合はプレーンなrsyncをコピーする場合は、ほとんどオフラインのセットアップでミラーを使用します。

フォールトトレランスのためにディスクの半分を使用している場合は、従来のオフラインバックアップを使用することもできます。

これは確かにあなたの状況に大きく依存します。さまざまな状況で要件を回復するまでの時間はどのくらいですか? RAIDは、データの保護ではなく、稼働時間とリカバリまでの時間に関するものです。 とにかくバックアップが必要です

3
a CVn

私の理解では、このような異種ディスクアレイの場合、プールサイズは最小のディスクのサイズに制限されます。つまり、3 x 3 x 3 TB 6TBの使用可能スペースと2TBの非フォールトトレラントスペースを備えたRAIDZ-これは本当ですか?*

はい。

#1が真であると仮定すると、最終的にさらに多くのスペースが必要になったときに、アレイに4TBまたは6TBのドライブを1つ追加すると、プールを拡張して4 x 4 x 4 TBアレイ、またはアレイのアップグレード中に6TBのデータを隠しておく場所を見つける必要がありますか?

はい、これは可能です。

Z1/Z2/Z3 vdev内のすべてのディスクを1つずつ置き換えることができます。容量は、vdevで現在使用されている最小のディスクと同じになります(プロパティautoexpandonに設定して、代わりにこれを自動的に行うこともできます。手動で)。

一方、プールを完全に破棄して再作成する(プロセスですべてのデータを失う)ことなく、既存のZ1/Z2/Z3 vdevにドライブを(置き換える代わりに)追加することはできません。ミラーと基本的なvdevでは、ドライブを追加して2ミラー、3ミラー、4ミラーなどを作成できますが、これは信頼性を向上させるだけで、使用可能なサイズは向上しません。

1
user121391