- EXT4は、低リソース消費で最大限のパフォーマンスと安定性を提供し、家庭用NASや小型サーバーに最適です。
- Btrfsはスナップショット、CoW、統合RAID、圧縮機能を提供しており、Linux上で作業する企業にとって非常に汎用性の高い選択肢となる。
- ZFSは、データの完全性、自己修復機能、RAID-Z、拡張性といった点で際立っており、高性能ハードウェアを備えた重要な環境向けに設計されています。
- ZFS、Btrfs、EXT4のどれを選ぶかは、互換性、パフォーマンス、高度な機能、そして将来の成長ニーズに基づいて決定すべきです。

NASやLinuxサーバーにZFS、Btrfs、EXT4のどれを選ぶべきか迷っているなら、あなただけではありません。一見すると、スナップショット、RAID、データ検証など、どれも非常に似ているように見えますが、詳しく調べてみると、それぞれ異なる目的で開発され、明確な強みと、ディスクのフォーマットを開始する前に知っておくべき重要なトレードオフがあることがわかります。
以下の説明では、 ZFS、Btrfs、EXT4の詳細な比較を行い、ファイルシステムとは何か、NASにおけるその役割、実際の使用例、容量制限、パフォーマンス、リソース消費、そして家庭用NAS、小規模ビジネスサーバー、あるいは高可用性が求められるより本格的な環境など、どのような環境を構築するかに応じた実践的な推奨事項まで、あらゆる側面を解説します。
ファイルシステムとは何ですか?また、NASにおいてファイルシステムがそれほど重要な理由は何ですか?
ファイルシステムとは、基本的にオペレーティングシステムがハードディスク、SSD、外付けドライブ上のデータを整理、保存、取得する方法のことです。この一連のルールと構造がなければ、システムは順序のないゼロとイチの羅列しか認識できず、ファイルの開始位置、終了位置、アクセス権限なども把握できません。
ファイルシステムの基本的な機能には、各ファイルへの領域ブロックの割り当て、空き領域の管理、および可能な限り高速かつ信頼性の高いデータアクセスを保証するためのディレクトリ構造の構築が含まれます。さらに、ファイルシステムはメタデータ(サイズ、日付、所有者)、アクセス許可とアクセス制御リスト(ACL)、断片化防止メカニズム、ジャーナリング、そして多くの場合、ユーザーまたはグループごとのディスククォータなどのオプションを制御します。
各データは、特定のアドレスを持つ物理ブロックまたはセクターに格納され、パーティションテーブルによってそのストレージの論理構造が定義されます。処理可能な最大サイズは、ファイルシステムで使用される「ワード幅」によって決まります。メモリのアドレス指定に使用するビット数が多いほど、ボリュームとファイル容量が大きくなります。
NASについて語る場合、ファイルシステムが最大容量、安定性、実際の速度、そしてスナップショット、データ整合性、RAID、レプリケーション、圧縮、重複排除などの高度な機能を決定するため、これらすべてがさらに重要になります。ここで、Linuxの世界とNASサーバーにおける主要なファイルシステムであるEXT4、Btrfs、ZFSが登場します。

