Red Hat Customer Portal
3.10. ext4 から XFS への移行
Red Hat Enterprise Linux 7.0 以降、デフォルトのファイルシステムは ext4 ではなく XFS になります。本セクションでは、XFS ファイルシステムを使用または管理する際の相違点を説明します。
ext4 ファイルシステムは、引き続き Red Hat Enterprise Linux 7 で完全にサポートされており、インストール時に選択できます。ext4 から XFS への移行は可能ですが、必須ではありません。
3.10.1. Ext3/4 と XFS の相違点
ファイルシステムの修復
Ext3/4 は、起動時にユーザースペースで e2fsck を実行して、必要に応じてジャーナルを復元します。比較すると、XFS はマウント時にカーネル空間でジャーナルリカバリーを実行します。fsck.xfs シェルスクリプトが提供されていますが、initscript 要件を満たすためだけに存在するため、有用なアクションは実行されません。
XFS ファイルシステムの修復またはチェックが要求されたら、xfs_repair コマンドを使用します。読み取り専用チェックには、 -n オプションを使用します。
xfs_repair コマンドは、ダーティーログがあるファイルシステムでは動作しません。このようなファイルシステムを修復するには、最初に mount と unmount を実行してログを再生する必要があります。ログが破損し、再生できない場合は、-L オプションを使用して、ログでゼロアウトすることができます。
XFS ファイルシステムのファイルシステム修復の詳細は、「XFS」 を参照してください。
メタデータエラーの動作
メタデータエラーが発生した場合は、ext3/4 ファイルシステムには設定可能な動作があり、デフォルトは単純になります。XFS が復元できないメタデータエラーが発生すると、ファイルシステムをシャットダウンし、EFSCORRUPTED エラーを返します。システムログにはエラーの詳細が含まれ、必要な場合は xfs_repair を実行することが推奨されます。
クォータ
XFS クォータは再マウントできるオプションではありません。クォータを有効にするには、-o quota オプションを初期マウントに指定する必要があります。
クォータパッケージ内の標準ツールは基本的なクォータ管理タスク( setquota や repquotaなど)を実行できますが、xfs_quota ツールは、プロジェクトのクォータ管理などの XFS 固有の機能に使用できます。
quotacheck コマンドは、XFS ファイルシステムには影響しません。XFS で初めてクォータアカウンティングがオンになっていると、内部的には自動クォータチェックが行われ ます。XFS クォータメタデータはファーストクラスであるため、ジャーナル化されたメタデータオブジェクトは、クォータを手動でオフにされるまでクォータシステムが常に一貫しています。
ファイルシステムのサイズ変更
XFS ファイルシステムには、ファイルシステムを縮小するユーティリティーがありません。XFS ファイルシステムは、xfs_growfs コマンドでオンラインで拡張できます。
Inode 番号
256 バイトの inode を持つ 1 TB を超えるファイルシステムの場合、または 512 バイトの inode を持つ 2 TB を超えるファイルシステムの場合は、XFS の inode 数が 2^32 を超える可能性があります。このような inode 番号が大きいと、32 ビットの統計呼び出しが EOVERFLOW の戻り値で失敗します。上記の問題は、デフォルトの Red Hat Enterprise Linux 7 設定を使用する場合は、4 つの割り当てグループでトリップすると発生する可能性があります。ファイルシステムの拡張や XFS ファイルシステムパラメーターの変更など、カスタム設定により、動作が異なる場合があります。
通常、アプリケーションはこのような大きな inode 番号を正しく処理します。必要に応じて、- o inode32 パラメーターを使用して XFS ファイルシステムをマウントし、2^32 未満の inode 番号を実施します。inode32 を使用しても、すでに 64 ビットの数値が割り当てられている inode には影響しません。
重要
特定の環境 で必要でない限り、inode32 オプションは使用しないでください。inode32 オプションは割り当ての動作を変更します。その結果、下層のディスクブロックに inode を割り当てるための領域がない場合に、ENOSPC エラーが発生する可能性があります。
投機的事前割り当て
XFS は、ファイルの書き込み時に、投機的事前割り当て を使用して、過去 EOF のブロックを割り当てます。これにより、NFS サーバーで書き込みワークロードを同時ストリーミングするので、ファイルの断片化が回避されます。デフォルトでは、この事前割り当てはファイルのサイズを大きくし、「du」出力に明確になります。投機的事前割り当てのあるファイルが 5 分間ダーティーではない場合、事前割り当ては破棄されます。inode がキャッシュからその時間前にサイクルされた場合には、inode が回収されると、事前割り当ては破棄されます。
投機的事前割り当てによりプリ成熟した ENOSPC の問題が発生する場合には、- o allocsize=amount マウントオプションを指定して、固定の事前割り当て量を指定できます。
断片化関連のツール
断片化は、遅延割り当てや投機的事前割り当てなど、ヒューリスティックや動作が原因で XFS ファイルシステムでは大きな問題が発生することはほとんどありません。ただし、ファイルシステムの断片化やファイルシステムのデフラグを測定するためのツールは存在します。この使用は推奨されていません。
xfs_db frag コマンドは、ファイルシステムの割り当てを 1 つの断片化数値に分割しようとします。これはパーセンテージで示されます。コマンドの出力には、その意味を理解するための重要な専門知識が必要です。たとえば、断片化係数 75% は、ファイルごとの平均 4 エクステントのみを意味します。このため、xfs_db の frag の出力が有用とみなされず、断片化の問題をより注意深く分析することが推奨されます。
警告
xfs_fsr コマンドは、個々のファイルのデフラグや、ファイルシステムのすべてのファイルをデフラグするために使用できます。ファイルの局所性を破棄し、空き領域が断片化された可能性があるため、後での使用は推奨されません。
ext3 および ext4 Compared のコマンドと XFS の比較
以下の表は、ext3 および ext4 で使用する一般的なコマンドを、XFS 固有の対応と比較しています。
表3.1 ext3 および ext4 の比較のための一般的なコマンド
タスク ext3/4 XFS
ファイルシステムを作成する mkfs.ext4 or mkfs.ext3 mkfs.xfs
ファイルシステムを確認する e2fsck xfs_repair
ファイルシステムのサイズ変更 resize2fs xfs_growfs
ファイルシステムのイメージを保存する e2image xfs_metadump and xfs_mdrestore
ファイルシステムのラベル付けまたはチューニングを行う tune2fs xfs_admin
ファイルシステムをバックアップする。 dump および restore xfsdump and xfsrestore
以下の表は、XFS ファイルシステムで機能する汎用ツールを示していますが、XFS バージョンにはより具体的な機能があるため、その方法が推奨されます。
表3.2 ext4 および XFS のための汎用ツール
タスク ext4 XFS
クォータ quota xfs_quota
ファイルマッピング filefrag xfs_bmap
一覧表示された XFS コマンドの詳細は、3章XFS ファイルシステム に含まれています。詳細は、リスト化された XFS 管理ツールの man ページも参照してください。

コメント