web-dev-qa-db-ja.com

2枚のディスクでZFS RAIDZ zpoolを起動し、3枚目を追加しますか?

2 TBのHDDが2台あり、最初のZFS zpoolを起動したいとします。それら2つのディスクだけでRAIDZを作成し、2 TBの使用可能なストレージを(私が正しく理解していれば)与えて、後で別の2TB HDDを追加して、合計で4TBの使用可能なストレージにすることは可能ですか?私は正しいですか、それとも最初に3つのHDDが必要ですか?

私が尋ねる理由は、私が使用している2TBドライブがすでに1つあり、それはファイルでいっぱいです。 zpoolに移行したいのですが、可能であれば2TBドライブをあと2台だけ購入したいと思います。私が理解していることから、RAIDZはRAID5と同様に動作します(いくつかの大きな違いはありますが、容量の点では異なります)。ただし、RAID5には3台以上のドライブが必要です。 RAIDZにも同じ要件があるのだろうかと思っていました。

必要に応じて、3台のドライブを購入してそこから始め、後で4台目を追加することもできますが、2台から始めて、3台に移動すると、80ドル節約できます。

13
Doug S.

一部の人々が使用する方法ですが、それはお勧めできません:

  1. 2つのドライブとスパースファイル(適切な、他のドライブと一致する仮想サイズ)を含むプールを作成し、スパースファイルをすぐにオフラインにします。これにより、2台のドライブに相当する容量があり、冗長性がない、劣化したRAID-Z1プールが作成されます。
  2. 縮退したプールにデータをコピーします。
  3. オフラインにしたスパースファイルを3番目のディスクとresilverに置き換えます。

Vdevが作成される「デバイス」の数は、作成後も永続的です。したがって、作成時には3つの「ディスク」が必要です。この方法は、劣化したRAID-Z1プールを作成し、後で存在しない冗長性を復元する方法を提供します。

この方法はお勧めしません。コピー中および3番目のドライブがない間は、冗長性/パリティがないためです。しかし、それは機能します。

13
Holger G

残念ながら、現時点では 不可能

ディスクを列としてRAID-Z、RAID-Z2、またはRAID-Z3vdevに追加することはできません。この機能は、まもなく追加される予定のブロックポインタ書き換え機能に依存します。ただし、新しいRAID-Z vdevを作成して、それをzpoolに追加することはできます。

RAID-Z1は2台のドライブで動作する可能性がありますが、後でドライブを追加できない場合、これは明らかにあまり役に立ちません。 RAID-Z(RAID 5と同様)は、使用可能なストレージスペースの観点から、より多くのドライブが使用されるほど効率的になります。

6
sblair

RAID-Z1は2つのディスクでのみ使用できますが、2つのディスクのセクターサイズが異なるためにミラーリングできない場合(例:新しい4Kセクターディスクと古い512)バイトディスク)。

すでに述べたように、RAID-Zへのデバイスの追加はサポートされていません。既存のRAID-Zにディスクを追加する場合、唯一の方法は、データを別の場所にバックアップし、プールを破棄して、追加のディスクを追加して再作成してから、データを復元することです。

3
jlliagre

コメントするのに十分な「評判」がないので、これを別の答えとして入れてください

RE:ホルガーGの提案

これは安全ではないことに同意しますが、このスレッドは、後で追加のドライブを取得できるときに、RAIDZ1からRAIDZ2に移行する方法を探していました。

したがって、Holgersの提案は私にとってはうまく機能します-1つの開発者をスパースファイルとしてRAIDZ2を作成し、ファイルデバイスをオフラインにして、しばらくの間効果的にRAIDZ1を使用し、ある時点で実際のデバイスを追加して冗長性を2倍にします

OPと同様に、1つのドライブが新しい​​レイドにコピーされるデータを保持している状況でも機能します。

3
Tjunkie

軽くするためのポイント:

  • いつディスクが故障するかを事前に知らなくても1つのディスクが故障する可能性がある場合...なぜ2つが同時に故障できないのですか?または3つまたは4つまたは5つなど?

