前回まで、XFSの技術的な特徴について詳しく解説した。今回は、XFSの基本的な利用方法を解説していこう。ext系のファイルシステムとのユーティリティ―の違いや、XFSが備えるinodeの動的割り当て機能、ディスク上のブロックを分割管理するアロケーショングループについても説明する。

一貫性チェックはext系と異なる

 XFSを利用するとき、フォーマットとマウントについてはext3などのファイルシステムと特に変わるところはない。mkfsやmountコマンドでファイルシステムを指定して実行する。マウント(mount)時に、自動的にジャーナルをリプレイすることで一貫性を保している。

 一貫性チェックのやり方については、他のファイルシステムと少し異なる。XFSは起動時に実行されるfsckコマンドでは、全く何もせずに単に成功する。実際に修復作業が必要な場合は、umountコマンドでアンマウントした上で、修復コマンドのxfs_repairを利用する。

 fsckは、突然の電源断などでファイルシステムがアンマウントされずに終了した状態(dirtyな状態)などを契機として実行される。だが、xfs_repairはこのようなイベントによる自動起動ではなく、管理者が明示的に呼び出した場合に限り実施される。例えば、ディスクが部分的に障害を起こした場合や、XFSの実装上のバグ、オペレーション上のミスによる不適切なデータの書き込みなどで不整合が発生した場合に対応するために利用する。

 xfs_repairは、問題を示すカーネルメッセージが出力された場合や不可解な挙動をしたときに実施するのはもちろん、重要なシステムではストレージやLVM(logical Volume Manager)の機能で提供されるスナップショットイメージに対して検査のために定期的に実施するのが理想的である。

 ここで説明したxfs_repair以外にも、XFSでは、ext系ファイルシステムと利用するユーティリティーが異なる。主なものを表1にまとめた。運用時の操作に直結するのであらかじめ確認しておくとよい。主要な機能はXFSとextのどちらにもあるが、XFSでは、fsckが何もしないほか、ファイルシステムが拡張しかできず縮小できない点が大きな違いとなる。

表1●ext2/3/4とxfsのユーティリティー対応表
機能 ext2/3/4用 xfs用
フォーマット mke2fs、mkfs.ext2/3/4 mkfs.xfs
一貫性のチェック e2fsck、fsck.ext2/3/4 fsck.xfs (何もしない)、xfs_repair
情報表示 dumpe2fs xfs_info
デフラグ e4defrag(ext4のみ) xfs_fsr
サイズ拡張 resize2fs xfs_growfs(拡張のみ)
一時停止・再開 fsfreeze xfs_freeze、fsfreeze
バックアップ・リストア dump、restore xfsdump、xfsrestore
メタデータのバックアップ・リストア e2image xfs_metadump、xfs_mdrestore
パラメーター変更 tune2fs xfs_admin
クォータ管理 quota、quotaonなど xfs_quota
ファイルが利用しているディスク上のブロック一覧 filefrag xfs_bmap