quotaでディスクの使用制限をかける
●事前準備
# vi /etc/fstab
---
/dev/md2 /home ext3 defaults,usrquota,grpquota 1 1
---
# mount -o remount /home (再マウント)
or
# reboot
確認コマンド
# mount
---
/dev/sda2 on /home type ext3 (rw,usrquota,grpquota)
---
このような表示がされたらquota機能が使える状態です。
次は実際にユーザ使用量を確認します。
# quotacheck -faugv
# quotacheck -faugvm
a: /etc/mtab にある NFS 以外の全てのファイルシステムをチェックする
f: quota が有効にされているファイルシステムに対して quota ファイルをチェック
u: ユーザクオータのチェック
g: グループクオータのチェック
v: 画面に進行状況を表示
m: ファイルシステムをリードオンリーで再マウントしない(強制的なチェック)
quotacheckコマンドはファイルシステムを読み出し専用で再マウントし,チェックします。
(mオプションをつけるとこの動作はしない)
終わったら元のモードに戻します。
もし/(ルート)ファイルシステムをチェックする場合は -m オプションもつけます。
これでファイルシステムのルート(/home)に aquota.usesr と aquota.group が作成されています。
次のコマンドでquota機能をonにします。
# quotaon -augv
●実際に制限をかける
ユーザhoge1に対して1Mしか許可しない設定の場合はブロック単位でのハード制限を設定する。
edquotaコマンドを実行するとデフォルトでviが起動します。
# edquota hoge1
---
Disk quotas for user hoge1 (uid 502):
Filesystem blocks soft hard inodes soft hard
/dev/sda2 40 0 1024 11 0 0
---
それぞれの意味は順番に,
ファイルシステム名
使用中のブロック数
ブロック単位でのソフト制限
使用中のノード数
ノード数でのソフト制限
ノード数でのハード制限
となります。
●運用時の注意点
マシン再起動時に自動的にクオータのチェックが行われますが,24時間起動のマシンだとcronで定期的にquotacheckコマンドをかけてquota.userとquota.groupを更新してやる必要があります。
●確認コマンド
# repquota -augv