EXT4:汎用および家庭用NAS向けの堅牢なベテラン
EXT4(Fourth Extended Filesystem)は、ほとんどの汎用Linuxディストリビューションにおける事実上の標準となっています。EXT4は、サーバーやデスクトップで高い人気を誇った信頼性を維持しながら、容量の拡大、パフォーマンスの向上、断片化の低減を目指して、EXT3の直接的な進化形として誕生しました。
これはジャーナリング機能を備えたトランザクションファイルシステムです。書き込み保留中の変更履歴を保持することで、停電や突然のシステムクラッシュによるデータ破損のリスクを最小限に抑えます。BtrfsやZFSのようなコピーオンライト(CoW)保護機能には及びませんが、通常の使用においては十分な堅牢性を備えています。
主な特徴としては、理論上の制限として、 4Kブロック使用時で最大1 EiBのボリュームと最大16 TiBのファイルサイズ、約4.000億個のファイル、そして最大255バイトのファイル名が挙げられます。これは、大多数の家庭ユーザーや多くの中小企業にとって十分すぎるほどの性能です。
EXT4は、断片化を軽減しパフォーマンスを向上させるための技術を取り入れています。例えば、拡張機能(連続するブロックのグループ化)、書き込み直前に使用するブロックを決定するアロケーション・オン・フラッシュ、ゼロで埋め尽くすことなくファイル用に連続した領域を確保する機能などです。また、ボリュームをマウント解除せずにオンラインでデフラグを実行できますが、その処理中はシステム速度が低下します。
もう一つの実用的な利点は、後方互換性です。既存の構造を維持したままEXT3システムをEXT4にアップグレードできるため、両方のシステムで構造を理解できます。ただし、一度EXT4として作成されたシステムは、EXT3に戻すことはできません。セキュリティ面では、透過的なデータ暗号化、ジャーナリング、および一般的なLinuxのACLをサポートしています。
NASの世界では、多くのメーカー(QNAP、Synology、Asustorなど多くのモデル)が、低価格帯および中価格帯の機器において、安定性、互換性、そして限られたCPUとRAMリソースで最高のパフォーマンスを実現することを目標に、EXT4をデフォルトの選択肢として採用し続けている。
Btrfs:スナップショット、CoW、統合RAIDを備えた最新の後継ファイルシステム