しかし、この他の状況について考えてみてください。

  1. 1つのディスクに障害が発生しました
  2. あなたは新しいものを置き、それを安全にするために「再構築」させます
  3. そのような「再構築」が行われている間(多分数時間)、別のディスクが失敗します

あなたはすべてを失った!これが、2つのディスクの同時障害を許容する主な理由です。

しかし、(私のように)本当に偏執的である場合は、ストリッピングのみを使用し、他のRAIDレベルは使用しません。

私は怒っていますか?いいえ、もちろん... 1つのディスクに障害が発生して、すべてのデータが失われることはありません。私は本当に妄想的だからといって、何も失うことはありません。

私の妄想的な計画:

  • バスの最大帯域幅(sata III、usb 3.1 gen 2など)に合わせるためのストリッピング(2x、3x、4x ...または10xディスク)を備えたZFS
  • そして他の同様の5つのZFS(電源がないので損傷することはありません)

このようなZFSをすべて使用する方法:

  • 同時に2つだけ(変更を同期するため)... 5つのスレーブを持つマスターのように

妄想的な視点:

  • 1つのZFSが失敗した場合...嵐の光に見舞われたり、燃やされたり、盗まれたりした場合...私はまだ別の場所(銀行、バンカー、インターネットクラウド、友達の家、別荘など)に5つのコピーを持っています

それらのいくつかを同期するには...私は1つのZFSを持ち運び、他の物理的な場所/国などで同期を行う必要があります...したがって、これらのスレーブの1つを使用します。

あるZFSのHDDについて話すとき、別のZFSでは3.1 Gen2 64GiB USBスティックになる可能性があると考えてください!同じサイズ、タイプなどである必要はありません。

本当に偏執的な視点。

それほど妄想的ではなく、すべてを失うことをサポートできるのであれば... RaidZレベルがあります...私は自分で「ミラーリング」することを好みます。

手動の「同期」を行うもう1つの利点は、自分で失敗することです。

  • ZFSシステムに失敗することのない完全な仮説がありますが、ファイルを削除することにしました...削除したいファイルを見逃したことを発見してから数日後、(人為的エラーにより)削除したくないファイルを削除します。 。バックアップがない限り、あなたは運が悪いです

だから...もう一度...バックアップが必要な場合は、ストライピングだけでZFSを最大で高速化してみませんか?...結局のところ、バックアップを実行する必要があります。

答えは次のとおりです。

  • 24時間オンラインシステムのシステムパーティション

データパーティションの場合、使用中のメインZFSに障害が発生するとすぐに外部USB ZFSクローンを接続できるようにするのではなく、RaidZレベルの必要性がわかりません... ZFSメインポイントをアンマウントして、他の適切なZFSを適切にマウントします...次に、別のマシンを使用して、損傷したオフラインZFSを再作成します。

2台のコンピューターを使用している場合、数秒(ブート時間)のダウンタイムで24時間365日対応する必要があります。

写真を安全に保ちたいホームユーザーの場合は、2つ以上のZFSを使用し、少なくとも1つまたは2つを他のユーザーと同時に接続することはありません。妄想?どういたしまして。

それは私が物事が本当にうまくいかないことができる方法を難しい方法を学ぶだけです!

明確にするために...何が起こるか...

  1. 普通にパソコンを使っていた
  2. データが失敗し始めていた
  3. HDDを取り出して大丈夫だったものを置いた
  4. それらのデータも10秒以内に破損しました
  5. 私はすべてのデータを失いました(私は少し妄想的で、DVDメディアにバックアップがあるので完全ではありません)

問題は実際にはディスクではなくコントローラー(メインボードに統合されている)にありました...読み取り/書き込み操作でデータを変更していました。

それ以来...私のデータはもう内部のSATAディスク上にありません...外部のUSB 3.1 Gen 2エンクロージャー上でのみ私はプラグアンドプラグを外すことができます(各ディスクは独自のエンクロージャーにあります)...そして1つが失敗したとき...私はそのPCに接続する前にすべてのものをテストします... RAM、プロセッサ、USBポートなど...パターンをテストするためのダミーのUSBエンクロージャで...それがOKなら...それから私は故障したディスク...別のエンクロージャで動作するかどうか、別のPCで動作するかどうかなど...誰が故障の原因であるかを本当に知るために...本当にひどい、私は知っています!

