Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.10. ext4 から XFS への移行

Red Hat Enterprise Linux 7.0 以降、XFS は ext4 ではなくデフォルトのファイルシステムです。本セクションでは、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 コマンドは、ダーティーログを持つファイルシステムでは機能しません。このようなファイルシステムのマウントを修復するには 、最初にログを再生する必要がありますログが破損し、再生できない場合は、-L オプションを使用してログ内でゼロアウトできます。
XFS ファイルシステムのファイルシステムの修復の詳細は、を参照してください。 「XFS」
メタデータエラーの動作
ext3/4 ファイルシステムには、メタデータエラーが発生すると設定可能な動作があり、デフォルトは単に続行されるためです。XFS がリカバリーできないメタデータエラーに遭遇すると、ファイルシステムをシャットダウンし、EFSCORRUPTED エラーが返されます。システムログにはエラーの詳細が含まれ、必要に応じて xfs_repair を実行することが推奨されます。
クォータ
XFS クォータは再マウントできるオプションではありません。クォータを有効にするには、-o quota オプションを指定する必要があります。
quota パッケージの標準ツールは、基本的なクォータ管理タスク (setquotarepquotaなどのツール) を実行できますが、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 で失敗します。4 つの割り当てグループでは、デフォルトの Red Hat Enterprise Linux 7 設定を使用すると、上記の問題が発生する可能性があります。ファイルシステムの拡張などのカスタム設定や 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 コマンドを使用すると、個々のファイルまたはファイルシステムのすべてのファイルをデフラグできます。ファイルのローカリティーを破棄し、空きスペースを断片化するため、後で推奨されません。

XFS に関する ext3 と ext4 比較で使用するコマンド

以下の表は、ext3 および ext4 で使用される共通のコマンドと、XFS 固有のコマンドを比較しています。

表3.1 ext3 および ext4 の共通コマンドと XFS のコマンドの比較

タスク 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 quota xfs_quota
ファイルマッピング filefrag xfs_bmap
記載されている XFS 3章XFS ファイルシステム。また、XFS 管理ツールの man ページで詳細を確認することもできます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。