Make Tech Easier - Uncomplicating the complicated, making life easier

代表的なファイルシステムに絞っても、Linuxにはいくつか選択候補になるファイルシステムがある。ディストリビューションの指針や評価ごとに違うファイルシステムが採用されたり、バージョンがあがるごとにデフォルトのファイルシステムも入れ替わる傾向がある。インストール時に選択できることが多い。

どのファイルシステムを選択するかは用途ごとに適切なものを選べばいいことになるわけだが、それぞれを比較するのは少々大変だ。そうした場合に役に立つ情報がChoosing The Best Linux Filesystem For Your PC - Make Tech Easierにおいて公開された。代表的なLinuxファイルシステム(Ext2、Ext3、Ext4、Reiser3、Reiser4、XFS、Btrfs)について特徴、利点と欠点、推奨される採用シーンなどが簡潔にまとまっており参考になる。紹介されている内容をまとめると次のとおり。

ファイルシステム 特徴
Ext2 初期のLinuxディストリビューションでは主にデフォルトのファイルシステムとして採用されていた。現在ではすでにExt3やExt4によってそのポジションは取って代わられているが、ソリッドステートデバイスやUSBメモリでは今でもよく採用されている。Ext2にはジャーナル機能がないため、その分読み書きが少なく、SSDといったデバイスの寿命に良いと考えられている。
Ext3 Ext2にジャーナル機能を追加したファイルシステム。すでにかなり成熟してよくサポートされており、デスクトップOSとして必要とされる機能をすべて含んでいる。
Ext4 Ext3に対して大規模ファイルシステムサポート、高速チェック機能、ナノセカンドタイムスタンプ、チェックサムを使ったジャーナルの検証といった改善が盛り込まれたファイルシステム。Ext2およびExt3と互換性があるためExt2やExt3のファイルシステムをExt4としてマウントして使うこともできる(ただし、古いバージョンをマウントした場合はいくつかの新機能は利用できない)。最新のLinuxディストリビューションではインストール時にExt4の採用を選択できたり、またはデフォルトファイルシステムとして採用されている。
Reiser3 Ext3が登場する前のLinuxで使える代表的なジャーナリングファイルシステム。動的にファイルシステムのサイズの変更が可能で、特に小さいファイルを大量に扱うケースではExt3と比較しても素晴らしい性能を発揮する。半面、マルチコアのような環境では性能がスケールしないという問題もある。
Reiser4 Reiser3の問題を解決することに注力して開発されたファイルシステム。パフォーマンスの向上、圧縮や暗号化を可能にするプラグイン機能などが実現されている。ただし、依然としてLinuxカーネルに取り込まれる見通しがなく、今後もどうなっていくかが不透明な状況にある。このため長期の採用には検討が必要。
XFS I/Oレートの保証、動的なファイルシステムサイズの変更、クォート機能、8エクサバイトのサポートなど多くの機能をサポートしたファイルシステム。2001年からLinuxで採用されており、すでにさまざまなLinuxディストリビューションにおいて選択肢として提供されている。ブロックサイズの変更もできるなど、ファイルシステムをチューニングしたい場合には優れた選択肢。
Btrfs 開発段階にあるファイルシステム。いつかのLinuxディストリビューションではインストール時に選択できるようになっているものの、プロダクションサーバユースで採用するといった段階にはない。透過的な圧縮、スナップショット機能、クローン機能などいくつもの機能がある。完成した日にはデスクトップユースにもサーバユースにも強力な候補となりうる。
ファイルシステム 推奨される用途
Ext2 USBメモリやSSDなど。または、少ない読み書きで高い安定性が求められるケースで採用できる。
Ext3 ほかのファイルシステムを使いたい理由が特にないのであれば、採用するのにもっとも適したファイルシステム。
Ext4 デスクトップおよびサーバで採用するにはすでに安定した候補。ディストリビューションが同ファイルシステムを提供しているなら、採用するのもいい選択といえる。
Reiser3 シングルコアシステムで小さいファイルをインタラクティブに利用するようなケースに適している。
Reiser4 ファイルシステムの試験や開発目的。
XFS 要求に合うようにファイルシステムをチューニングしたい場合には特に優れた候補。
Btrfs いずれはサーバユースや高負荷が要求されるストレージデバイスにおけるファイルシステムとして採用される見込み。

ファイルシステムの性能はLinuxカーネルのバージョンやディストリビューションによっても左右される傾向にある。ひとつの指針に過ぎないが、たとえば[Phoronix] File-System Benchmarks With The Linux 2.6.34 Kernelで紹介されているようなパフォーマンスの違いがある。性能はカーネルのバージョンやディストリビューションで変わるため、採用を検討するには実際に利用するバージョンとディストリビューションを特定してからベンチマークを実施した方がいいとみられる。