XFSとExt4はどう違うのでしょうか?この2つのファイルシステムの選択について知りたい方のために、MiniTool Partition Wizardが両者を詳しく比較します。

Ext4とXFSについて

Ext4は、セオドア・ツォー氏が率いるチームによって開発された、Ext3の後継にあたるジャーナリングファイルシステムです。2008年にExt4安定版が正式発表されて以降、Linuxの公式推奨デフォルトファイルシステムとなりました。

XFSは、1993年にSilicon GraphicsがIRIXオペレーティングシステム用に開発した高性能ジャーナリングファイルシステムです。IRIXバージョン5.3のデフォルトファイルシステムで、その後Linuxカーネルに移植されました。

ジャーナリングファイルシステムは、ファイルシステムに加えられた変更の情報を記録し、ファイルシステムにカーネルクラッシュや突然の停電などのような障害が発生した際にデータを復元できるようにするものです。

Linuxのファイルシステム[構造と種類]

XFSとExt4の比較

Ext3の後継であるExt4ファイルシステムは、現在Linuxで主流のファイルシステムです。長年の開発を通じて最も安定したファイルシステムの1つとなっていますが、実際には他のLinuxファイルシステムと比較しても、これが最適なファイルシステムであるとは言えません。

XFSとExt4の比較では、以下の点でXFSの方が優れています。

  1. パーティションサイズとファイルサイズが大きい:Ext4は最大1EiBまでのパーティションサイズと最大16TiBまでのファイルサイズ、XFSはパーティションサイズ・ファイルサイズともに最大8EiBまでに対応しています。XFSは64ビットファイルシステムなので、ホストOSが32ビットの場合、XFSはパーティションサイズ・ファイルサイズともに最大16TiBまでしか対応できません。
  2. inodeの動的割り当て:XFSは、ファイルのインデックス付けのためにデータの属性と位置を保存するinodeを使用しています。しかし、inodeを使い切ってしまうと、ハードディスクに空き容量があっても、新しいファイルを作成できなくなります。inodeを動的に割り当てることにより、inodeの数が無制限になり、ディスク領域をフル活用できるようになりました。
  3. Xattr(Extended Attributes)スペースが多い:Ext4はxattrの長さが1ブロック(通常4K)を超えないよう制限が設けられていますが、XFSは64Kに達します。拡張ファイル属性は、ファイルシステムが解釈しないメタデータをコンピューターファイルに関連付けられるようにする機能です。
  4. アロケーショングループ:XFSファイルシステムは、内部でアロケーショングループに分割し、inodeと空き領域を別々に管理することで、スケーラビリティと並列性を両立しています。これにより、複数のスレッドやプロセスが同じファイルシステム上で同時にI/O操作を行うことが可能になります。このアーキテクチャは、複数のプロセッサやコアを持つシステム上で並列I/O性能を最適化するのに役立ちます。
  5. ダンプ・復元ツールを内蔵:XFSには、コンテンツのバックアップ・復元に利用するユーティリティであるxfsdumpとxfsrestoreが含まれています。

Hyper VとVirtualBoxの違い

もちろん、XFSにもデメリットがあります。

  1. データの正誤性を確認するジャーナルチェックサムに対応していない
  2. ジャーナリングを無効化できず、フラッシュディスクの寿命が短くなる
  3. メタデータ操作が遅く、1度に大量のファイルを削除するとパフォーマンスが低下する
  4. ファイルシステムのボリュームを直接縮小できないため、「バックアップ→再充填→復元」で間接的に縮小することになる

Windows 10からLinuxのファイルにアクセスする方法[完全ガイド]

最後に

XFSとExt4にはそれぞれ長所と短所があるので、自分のニーズに応じて選びましょう。また、プログラムがデフォルトファイルシステムを設定している場合は、デフォルトのままにしておくことをお勧めします。

  • reddit