サイズの異なるディスクをパーティション分割して信頼性を高めますか?


8

ZFSが同じサイズのすべてのディスクを優先することを理解しています。ただし、サイズの異なる2つのディスク(1 TBと1.5 TB)がある場合、ミラーリングではなく、ある程度の冗長性を確保したいと考えています。したがって、私は2つのディスクを5つのパーティションにチョップします。各パーティションは約500GBで、「raidz」プールを作成します... zfsは喜んで義務付けられています。実際にセットアップすると、信頼性が向上しますか?その考えは、ディスクが完全に破壊されず、その一部のみが故障した場合でも、データにアクセスできるということですか?


5
これは信頼性を追加せず、パフォーマンスを低下させます。
マイケルハンプトン

1
私が受け取ったほとんどの回答/コメントは、理由を説明するのに十分なほど深くは行きませんでした。単純な「ベストプラクティスに反する」または「同等のディスクが常識である」というのは、実際にはあまり意味がありません。明らかに、私が持っているこの奇妙なディスクを考えると、信頼性とパフォーマンスの点で最高の最高のものを探しているわけではありません。私が持っているものを前提にして何ができるかを尋ねています。また、物事が変化します。「Master FreeBSD ZFS」の本では...執筆者は、旧ソラリスの日に、ディスク全体のプロビジョニングが重要であると見なされていましたが、現在はそうではありません。パーティションベースのプロビジョニングも同様に、または推奨されています。
python152

特にパリティベースの冗長性の場合、等しいサイズに対する絶対的な要件はありません(zfsの本でも、異なるベンダーの同じ容量のドライブは最終的に異なるサイズになると言っていました)。パリティビットの分散とパフォーマンスのバランスをとるために、ZFSデータ配置アルゴリズムがそれをどのように処理するかを決定します。
python152

@ python152それは常にあなたがマイナス面に耐えられるかどうかに依存します(ZFSは本当に非常に柔軟で、ベストプラクティスはルールではなく推奨事項です)。たとえば、ダウンタイムを受け入れることができ、パーティション管理に自信がある場合、部分的に障害が発生したディスクを交換することはそれほど重要ではありません。RAID5の書き込みホールにはまだ注意が必要です。RAID5の書き込みホールは、バッキングハードウェアがディスク、パーティション、またはファイルであっても存在します。
user121391

1
@ user121391 ZFS raidzは、RAID5書き込みホールの影響を受けません。blogs.oracle.com/bonwick/entry/raid_zおよびpthree.org/2012/12/05/zfs-administration-part-ii-raidz
nickcrabtreeを

回答:


3

その考えは、ディスクが完全に破壊されず、その一部のみが故障した場合でも、データにアクセスできるということですか?

理論的には、この考えは正しいです。RAIDZ1 vdevの1つのデバイスでエラーが発生する限り、他のデバイスにエラーがないことを前提として、ZFSは通知し、エラーを修正します。

実際には異なる点はいくつかあります。

  • エラーはパーティションにまたがる可能性があるため、2つ以上のデバイスが影響を受け、回復不可能なエラーまたはプール全体の損失(場所とエラーの量によって異なります)が発生する可能性があります。RAIDZ2またはZ3を使用してこれを多少軽減することができますが、問題は常にそこにあります。
  • パーティションを再同期化している間、ディスクは同じディスクに同時に(ランダムに)読み取り(2回)および書き込み(1回)する必要があります。順次再同期化でSolaris 11.3を使用しない限り、これは非常に遅くなります。resilverプロセスが完了するまで、他のパーティションのエラーに対して脆弱です。再同期時間が長くなると、追加のUREに遭遇する可能性が高くなります。また、ドライブに追加の負荷がかかり、ドライブが完全に故障する可能性が高くなります。
  • 3番目のパーティション(1.5TBディスクの最後のパーティション)に十分なエラーが表示され、プールが劣化して交換が必要になると想像してください。別のディスクを追加できない場合、シャットダウン/エクスポートなしでは交換を行うことができず、それでも通常よりも複雑です。

これらの点に基づいて、信頼性を主な目的とする場合は、これを行わないことをお勧めします。固定ハードウェアの状況を想定して、私は次のいずれかを行います。

  1. ミラーを使用して500GBを失うが、将来は簡単に拡張できるシンプルなセットアップ
  2. 2つの別個のプールを使用copies = 2し、小さなエラーに対する回復力が必要な場合(ディスク全体の障害は、設定と比較して2/5または3/5のデータしか殺しません)
  3. ケーキも食べたい場合は、ZFS以外のファイルシステムを使用してください。

5

あなたが説明しているのは少し粘着性があります。

ZFSでは、同じサイズと機能のディスク全体が必要です。これはさまざまな理由で重要ですが、常識にすぎません。

概説した状況であなたがしていることはすべて、環境を複雑にし、リスクを増大させることです。


1
パフォーマンスの低下は言うまでもありません。
マイケルハンプトン

@MichaelHamptonどうですか?

2
@cat ZFSはスピンドルが5つあると考えているため、実際には2つあります。
マイケルハンプトン

4

このようにしましょう:

  • ディスク1に1 TBのデータがある場合、そのデータをディスク2に複製でき、どちらのディスクも失うことができます。

  • ディスク2に1.5 TBのデータがある場合、最初の1 TBのデータのみをディスク1に複製できます。このシナリオでは、ディスク2に障害が発生すると、データが失われます。

ZFSは非常に能力がありますが、一般的なルールとして、上記の2つの点に従って、混合ディスク設定はばかげており、あまり役に立ちません。信頼性と冗長性を重視する場合は、2番目のディスクも1TBであると考えてください。


4
このように「答え」に収まるとは思わないので、コメントにこのビットを入れていますが、ディスクのすべてのスペースを本当に使用したい場合は、1TBのミラーを設定します。次に、最後の500 GBをレプリケートされていない通常のボリュームとして使用し、スクラッチスペースや一時ファイル(ブラウザのダウンロードフォルダーなど)を使用します(古いファイルをそこにキャッシュしておくと便利ですが、実際にはありません)私がそれを失ったら逃してください)。
Benny Mackney、2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.