XFSとExt4はどう違うのでしょうか?この2つのファイルシステムの選択について知りたい方のために、MiniTool Partition Wizardが両者を詳しく比較します。
Ext4とXFSについて
Ext4は、セオドア・ツォー氏が率いるチームによって開発された、Ext3の後継にあたるジャーナリングファイルシステムです。2008年にExt4安定版が正式発表されて以降、Linuxの公式推奨デフォルトファイルシステムとなりました。
XFSは、1993年にSilicon GraphicsがIRIXオペレーティングシステム用に開発した高性能ジャーナリングファイルシステムです。IRIXバージョン5.3のデフォルトファイルシステムで、その後Linuxカーネルに移植されました。
ジャーナリングファイルシステムは、ファイルシステムに加えられた変更の情報を記録し、ファイルシステムにカーネルクラッシュや突然の停電などのような障害が発生した際にデータを復元できるようにするものです。
XFSとExt4の比較
Ext3の後継であるExt4ファイルシステムは、現在Linuxで主流のファイルシステムです。長年の開発を通じて最も安定したファイルシステムの1つとなっていますが、実際には他のLinuxファイルシステムと比較しても、これが最適なファイルシステムであるとは言えません。
XFSとExt4の比較では、以下の点でXFSの方が優れています。
- パーティションサイズとファイルサイズが大きい:Ext4は最大1EiBまでのパーティションサイズと最大16TiBまでのファイルサイズ、XFSはパーティションサイズ・ファイルサイズともに最大8EiBまでに対応しています。XFSは64ビットファイルシステムなので、ホストOSが32ビットの場合、XFSはパーティションサイズ・ファイルサイズともに最大16TiBまでしか対応できません。
- inodeの動的割り当て:XFSは、ファイルのインデックス付けのためにデータの属性と位置を保存するinodeを使用しています。しかし、inodeを使い切ってしまうと、ハードディスクに空き容量があっても、新しいファイルを作成できなくなります。inodeを動的に割り当てることにより、inodeの数が無制限になり、ディスク領域をフル活用できるようになりました。
- Xattr(Extended Attributes)スペースが多い:Ext4はxattrの長さが1ブロック(通常4K)を超えないよう制限が設けられていますが、XFSは64Kに達します。拡張ファイル属性は、ファイルシステムが解釈しないメタデータをコンピューターファイルに関連付けられるようにする機能です。
- アロケーショングループ:XFSファイルシステムは、内部でアロケーショングループに分割し、inodeと空き領域を別々に管理することで、スケーラビリティと並列性を両立しています。これにより、複数のスレッドやプロセスが同じファイルシステム上で同時にI/O操作を行うことが可能になります。このアーキテクチャは、複数のプロセッサやコアを持つシステム上で並列I/O性能を最適化するのに役立ちます。
- ダンプ・復元ツールを内蔵:XFSには、コンテンツのバックアップ・復元に利用するユーティリティであるxfsdumpとxfsrestoreが含まれています。
もちろん、XFSにもデメリットがあります。
- データの正誤性を確認するジャーナルチェックサムに対応していない
- ジャーナリングを無効化できず、フラッシュディスクの寿命が短くなる
- メタデータ操作が遅く、1度に大量のファイルを削除するとパフォーマンスが低下する
- ファイルシステムのボリュームを直接縮小できないため、「バックアップ→再充填→復元」で間接的に縮小することになる
Windows 10からLinuxのファイルにアクセスする方法[完全ガイド]
最後に
XFSとExt4にはそれぞれ長所と短所があるので、自分のニーズに応じて選びましょう。また、プログラムがデフォルトファイルシステムを設定している場合は、デフォルトのままにしておくことをお勧めします。