しかし、経験から学ぶ:

  • ディスクの故障は、ディスク自体が原因であるとは決して信じないでください...テストしてください...コントローラ、ケーブル、電源装置などである可能性があります。
  • または最悪の場合、それはRAMである可能性があります

RAMについて言えば、私はそれほど古くないPC(BIOSベースの64ビットプロセッサ)を持っていたので、(3つの同一のRAMモジュール、A、B、Cと呼んでください):

  • 私はPCにAを入れて完璧に動作します(4つのスロットのどれに関係なく)
  • 私はPCにBを置きました(4つのスロットのどれに関係なく)完璧に機能します
  • 私はPCにCを置くと完璧に動作します(ただし、4つのスロットのうちの1つだけで、他のツリーでは多くの障害、BSODなどが発生します)
  • 私はAとBを置きますそれは多くの失敗、BSODなどを引き起こします
  • 私はPCにA&Cを置きました(4つのスロットのどれに関係なく)完璧に動作します
  • 私はPCにB&Cを配置しました(4つのスロットのどれに関係なく)
  • a&B&CをPCに置くと、多くの失敗、BSODなどが発生します

このようなモジュールを別のPCでテストすると、すべてが非常にうまく機能し、問題も欠陥もありません。

物事は本当に狂う可能性があります...そして、すべての組み合わせをテストしないと、何が失敗しているのかわかりません...はい、4つのスロットで3つのRAMモジュールのすべての組み合わせをテストするのは本当に妄想的です...しかし、私が発見したことは私にさせてくれましたブラインド...失敗した単独モジュールは、別のモジュールが存在する場合は完全に機能しますが、別の2つが存在する場合は機能しません...はい、私も別の3つでテストして失敗しました!

ああ、そうです、すべて同じブランド、種類など...同じです...それらを区別する唯一の方法は、私がそのようにそれらに付けたステッカーです!そして、はい、同時に購入しました、彼らは同じ製造ロックされたプラスチックケースで来ました。

ZFSの失敗はRAMが原因である場合があります...その場合、RaidZのレベルがいくつあっても...すべてを失う可能性があります。

ああ、忘れてしまいそうです... ECCメモリを使用してください。そうしないと、ZFSは信頼できません。また、送信された順序で書き込みを行うように設計されていない限り(または、すべてのHDDを停電で行うように)、内部キャッシュ、内部RAIDなどを備えたHDDを使用しないでください。

突然の電力損失後にすべてのキャッシュをプレートに書き込むのに十分な内部エネルギー容量を持つHDDのみを使用します!

このすべてのポイント/弱点は、1つの結論で私をさせてくれます:

  • 物事をスピードアップし、独自のバックアップを実行する
  • オフラインで電源なしで100%コピーを作成する
  • 電力を受け取り、故障した部品を交換する準備ができている

そのため、2台以上のPCと10台以上のUSB HDD(5台のZFSコピー* 3台のHDDがそれぞれ剥ぎ取られています)...両方の長所を手に入れました...安全性と速度!しかし、私は最悪の部分を取得します...それらすべてを定期的に同期する必要があります...しかし、データの安全性は最も重要な部分です!また、私はそのような同期をあまり待ちたくありません(別名、ストライピングが機能します)。

そして、3 * HDDストライプが失敗した場合...私は数時間/日/週の間そのような3つのうちどれが失敗したかをテストできます...私は別のZFSコピーをオンラインで使用していて...他のことを確認した後2つはOKです。新しいものを購入し(到着までに30〜45日かかる可能性があります)、そのような3 * HDD ZFSを再作成し、データをその上に置いて、5番目のコピーを再度作成します。

安くはない!しかし、もちろん、メインデータセンターの価格としてではありません...そして電気代はありません(ほとんどのHDDには電力がなく、同時に3つまたは6つしかありません)。

誰かがそのアイデアが役に立つと思うことを願っています(私は毎日それを使用しています).

0
Claudio