Gentooを使ってみた理由の一つにxfsを使って見たいというのがあったので、インストール時から使ってますが
mkfs.xfs /dev/hda1とかであっさりフォーマットできますし、ルートでも特に問題なくマウントできたりとごく普通(笑)
でも、電源ぶっち切りテストとかやるのも面白くないんで、前々からやりたかった大容量quotaができるかどうかやってみました。
というか調べて知ったんですが、XFSって強力なquota機能持ってるんですね。
XFS ファイルシステムは特殊なケースである - XFS は quota 情報をファイルシステムメタデータとして扱い、ジャーナルを用いて高レベルで一貫性を保証する。 XFS ディスク quota システムには、集計 (accounting) と制限の強制 (limit enforcement) を行う 2 つのコンポーネントがある。 XFS ファイルシステムは quota の集計をマウント時に有効にする必要がある。 quota 集計を有効にした後で、 XFS ファイルシステムの制限の強制を有効にしたり無効にしたりできる。デフォルトでは集計と強制の両方が有効にされる。
XFS の quota の実装では、ユーザーから見えるファイルではなく (ファイルシステムの) 内部に quota 情報を格納する
$ quotacheck -avugなんて言う感じで先に情報を収集して専用のファイルに書いておかないといけないんですが、XFSはマウントオプションで「quota」を指定しておけば、ジャーナルレベルで集計するので実情と必ず一致するという便利設計なようです。(オプションの意味)
-a NFS以外の全quota領域
-c 新規スキャン
-u ユーザ情報でのチェック
-g グループ情報でもチェック
では、実際に使ってみます。
まず、対象のパーテーションのマウントオプションにquotaを指定します。
/dev/md0 /hoge xfs auto,quota 0 0終わったらマウント(既にマウントしてある場合はアンマウントして再マウント)してください。
終わったらquotaonコマンドでquotaが有効になっているかどうか確認してみましょう
# quotaon -v /hogeこれで準備は完了です。
quotaon: Enable XFS group quota during mount
quotaon: Enforcing user quota already on /dev/md0
後は、edquotaコマンドで制限をしたいユーザについて設定を行えば完了です
Disk quotas for user foo (uid 500): Filesystem blocks soft hard inodes soft hard /dev/md0 20389149 31457280 41943040 3922 0 0
にしてもXFSってでかいファイルの削除が早かったりと細かい点で見てもReiserFSよりも良さそうな感じです。
枯れてるという意味ではReiserFSに一日の長がありますが、取って変わられる日も遠くない感じがします。