サーバーが主にストレージアプライアンスとして使われ、所有者がミラー、スクラブ、スナップショット、レプリケーションを緊密に統合したワークフローを求める場合、ZFSは通常、より有力な第一候補です。サーバーが汎用Linuxマシンで、ネイティブサブボリューム、柔軟なデバイス変更、ディストリビューションとの統合をより重視する場合は、Btrfsのほうが扱いやすいことが多いでしょう。
どちらもデータのチェックサムとコピーオンライトスナップショットに対応していますが、2台構成のホームサーバーでは運用上のトレードオフが異なります。決め手は、どちらの機能一覧が長いかではなく、ディスクまたはホストの障害後に、どの復旧手順をテストし、文書化し、繰り返し実行できるかです。
共通する2台構成の前提から始める
容量が同じ2台のドライブを使い、データを両方にミラーリングし、別の起動デバイスと独立したバックアップを用意するものとします。これにより、ZFSミラーと安全性のないBtrfsデータプロファイルを比較するような誤解を招く状況を避けられます。
どちらのシステムでも、データとメタデータのチェックサムを有効にし、スクラブをスケジュールし、エラーを監視してください。スナップショットは一部の論理的な変更から保護しますが、同じプール上に残るため、2つ目のコピーの代わりにはなりません。
選択する前に、オペレーティングシステムと管理レイヤーが、目的のファイルシステムと交換ワークフローを実際にサポートしていることを確認してください。理論上魅力的な機能でも、選択したNASインターフェースから安全に利用・復旧できなければ、判断材料としての価値はありません。
選択を左右する運用上の違いを比較する
| 判断軸 | ZFSミラー | Btrfs RAID1プロファイル |
|---|---|---|
| ストレージモデル | プール、vdev、ファイルシステム、スナップショットを統合 | サブボリュームとマルチデバイスプロファイルを備えたLinuxファイルシステム |
| メモリの動作 | ARCは使用可能なRAMを積極的に利用するが、制限可能 | 一般的なLinuxのページキャッシュ動作に適合 |
| デバイスの柔軟性 | vdevの構成と拡張を計画的に行う必要がある | デバイスの追加・削除とバランス調整に柔軟性がある |
| レプリケーション | 成熟したスナップショットの送受信ワークフロー | サブボリュームの送受信がLinuxネイティブのワークフローに適合 |
| 復旧の考え方 | 強力なツールがあるが、プールの概念を理解する必要がある | 強力なツールがあるが、プロファイルとバランス状態には注意が必要 |
Btrfsでは、オンラインバランス、スクラブ、デバイス管理、デフラグがそれぞれ独立した機能として提供されます。このBtrfsの機能と復旧の概要は、これらの個別の操作を把握するための便利なガイドであり、すべてを1つの一般的な「最適化」タスクにまとめる理由ではありません。
ZFSはより明確な方針を持つように感じられるかもしれませんが、サーバーの主な役割がデータの保全である場合には、それが利点になります。Btrfsは汎用Linuxシステムとの統合性が高く感じられることがあり、スナップショットやサブボリュームをオペレーティングシステムのワークフローでも利用する場合に有利です。
拡張性とアプリケーションで最終判断する
拡張が、計画したタイミングで両方のドライブをより大容量のものに交換することを意味するなら、どちらの選択肢でも対応できます。異なる容量のデバイスを頻繁に混在させたり、個々のディスクを追加・削除したりする場合は、導入を決める前に、実際にサポートされている手順を確認してください。
コンテナ、VM、データベースでは、コピーオンライトの動作が役立つ場所と、アプリケーション固有の調整が必要な場所を判断してください。1つのワークロードの症状を修正するために、保護機能を全体で無効にしないでください。
ファイル共有プロトコルの選択とファイルシステムの選択は別の問題です。ZimaSpaceによる家庭でのSMBとNFSの比較を参照すると、クライアント互換性によってストレージの判断が歪むのを防げます。
機能一覧ではなく復旧訓練で選ぶ
サーバーを計画的なストレージアプライアンスのように動作させたい、十分なRAMを用意できる、そしてプールのインポート、ディスク交換、スクラブ、スナップショット、レプリケーションの手順を学ぶ意思があるなら、ZFSを選んでください。
Linuxネイティブの管理、サブボリューム構成、柔軟なデバイス管理がシステム全体と合致し、障害状態でのデータおよびメタデータのプロファイルを理解する準備ができているなら、Btrfsを選んでください。
独立したバックアップと、テスト済みの復元手順を用意するまでは、ミラーとしてどちらも選ばないでください。最適な第一候補のファイルシステムとは、ディスク障害とホスト障害からの復旧を、その場しのぎで対応せず完了できるものです。
よくある質問
2台のミラー構成で、誤って削除したデータを保護できますか? いいえ。削除もミラーリングされます。短期間のロールバックにはスナップショットを、独立した復旧にはバックアップを使用してください。
ZFSにはECCメモリが必須ですか? ECCはメモリエラーに対する保護を強化しますが、購入の判断では、1つのコンポーネントを保証とみなすのではなく、プラットフォーム全体、バックアップ設計、リスクレベルを考慮すべきです。
製品比較
もっと読む

アプリのアップデートとロールバックにおけるProxmox上のLXCとDockerの比較
Dockerはアプリレベルのバージョン管理を提供し、LXCはゲストレベルのロールバックを可能にします。より適した方は、安全に復元できる最小の状態単位に応じて決まります。

特権ホームサービスにおけるDockerとLXCのセキュリティ境界
Dockerは用途を絞ってパッケージ化されたアプリに適しており、LXCはより完全なLinuxサービスに適していますが、共有カーネルのリスクを許容できない場合、どちらもVMの代わりにはなりません。

初心者が初めて構築するなら、ターンキー型NAS OSかモジュール型Linuxか
ガイド付きのストレージ運用にはすぐに使えるNASソフトウェアを選び、学習と明確な制御のためにより多くの管理を担う価値がある場合は、モジュール式のLinuxを選びましょう。

