Linuxをインストールする際、ストレージ設定画面で「ext4」「Btrfs」「XFS」といった名称を目にすることがある。これらはすべてファイルやディレクトリをディスクに保存するためのファイルシステムだが、性能特性やデータ保護機能、管理方法は異なる。
単にLinuxを動かすだけなら、インストーラーの標準設定を受け入れても大きな問題は起きにくい。しかし、スナップショットから更新前の状態に戻したい、複数台のディスクでNASを構築したい、大容量の動画やAI用データセットを高速に処理したいといった要件がある場合、ファイルシステムの選択が運用性を左右する。
なぜLinuxのファイルシステムは複数あるのか
ファイルシステムは、ストレージ上のファイルやディレクトリ、空き領域などを管理する仕組みだ。WindowsではNTFSが標準的に使われるが、Linuxではディストリビューションや用途に応じて複数のファイルシステムが使われる。これは、ファイルシステムごとに重視する機能や性能が異なるためだ。
ext4は汎用性と互換性、XFSは大規模環境での拡張性、Btrfsはスナップショットやチェックサムなどの統合機能、ZFSはストレージ管理とデータ完全性に強みがある。高機能になればデータ保護や管理の利便性が高まる一方、CPUやメモリの負荷、運用の複雑さが増える場合もある。
実際、Debianではext4が広く使われ、Fedora WorkstationはBtrfs、Red Hat Enterprise Linux 10はXFSを標準としている。「Linuxの標準ファイルシステム」が1つに決まっているわけではなく、用途に応じて選ぶことが重要だ。
ext4・Btrfs・XFS・ZFSの特徴
ext4は、長年Linuxで使われてきた代表的なファイルシステムだ。高い互換性と豊富な復旧ツール、比較的シンプルな運用が強みで、デスクトップからサーバまで幅広く利用されている。一方、BtrfsやZFSのようなネイティブのスナップショットや透過圧縮、内蔵RAIDなどは備えていない。
Btrfsは、スナップショット、透過圧縮、チェックサム、複数デバイス管理などを統合したファイルシステムだ。データ保護やシステム更新前の状態保存などに強く、Fedora Workstationでも標準採用されている。一方、多機能なぶん運用時に注意すべき点もあり、RAID5/6など一部の構成では慎重な運用が求められる。
XFSは、大容量ファイルや大規模ストレージ、高いI/O並列性を重視して設計されたファイルシステムだ。大規模サーバなどで実績があり、RHEL 10でも標準のローカルファイルシステムとなっている。一方、BtrfsやZFSのようなスナップショット、透過圧縮、内蔵RAIDなどは単体では備えていない。
ZFSは、ファイルシステムとボリューム管理を統合したストレージ基盤だ。スナップショット、透過圧縮、チェックサム、RAID-Z、スクラブなどを備え、特にNASなどデータ保護を重視する用途に強い。一方、Linuxカーネル本体には含まれず、OpenZFSを別途導入してカーネル更新との適合性などを管理する必要がある。
性能比較:速いのはどれか
ファイルシステムの速度は、ストレージ機器やメモリ容量、マウントオプション、ファイルサイズなどによって変化するため、すべての環境で成立する絶対的な順位はない。設計上の傾向としては、大容量ファイルのコピーではXFSとext4が有利になりやすい。XFSは大規模・並列I/Oを重視した設計で、ext4は追加のチェックサムやコピーオンライト処理が少ないため安定した性能を得やすい。
小容量ファイルの大量作成や大量ファイルの削除でもext4とXFSが有利になりやすい。機能が比較的単純で、コピーオンライトやデータチェックサムの追加処理がないためだ。BtrfsとZFSはスナップショットがブロックを参照している場合、削除しても物理領域が直ちに解放されないことがある。
SSDでの汎用性能もext4とXFSが低い管理負荷で安定しやすい。一方、圧縮可能なデータのSSD性能ではBtrfsとZFSが有利で、圧縮によって物理I/O量が減れば実効速度と容量効率が向上する場合がある。ただしCPU処理は増える。データ保護込みの総合性能ではBtrfsとZFSが強みを持つ。
一般的なデスクトップ処理や小規模サーバではext4、大容量ファイルや並列I/OではXFSが第一候補になる。BtrfsとZFSは、最小のCPU負荷やベンチマーク上の最高値より、圧縮、スナップショット、完全性検証を同時に実現することを目的に選ぶファイルシステムだ。
機能比較:データ保護に強いのはどれか
スナップショットについて、BtrfsとZFSはコピーオンライトを利用し、作成直後にデータ全体を複製することなくスナップショットを作れる。更新前の状態保存、バックアップの基点、誤操作からの復旧に有用だ。ただし、スナップショットはバックアップそのものではなく、同じディスクや同じプール上にしか存在しなければ、デバイス故障、プール全体の破損、盗難、災害からは保護できない。別媒体や別システムへのバックアップが必要だ。
ext4とXFSでスナップショットを使う場合は、LVMやストレージ装置側の機能を利用する。ファイルシステム単体の機能ではないため、構成と復旧手順はBtrfsやZFSとは異なる。
圧縮について、BtrfsとZFSは透過圧縮に対応する。アプリケーションからは通常のファイルとして見え、保存時に圧縮、読み込み時に展開される。テキスト、ログ、ソースコード、仮想マシンイメージの未使用領域など、圧縮しやすいデータでは容量とI/Oを削減できる。JPEG、動画、暗号化済みデータなどはすでに圧縮されているため、効果が小さい。
RAIDについて、ext4とXFSはファイルシステム単体で複数ディスクのRAIDを管理しない。Linuxのmd RAID、LVM RAID、ハードウェアRAIDなどの上に構築する。Btrfsはファイルシステム内部でデバイスとデータプロファイルを管理し、ZFSはvdevとストレージプールを構成してミラーやRAID-Zで冗長化する。
チェックサムと自動修復について、ext4とXFSは主にメタデータの整合性を守るためのジャーナルやチェックサムを持つが、通常のユーザーデータ全体を読み出すたびに内容チェックサムで検証する仕組みではない。BtrfsとZFSはユーザーデータとメタデータをチェックサムで検証するが、破損を検出しても正常な別コピーがなければ元データを復元できない。自己修復はミラーや適切な冗長構成が存在する場合に成立する。Btrfsではすべてのコピーを定期的に検証するためにスクラブを実行する必要がある。
用途別の選び方
デスクトップPCでは、特別な要件がなければext4が扱いやすい。性能が安定しており、復旧情報やツールが豊富で、多くのLinux環境から読み書きできる。システム更新前のスナップショットや透過圧縮を積極的に使うならBtrfsが適する。Fedora WorkstationはBtrfsを標準としており、圧縮やサブボリュームをデスクトップ構成に利用している。
ノートPCでは、管理を簡単にしたいならext4、SSD容量を圧縮で有効活用したい場合や更新前スナップショットを運用したい場合はBtrfsが候補となる。どちらを選んでも、ファイルシステム単体でストレージ全体を暗号化するわけではないため、紛失対策にはLUKSなどによる暗号化を別途構成する。
自宅サーバでは、単一ディスクまたは単純なミラー構成でスナップショットとチェックサムを使いたい場合はBtrfsが扱いやすい。サブボリューム単位でスナップショットを作り、別のBtrfs環境へ差分転送する運用も可能だ。一方、ファイルサーバの役割が単純で、既存のmd RAIDやLVMを使うならext4やXFSも合理的だ。
NASでは、複数ディスクによる大容量NAS、定期スクラブ、スナップショット、圧縮、エンドツーエンドチェックサムを重視するならZFSが有力だ。ただし、必要なディスク本数、故障時の交換方法、プール拡張方法、バックアップ先まで設計する必要がある。
AI・開発環境では、大量の小ファイルを含むソースツリー、パッケージキャッシュ、コンテナの作業領域ではext4が単純で扱いやすい。巨大なモデル、動画、学習データセットを並列に読み書きする専用ボリュームではXFSが候補になる。実験環境を頻繁に複製したい、ビルド前後の状態を保存したい、圧縮可能なデータを多数保持したい場合はBtrfsやZFSのスナップショット、クローン、圧縮が有用だ。
2026年に選ぶなら?
2026年時点でも、万人に共通する1つの正解はない。迷ったらext4だ。一般的なデスクトップ、ノートPC、小規模サーバ、Linux学習環境では、機能、性能、復旧性、情報量のバランスがよい。Linuxカーネル本体で長期間保守され、インストーラーや復旧環境、バックアップソフトなどから広く扱えることも強みだ。
大容量ファイルと高い並列I/Oを重視するならXFSだ。大規模サーバ、動画処理、バックアップ格納領域、AIデータセット用ボリュームなどが候補になる。RHEL系ではディストリビューション標準に従ってXFSを選ぶのが自然だ。
スナップショットと圧縮をLinux標準機能だけで使いたいならBtrfsだ。デスクトップ、自宅サーバ、開発マシンとの相性がよい。定期スクラブ、空き容量、スナップショットの保持数を管理する必要がある。
複数ディスクのNASとデータ完全性を最優先するならZFSだ。チェックサム、冗長化、スクラブ、スナップショットを統合できる。ただし、メモリ、ディスク構成、モジュール管理、復旧手順を含めた運用設計が必要になる。
ファイルシステムを選ぶ際に重要なのは、機能表の丸印の数ではない。障害発生時に誰がどの手順で復旧するのか、バックアップを別媒体に保持しているか、利用するディストリビューションがどの構成を十分に試験しているかを考えるべきだ。



