web-dev-qa-db-ja.com

zfs RAIDZの拡大/縮小

私はfreenasサーバーを構築するつもりです。そのような魔法の高度なzfsで何ができるかを確認したいと思います。

RAIDZに5 * 3TBのディスク(合計12TBのストレージ)がある場合、この既存のアレイにさらに2 * 3TBのディスクを追加しようとしています。

Q:

  1. RAIDZボリューム上の既存のデータに影響を与えたり、触れたりせずにそれを実行できますか?
  2. 既存のディスクを取り除いてどうですか? raidzにデータのごく一部しか存在しないと仮定して、5つのディスクから1つのディスクを削除するとします。
5
c2h2

Ewwhiteが言ったように、プールの縮小は現在ZFSでは不可能です。それを行う必要がある場合は、別のストレージメディア(別のプール、テープ、SANなど)にバックアップして、新しいプールを作成して復元する必要があります。拡張に関しては、ZFS 5x3TB raidzプールを拡張する方法のいくつかのオプションがあります。

  1. 2つのVDEVにまたがるミラーVDEV(ディスクのペア)プールを追加します(12TB raidz&3TBミラー)。
  2. 2つのVDEV(12TB raidzおよび12TB raidz)にまたがるraidz VDEV(3-8ディスク)プールを追加します。
  3. 単一のVDEV(16TB raidz)上の各ディスク(一度に5x3TBから5x4TBのディスク)プールをアップグレードします。

複数のサイズまたはタイプのVDEV(raidz +ミラー)を混在させると、パフォーマンスが最適化されず、冗長性が最も低いVDEV(raidz)の効果的な冗長性が提供されます。家でもピンチでもおそらく気になりませんが、可能であればそれは避けてください。

ただし、現実的にはこのプールはアップグレードしないでください。 RAID-Zに依存してはならず、ミラーまたはRAID-Z2に切り替える必要があります。同じ使用可能容量に到達するために、RAID-Zを超える追加のディスク(RAID-Z2)または2つ(ミラーリング)がかかりますが、企業がRAID5を使用しない理由があります。単一のディスクに障害が発生した場合、ホットスペアの準備ができていても、欠落しているディスクをパリティから再作成するのに永遠にかかります。おそらく24〜48時間以上。このウィンドウで2番目のディスクに障害が発生した場合(残りのディスクをできる限りハードに作業しているため、すべてのディスクからすべてのバイトをできるだけ速く読み取るため、そうなる可能性は低くありません)、すべてが失われます。 RAID-Z2(RAID6と考える)を使用すると、データ損失のリスクなしに2つのディスクに障害が発生する可能性があります。ミラーリングされたVDEVの単純さを考慮してください。ただし、コスト/ GBが(パフォーマンスと拡張性を犠牲にして)主な関心事である場合、ダブルパリティRAID-Z2は本当にはるかに安全です。

とはいえ、一時スペースを見つけてダウンタイムを許容できる場合は、7 TBのディスクを活用するためのいくつかのより最適な方法を次に示します。

  1. 6x3TBミラー+ホットスペア(9TB使用可能、3つのvdev)
  2. 6x3TB raidz2セット+ホットスペア(12TB使用可能、1 vdev)
  3. 7x3TB raidz2セット(15TB使用可能、1 vdev)

最初にraidz経由のミラーリングを選択した場合、最初の5つのディスクは4x3TBミラー+ホットスペア(6TB使用可能、2つのvdevs)を生成し、必要に応じてディスクのペアを追加することができます。また、気になる場合は、書き込みパフォーマンスはプール内のVDEVの数と直接相関しています。

本当に、それはあなたのデータがどれほど価値があるかについてすべてです。すべてが他の場所にバックアップされている場合は、再構築中に2番目のディスクに障害が発生する可能性が5%あることを気にする必要はありません。しかし、ホームサーバー用のZFSを検討しているほとんどの人のように、定期的なバックアップを実行しない(または実行する余裕がない)可能性があり、故障したディスクにすぐに気付かない/交換しない可能性があるという結論に達した場合は、単純なパリティ(RAID-Z)の代わりに、ホットスペアとミラーリング/ RAID-Z2の増分コストを実際に考慮してください。これにより、数年後にデータが残る可能性が高くなります。 ZFSは、ソフトウェアを使用してデータ(チェックサム、パリティ/冗長コピー、スクラブなど)を失うことなく、高価で専用のコントローラーカードを必要とせずに、かなりの時間を費やします。最小限のことは、ZFSに、障害が発生した/障害が発生したディスクから保護する手段を提供することです。これは、必要なディスクの最小数だけではありません。

7
notpeter

ディスクを追加してZFSのRAIDZボリュームを拡張したり、ディスクを削除してRAIDZボリュームを縮小したりすることはできません。

ただし、複数のRAIDZ vdev間でストライプ化できます。個々のディスクをより大きなディスクに交換し、そのようにしてプールを拡張することもできます。

また参照してください: ZFSの紹介ドキュメントはどこにありますか?

2
ewwhite