前回まで、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が何もしないほか、ファイルシステムが拡張しかできず縮小できない点が大きな違いとなる。
機能 | 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 |