Btrfs(Bツリーファイルシステム)は、LinuxにおけるEXT4の「後継」として当初から設計されました。2007年にOracleによって発表されたBtrfsは、EXT4の容量と機能の制限を克服し、スナップショット、CoW、高度なRAID、統合ボリューム管理など、これまでハイエンドソリューションでしか見られなかった機能をLinuxにデフォルトで導入するという野心的な目標を掲げていました。
制限事項に関して言えば、BtrfsはZFSと同等です。最大ボリュームサイズとファイルサイズは16 EiBまで、最大ファイル数は約18兆まで、ファイル名は255バイトまでとなっています。実際には、現代のほとんどあらゆる環境において、事実上制限のないシステムと言えるでしょう。
その最も重要な特徴は、データとメタデータの両方において、完全にコピーオンライト方式で動作する点です。何かが変更されるたびに、以前のデータは上書きされず、代わりに新しいコピーが別の領域に書き込まれ、ポインタが更新されます。これにより、ほぼ瞬時にスナップショットを取得でき、変更がコミットされるまで常に一貫性のあるバージョンが維持されるため、多くの種類のサイレント破損を防ぐことができます。
Btrfsでは、読み書き可能なスナップショット、およびスナップショットのスナップショットを作成し、サブボリュームを使用して柔軟に管理できます。また、ファイルシステムレベルのRAID(RAID 0、1、10、およびレベル5/6。レベル5/6は一部の環境では依然として機密情報とみなされます)、ミラーリングおよびストライピング技術、動的なinode割り当てが組み込まれているため、システム作成時に最大ファイル数を指定する必要はありません。
もう一つの重要な利点は、透過的なインライン圧縮(zlib、LZO、Zstdなどのアルゴリズムを使用)です。これにより、物理データ量を削減することで容量を節約し、場合によっては読み書き性能を向上させることができます。また、重複排除(通常は外部ツールを使用)、チェックサムを比較してデータを検証・修復するスクラビング、SSD最適化モードもサポートしています。
光るものすべてが金とは限らない。EXT4と比較すると、Btrfsは通常、より多くのCPUとメモリを消費し、多くのテストでは、同じハードウェア条件下で読み書き性能が劣る。CoWロジック、チェックサム、および高度な機能のコストは、リソースの面で代償を伴うため、小規模なNASデバイスでは考慮すべき点である。
NASのエコシステムにおいて、BtrfsはSynologyや多くの企業向けソリューションにとって大きな賭けとなっています。特に、統合されたスナップショット機能、増分レプリケーションオプション(送受信)、頻繁なバックアップ、そして不適切な変更をわずか数秒で元に戻せる容易さがその理由です。
ZFS:データ整合性、拡張性、そして要求の厳しい環境に対応する「頼れる存在」
ZFS(Zettabyte File System)は、Sun Microsystems社がSolaris向けに開発したもので、2005年にOpenSolarisの一部としてリリースされました。現在では主にOpenZFSを通じて配布されており、FreeBSD、Linux、その他のシステムにも移植されています。Unix系システムで利用可能なファイルシステムの中で、最も先進的なシステムの1つと言えるでしょう。
ZFSの重要な特徴の一つは、ボリュームマネージャとファイルシステムを単一のレイヤーに統合している点です。外部ディスクやRAIDアレイ上にファイルシステムをマウントする代わりに、ZFSは仮想デバイス(vdev)で構成されるストレージプール(zpool)を作成します。データセット(ファイルシステム)とzvol(ブロックデバイス)はこのプール上に定義され、すべて同じツールで統合管理されます。
容量面では、ZFSは128ビットのアドレス指定方式を採用しており、これは最大16 EiBのボリュームとファイル、最大255バイトのファイル名、そして数百億個ものファイルに対応できることを意味します。ZFSは、膨大なストレージレベルまでシームレスに拡張できるように設計されたシステムです。
Btrfsと同様に、ZFSは各ブロックにチェックサムを含むコピーオンライト方式で動作します。書き込み前にチェックサム(通常256ビット)を計算し、読み取りのたびにチェックします。破損が検出され、冗長性(例えば、RAID-Zやミラーリング)が存在する場合、データ自己修復と呼ばれるプロセスによって、自動的かつ透過的に修復できます。
CoWモデルが同期書き込み(データベースなど)に与える影響を軽減するため、ZFSはZFSインテントログ(ZIL)を使用します。ZILは高速SSD上に配置することで、重要な操作を高速化できます。さらに、RAM(ARC)およびオプションでSSD(L2ARC)に読み取りキャッシュ機能を搭載しており、パフォーマンスを大幅に向上させる一方で、RAMの必要容量も増加させます。
デメリットとしては、リソース消費量が多いことが挙げられます。ZFSは、十分なRAM(16GBが妥当な開始値)と高性能なCPUを搭載したマシン向けに設計されています。特に重複排除機能はメモリ使用量を大幅に増加させる可能性があるため、容量削減効果が本当に必要な場合にのみ有効にするのが最善です。
管理面では、ZFSはよく知られているRAID-Zアレイ(RAID-Z1、RAID-Z2、RAID-Z3)を導入し、RAID 5/6でよく見られる「書き込みホール」などの問題を回避するように設計されており、シンプルなRAID構成、ミラーリング構成、高度なRAID構成を提供します。プールに新しいデバイスを追加してすぐに使用できるため、容量拡張が可能で、従来のRAIDアレイよりもはるかに高い柔軟性を実現します。
その高度な機能には、瞬時のスナップショット、軽量クローン、透過的な圧縮、内部重複排除、データセットまたはユーザーごとのきめ細かなクォータ設定などが含まれます。スナップショットは数兆個にも及ぶことがあり、既存のブロックへの参照のみが保存されるため、ほぼ瞬時に作成されます。
デメリットはリソース消費です。ZFSは、十分なRAM(16GBが妥当な開始値であり、重複排除を有効にする場合はさらに多く必要)と高性能なCPUを搭載したマシン向けに設計されています。特に重複排除はメモリ使用量を大幅に増加させる可能性があるため、容量節約が本当に正当化される場合にのみ有効にするのが最善です。
QNAPなどのメーカーは、ハイエンドのネットワークアダプターにZFSを採用し、QuTS heroシステムでその機能を最大限に活用しています。RAID-Z、継続的な整合性検証、圧縮、大規模なスナップショット、そして上級ユーザー向けの比較的使いやすいグラフィカルインターフェースからすべてを管理できる機能などが含まれます。
その他の一般的なファイルシステム:NTFS、FAT32、exFAT、XFS
ここではサーバーやNAS環境におけるZFS、Btrfs、EXT4に焦点を当てていますが、非常に特殊な用途を持つ他のファイルシステムも日常的に使用されています。それらを理解しておくことで、異なるオペレーティングシステム間でディスクを接続する際に概念が混同されるのを防ぐことができます。
NTFS(New Technology File System)は、数十年にわたりWindowsの標準ファイルシステムとして採用されてきました。非常に大きなファイル、高度なアクセス権限、ジャーナリングなど、多くの機能をサポートしていますが、Windows以外の環境での互換性には限界があります。macOSではデフォルトで読み取り専用としてマウントされ、Linuxでは十分にサポートされていますが、ゲーム機など複数のデバイスで共有されるドライブには最適な選択肢とは言えません。
FAT32は、安価なUSBドライブ、メディアプレーヤー、旧型デバイスに最適な、互換性の高い定番フォーマットです。最大の欠点はファイルサイズが4GBに制限されていることで、最新のバックアップ、ディスクイメージ、高画質ビデオには適していません。それでも、世界中のほぼすべてのデバイスで読み取れるため、依然として広く利用されています。
プレーンなFATフォーマットはさらに古く、機能も制限が多く、エラー許容度が低く、セキュリティ権限も設定できず、数十GB程度の小容量向けに設計されています。しかし、古いシステムや一部の組み込み機器との互換性は依然として高く、現在では本格的な用途で使用されることはほとんどありません。
exFATは、リムーバブルメディア用のFAT32の後継として開発され、4GBのファイルサイズ制限を撤廃しました。WindowsとmacOSの両方で使用されるSDカード、USBフラッシュドライブ、外付けハードドライブなどで広く利用されています。Linuxでも既に十分なサポートが提供されていますが、スナップショットや強力なジャーナリングといった機能は備えていないため、NASデバイスには最適な選択肢とは言えません。
最後に、XFSは非常に大きなファイル向けに設計された高性能ファイルシステムであり、ハイエンドのLinuxサーバーや大規模データベースで広く使用されています。高度なジャーナリング機能と優れた並列処理性能を備えていますが、ネイティブのスナップショット機能や組み込みの圧縮機能がないため、特定のシナリオではZFSやBtrfsよりもEXT4と競合する傾向があります。
ZFS、Btrfs、EXT4の比較:機能、特徴、および制限事項
ZFS、Btrfs、EXT4を並べて比較すると、最大容量、高度な機能、データ保護レベルにおいていくつかの重要な違いが明らかになります。理論上の制限に関して言えば、ZFSとBtrfsはどちらもボリュームで16 EiB、ファイルで16 TiBと同等のレベルですが、EXT4はボリュームで1 EiB、ファイルで16 TiB(4Kブロックの場合)に制限されています。
ファイルサイズに関して言えば、BtrfsとZFSは膨大な量(Btrfsでは数兆、ZFSでは最大2 <sup>48</sup> )をサポートし、EXT4は数十億の利用可能なinodeを扱います。これら3つはすべて255バイトのファイル名制限を共有しており、事実上あらゆるシナリオに対応できます。
最も明確な違いは、高度な機能に見られます。ZFSとBtrfsは、コピーオンライト、組み込みスナップショット、透過的圧縮、重複排除(ZFSではネイティブ、Btrfsではツールで利用可能)を提供します。一方、EXT4はコピーオンライトを統合しておらず、組み込みスナップショットがなく、組み込み圧縮と重複排除もありません。
暗号化に関して言えば、ZFSはデータセットレベルの暗号化をシステム全体に深く統合して実装しています。構成によっては、BtrfsはLUKSなどの外部メカニズムを利用してデバイスを暗号化することができ、EXT4もLUKSや他の暗号化レイヤーと組み合わせてボリューム全体を保護するためによく使用されます。
スナップショットに関して言えば、ZFSは非常に高い最大数(2 <sup>48</sup>オーダー)をサポートしており、Btrfsも膨大な数に対応していますが、EXT4はネイティブではスナップショットを扱えません。このため、ZFSとBtrfsは、頻繁なバックアップ、人為的ミスからの迅速な復旧、サーバー間のレプリケーションといった戦略において際立っています。
概念的には、ZFSはボリューム、ファイルシステム、RAID、クォータ管理、継続的検証といった機能を備えた、最も統合的で一貫性のあるオールインワンソリューションです。Btrfsも多くのレイヤー(ファイルシステムとRAID、サブボリューム、スナップショット配信)を統合していますが、暗号化や高度なタスクには通常、外部ツールを使用します。一方、EXT4は従来、LVM、mdadm、その他のコンポーネントと組み合わせて完全なソリューションを構築します。
パフォーマンスとリソース消費:それぞれどのようなシナリオで最高のパフォーマンスを発揮するのか?
理論上はあまり言及されないものの、実際には非常に顕著な点として、実際のパフォーマンスとリソース使用量が挙げられます。様々な比較テスト(例えば、Phoronixによるもの)によると、ごく特殊なケースを除いて、EXT4は通常、同じハードウェア条件下でシーケンシャルおよびランダムな読み書き操作において最速のファイルシステムであることが示されています。
EXT4は、CPUとRAMの使用量を抑えつつ非常に高いパフォーマンスを発揮するため、強力なスナップショット機能や重複排除機能を必要とせず、データの迅速かつ容易な移動が重要な家庭用NASや小規模ビジネスに最適です。
一方、ZFSは、純粋なI/Oベンチマークでは最も低速になる傾向があり、特に同じハードウェア上の他のシステムと同等の構成で比較した場合に顕著です。これは、ZFSのCoWモデル、チェックサム検証、圧縮、プール管理、および整合性機能がCPUとメモリ時間を消費するためです。ただし、データ保護が最優先される環境では、この消費は補われます。
Btrfsは通常、その中間的な位置づけにあります。EXT4ほど高速ではありませんが、ZFSほどハードウェアへの負荷も大きくありません。SSDやオールフラッシュRAIDアレイを使用する多くのワークロードにおいて、パフォーマンスと高度な機能のバランスが取れた優れた選択肢となりますが、カーネルのバージョンや特定の構成によっては動作が大きく異なる場合があります。
NASやサーバーがローエンドまたはミドルレンジで、RAM容量が限られ、プロセッサ性能もそれほど高くない場合は、EXT4が最も賢明な選択肢となるでしょう。より高性能なマシンでは、Btrfsはスナップショット、圧縮、統合RAIDといったメリットを享受でき、ZFSのような高い要求スペックを必要としないため、優れた選択肢となります。そして、十分なRAM容量を備え、最大限のデータ整合性と自己修復機能を必要とする高性能マシンであれば、ZFSが主役となります。
推奨される使用例:家庭用NAS、中小企業、および大企業環境
理論的な考察を踏まえると、本当に重要なのは、自分の状況に最適なファイルシステムはどれかということです。映画や家族のバックアップ用のNASは、重要なデータベース環境や数十台のマシンを運用する仮想化サーバーとは全く異なります。
個人利用、ホームオフィス、小規模オフィス環境(SOHO)においては、EXT4が一般的に最もバランスの取れた選択肢と言えるでしょう。徹底的にテストされており、すべてのディストリビューションで問題なくサポートされ、優れたパフォーマンスを発揮し、特別なハードウェアも必要ありません。ファイルの共有、バックアップ、そして1つか2つのシンプルなRAIDアレイの構築であれば、EXT4は完璧に機能します。
頻繁なスナップショット、柔軟性、そして高度なデータ保護を必要とする企業にとって、Btrfsは最適な選択肢です。例えば、Synologyは多くのNASデバイスでBtrfsを採用し、スケジュールされたスナップショット、デバイス間レプリケーション、整合性検証、圧縮といった機能を、使いやすいインターフェースで提供しています。さらに、Linuxカーネルとのネイティブ統合により、管理が簡素化され、外部への依存度も低減されます。
エンタープライズ環境、メインフレーム、データセンター、大規模データベースにおいては、ZFSが圧倒的な優位性を誇ります。コピーオンライト、256ビットチェックサム、RAID-Z、自己修復機能、透過的圧縮、重複排除といった機能を兼ね備えているため、RAID再構築中のディスク障害によるデータ破損やデータ損失が絶対に許容できない場合に、理想的なツールとなります。
ハイエンドNAS分野において、QNAPはQuTS heroによって、強力なCPUと大容量RAMを搭載したデスクトップPCやラックPCにZFSをもたらし、大規模なクラスターを構築することなくデータ保護をさらに強化したい中規模企業にとって、プロフェッショナルサーバーに典型的な機能を身近なものにする。
ホストOSも考慮する必要があります。Linuxでは、ライセンス上の問題からZFSは通常外部モジュールとしてロードされますが、Btrfsはカーネルに統合されているため、100%「純粋なLinux」ソリューションを求める際には、どちらを選ぶべきか判断が分かれる場合があります。FreeBSDでは、ZFSは特に堅牢な統合を実現していますが、Btrfsはほとんど使用されていません。
NASのファイルシステムを選択する際に考慮すべき点
技術仕様に加えて、NASやサーバーにZFS、Btrfs、またはEXT4を選択する前に考慮すべき実用的な基準がいくつかあります。まず最初に考慮すべきは互換性です。選択したファイルシステムがNASのオペレーティングシステムと日常的に使用するツールでサポートされていることを確認する必要があります。
ファイルシステムの安定性と成熟度も非常に重要です。EXT4は長年にわたり量産されており、おそらく全体的に最も安定しています。ZFSも非常に成熟しており、特にSolaris、FreeBSD、OpenZFS環境ではその傾向が顕著です。Btrfsも大きく進化しましたが、RAID 5/6などの一部の構成は依然としてデリケートな問題を抱えているため、実運用で使用する前に十分に調査することをお勧めします。
NASが毎日大量のデータを処理する場合、速度と効率性は非常に重要になります。EXT4は一般的に処理速度で優位に立ちますが、ZFSとBtrfsはより多くの機能を提供するものの、リソースコストが高くなります。シンプルさと速度を重視するか、ピーク性能が多少劣っても高度な機能を重視するか、どちらを優先するかを決める必要があります。
追加機能も大きな違いを生み出します。スナップショット、圧縮、重複排除、自動データ検証と修復、クォータ管理、RAID統合などです。ZFSとBtrfsはこれらの点で優れていますが、EXT4で同様の機能を実現するには他のツールと組み合わせる必要があります。
最後に、将来的な拡張性が鍵となります。ディスクの追加、容量の増強、またはNASの使用方法の変更を予定している場合は、ストレージプールの拡張、データの再分配、および膨大なデータ量の処理を、すべてを最初から再構築することなく実行できるシステムが必要になります。この点において、ZFSとBtrfsはEXT4よりも明らかに優れています。
上記すべてを考慮すると、状況は非常に明確です。EXT4は低価格のNASデバイスや一般的な用途に最適であり、BtrfsはLinux上で活動し、統合されたスナップショットとレプリケーションを求める企業や上級ユーザーにとって非常に魅力的です。そして、ハードウェアが十分な性能を備えていることを前提として、データの整合性、自己修復機能、大規模な拡張性を重視する場合は、ZFSが最適な選択肢となります。
