Red Hat Training

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

12.2.2. XFS

ブート時に修復が自動的に行なわれません。ファイルシステムの確認または修復を開始するには、xfs_repair ツールを使用します。
注記
xfsprogs パッケージには fsck.xfs バイナリーが存在しますが、これは、システムの起動時に fsck.filesystem バイナリーを検索する initscripts を満たすためにのみ存在します。fsck.xfs は、すぐに終了コード 0 で終了します。
別の点としては、古い xfsprogs パッケージには xfs_check ツールが含まれていることでしょう。このツールは非常にスピードが遅く、大きなファイルシステムに対して十分な拡張性がありません。そのため、xfs_repair -n が優先的に選択され、これは非推奨になっています。
ファイルシステム上のクリーンログは xfs_repair が動作するために必要です。ファイルシステムがクリーンな状態でアンマウントされなかった場合は、xfs_repair を使用する前に、マウントとアンマウントが実行される必要があります。ログが破損していて再生できない場合、-L オプションを使用してログをゼロ化できます。
重要
-L オプションは、ログを再生できない場合にのみ使用する必要があります。このオプションは、ログ内のすべてのメタデータ更新を破棄し、さらに不整合が生じます。
-n オプションを使用して、Dry Run で、チェックのみモードの xfs_repair を実行することができます。このオプションを指定すると、ファイルシステムに一切の変更は行なわれません。
xfs_repair で使用できるオプションは非常に限られています。共通に使用されるオプションには以下が含まれます。
-n
非変更モードです。チェックのみの操作。
-L
ゼロメタデータログ。マウントによってログを再生できない場合にのみ使用します。
-m maxmem
最大 MB の実行時に使用されるメモリーを制限します。必要な最小メモリーの概算を出すために 0 を指定できます。
-l logdev
外部ログデバイス (ある場合) を指定します。
xfs_repair のすべてのオプションが xfs_repair(8) man ページで指定されています。
以下の 8 つの基本フェーズが、実行中に xfs_repair によって実施されます。
  1. Inode および inode ブロックマップ (アドレス指定) のチェック。
  2. Inode 割り当てマップのチェック。
  3. Inode サイズのチェック。
  4. ディレクトリーのチェック。
  5. パス名のチェック。
  6. リンク数のチェック。
  7. フリーマップのチェック。
  8. スーパーブロックチェック。
これらのフェーズ、および操作中に出力されるメッセージは、man ページの xfs_repair(8) の深度に文書化されています。
xfs_repair はインタラクティブな操作ではありません。すべての操作は、ユーザーの入力なしに自動的に実行されます。
診断またはテスト目的で、修復前のメタデータイメージを作成する必要がある場合は、xfs_metadump(8) および xfs_mdrestore(8) ユーティリティーを使用することができます。