冗長性のためにZFSミラーは同じドライブにありますか?

冗長性のためにZFSミラーは同じドライブにありますか?

現在、ホームサーバーとして使用しようとしているデバイスには、1TB容量の2.5インチ内蔵ハードドライブベイしかありません。物理データストア(2x 1TB)は外部USB 3.0ポートに接続されています。

外付けドライブは3.5サーバー級で、年中無休24時間サポートされるそうです。内蔵2.5ドライブはデスクトップグレード専用です。

BTRFSを試した後、今は成熟度が高く、ZFSオプションを探しています。

最初のアイデアは、外部ドライブのデータをミラーリングし、オペレーティングシステム(debian 8)を内部ドライブにインストールすることでした。これは簡単ですが、オペレーティングシステムをディスクエラーに対して脆弱にします。

次のアイデアは、外部ミラーから起動し、内部ドライブを使用しないか、一時的、交換、重要でない用途に保つことです。

次のアイデア:単一の内部ドライブとデュアル外部ドライブを使用して3方向ミラーを作成し、ミラーから起動します。すでにドライブがあり、ほとんど費用をかけずにある程度の信頼性と読み取り性能を得ることができるため、この方法は十分に安く見えました。当然、総容量は依然として1TBです。

ただし、この3方向ミラーにはスケーラビリティオプションに関して制限があります。なぜなら、ZFSでは、ミラー内のすべてのドライブが同じサイズでなければならないからです。そのため、アレイを拡張したいときに私が見つけることができる2.5インチドライブのみを使用できます。 2.5インチドライブは最大2TBの容量しか使用できないように見えますが、最大4TBの3.5インチドライブは十分に一般的なようです。さらに、外付けドライブの双方向ミラーのみを使用すると、後で2台の追加ドライブでRAID10を作成して容量を2倍にすることができます。

また、OSとデータを1つのプールに移行することが本当に良いアイデアであるかどうかは少し自信がありません。それにもかかわらず、私の設定で最も信頼性の低いドライブにOSを保護されていないままにしておくことは戦略のようには見えません。

これはやや奇妙な選択肢をもたらしました。オペレーティングシステムのデータを単一の内部ドライブにミラーリングします。つまり、2.5インチ内蔵ハードドライブに2つのパーティションを作成し、それらをミラーに結合します。ドライブが消えず、徐々に故障していると仮定して、ドライブがすぐに故障した場合に早期警告を提供できることを願っています。同時に、外付けドライブはオペレーティングシステムとは別に映画、写真、音楽などを保存することができます。

どのオプションを選択しますか?最後はうまくいくのですか、それとも私の推論は完全に間違っていますか?

ベストアンサー1

ソリューションに加えて、次の情報を追加しますcopies=2

ただし、この3方向ミラーにはスケーラビリティオプションに関して制限があります。なぜなら、ZFSでは、ミラー内のすべてのドライブが同じサイズでなければならないからです。そのため、アレイを拡張したいときに私が見つけることができる2.5インチドライブのみを使用できます。 2.5インチドライブは最大2TBの容量しか使用できないように見えますが、最大4TBの3.5インチドライブは十分に一般的なようです。さらに、外付けドライブの双方向ミラーのみを使用すると、後で2台の追加ドライブでRAID10を作成して容量を2倍にすることができます。

これは100%正確ではありません。

  • ミラーvdevのすべてのデバイスは、そのvdevの最小デバイスよりもサイズが同じか大きい必要があります。 vdevのストレージ容量は、この最小デバイスのサイズとまったく同じです。したがって、3つのディスク1、1.5、2TBの場合、vdevサイズは1TBにすることができます。 1.5TBおよび2TBのディスク(サイズ1.5)しかない場合は、後で小さい1TBのディスクを追加することはできません(ただし、大きなディスクはいつでも追加できます)。
  • ミラーリングは非常に柔軟です。 vdevのすべてのディスクをより大きなサイズにアップグレードする必要があるraidzとは異なり、ミラーリングではいつでもディスクを削除できます。したがって、ミラーにある 1、1.5、2 TB ディスクのたとえば、最初の 2 つのディスクを削除し、新しい 2 TB ディスクを追加します。一部の冗長性が失われますが、プール全体を復元したり、以前と同じ数のディスクを持つ必要はありません。
  • プールレベルを見ると、すべてのvdevサイズとタイプをペアで接続できますが、通常はパフォーマンスと冗長性の理由でお勧めできません。ただし、4 TBディスク1台、3TBディスク3台で構成されるraidz3、2TBディスク2台で構成されるミラーなど、3つのvdevプールを作成して、4+6+2=12TBの使用可能なプールスペースを作成することは完全に可能です。もちろん、4TBディスクに障害が発生すると、他の2つのvdevの冗長レベルに関係なく、すべてのデータが失われるため、お勧めできません。さらに、ZFSはハードウェアRAIDコントローラのように古い既存のデータのバランスを再調整しません。

また、OSとデータを1つのプールに移行することが本当に良いアイデアであるかどうかは少し自信がありません。それにもかかわらず、私の設定で最も信頼性の低いドライブにOSを保護されていないままにしておくことは戦略のようには見えません。

私は4つの異なる解決策を思い出しました(あなたの場合は選択した順序で)。

  1. 必要に応じて、8GB、16GB、または32GBの高品質SLCメモリUSB 3.0スティックを購入し、スティックにオペレーティングシステムをインストールします(OmniOS + napp-itをお勧めしますが、Linuxも利用可能です)。ハードドライブや実際のSSDより少し遅いですが、貴重なスロットを節約できます。内部ピンヘッダを介してスティックへのアクセスを削除することもできます。その後、同じものを購入してブートドライブをミラーリングできます。これにより、手動でイメージバックアップを実行したり、システムをシャットダウンしたり、ホットスワップ可能なSATA / SASコントローラを必要とせずにハードウェアを交換したりできます。
  2. RAMに完全に存在するシステムを使用し、すべての構成とデータをプール自体に保存します。安価なUSBスティックまたはネットワーク(PXE)から起動できます。 SmartOSについて考えましたが、読んでみたいかもしれませんここ
  3. ハードウェアによっては、2.5インチのスリムドライブ2台をスロットに取り付けることができます(一部の変更が必要な場合があります)。高さ7mmの1TBドライブと高さ9mmの2TBドライブがあります。もちろん、SATAポートは2つ必要です。
  4. OSドライバは気にしないでください。 ZFSにはすでにプール自体に興味深いものがほとんどあるため、ミラーがなくても問題はありません。定期的にクリーンアップし(エラーを検出しても修正できません)、クリーンアップにエラーがない場合は、重要なシステムファイルと構成ファイルを(ミラー)データプールのファイルシステムにコピーします。あるいは、ファイルシステムイメージを作成してデータプールに保存することもできます。ディスク障害が発生した場合は、Live CDを使用してデータプールをインポートし、保存されたバックアップを復元します。

おすすめ記事