7.3.2. XFS ファイルシステム
XFS は堅牢かつ非常にスケーラブルな単一ホストの 64 ビットのジャーナリングファイルシステムです。完全にエクステントベースなので、非常に大規模なファイルおよびファイルシステムをサポートします。サポート対象となるファイルシステムの最大サイズは、500 TB です。XFS システムが保持できるファイル数は、ファイルシステム内の利用可能なスペースによってのみ制限されます。
XFS はクラッシュからの迅速なリカバリを容易にするメタデータジャーナリングに対応します。また、XFS ファイルシステムはマウントしてアクティブな状態でのデフラグや拡張も可能です。加えて Red Hat Enterprise Linux 6 では XFS 固有のバックアップやリストアなどのユーティリティにも対応しています。
XFS はエクステントベースの割り当てを使用し、遅延割り当てや明示的な事前割り当てなどの数多くの割り当てスキームがあります。エクステントベースの割り当てでは、ファイルシステム内の使用スペースを追跡するよりコンパクトで効率的な方法が提供されています。また、断片化とメタデータが消費するスペースを削減することで大きなファイルのパフォーマンスを改善します。遅延割り当ては、ファイルが連続するブロックグループに書き込まれる可能性を高めることで断片化を減らし、パフォーマンスを改善します。事前割り当てを使うと、アプリケーションが事前に書き込みが必要なデータ量を認識している場合に、完全に断片化を防ぐことができます。
XFS は b-tree を使ってすぐれた I/O スケーラビリティを提供し、すべてのユーザーデータとメタデータをインデックス化します。インデックス上の全オペレーションが基礎的 b-tree の対数近似スケーラビリティの特徴を継承するので、オブジェクト数は増大します。
mkfs
実行時に XFS が提供するチューニングオプションのいくつかは b-tree の幅が異なり、これが異なるサブシステムのスケーラビリティの特徴を変更します。
7.3.2.1. XFS の基本的なチューニング
通常、デフォルトの XFS フォーマットとマウントオプションは、ほとんどのワークロードで最適なものとなっています。Red Hat では、特定の設定変更がファイルシステムのワークロードに役立つことが予想される場合以外は、デフォルト値の使用を推奨しています。ソフトウェア RAID が使用されている場合は、
mkfs.xfs
コマンドが自動的に正しいストライプ単位と幅で設定を行ってハードウェアと調整します。ハードウェア RAID が使用されている場合は、この作業は手動で設定する必要がある場合があります。
ファイルシステムが NFS 経由でエクスポートされ、レガシーの 32 ビット NFS クライアントがそのファイルシステムへのアクセスを必要としている場合を除いて、マルチテラバイトのファイルシステムには
inode64
マウントオプションが強く推奨されます。
頻繁に修正されるファイルシステムやバースト状態のファイルシステムには、
logbsize
マウントオプションが推奨されます。デフォルト値は MAX
(32 KB、ログストライプユニット)で、最大サイズは 256 KB です。大幅な修正が行われるファイルシステムには、256 KB の値が推奨されます。