ディスククォータを設定する2011/07/12 |
ディスククォータを設定してディスクの使用量を制限します。
例として、/home にマウントした ext4 ファイルシステムに対してクォータを設定します。
|
|
[1] | クォータツールをインストールします。 |
[root@dlp ~]# yum -y install quota
|
[2] | マウントオプションを追加してクォータを有効にします。 |
# ユーザークォータとグループクォータのオプションを付加して再マウント [root@dlp ~]# umount /home [root@dlp ~]# mount -o usrquota,grpquota /dev/sdb1 /home
[root@dlp ~]#
vi /etc/fstab # 起動時も有効となるようオプション追記
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=cf3f9660-e40d-459d-8763 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /home xfs defaults,usrquota,grpquota 0 0
|
[3] | ユーザークォータを設定します。例として「cent」ユーザーにクォータを適用します。 |
# 設定確認 [root@dlp ~]# quotaon -ap group quota on /home (/dev/sdb1) is off user quota on /home (/dev/sdb1) is on # Softリミット 4G, Hardリミット 5G を設定 (キロバイト単位で指定) Disk quotas for user cent (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 16 4096000 5120000 7 0 0 # 設定確認 [root@dlp ~]# repquota -au
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
cent -- 16 4096000 5120000 4 0 0
|
[4] | あるユーザーへの既存設定を他ユーザーにも適用する場合は以下のように設定します。 |
# 「cent」ユーザーのクォータ設定を「fedora」ユーザーにも適用 [root@dlp ~]# edquota -p cent fedora [root@dlp ~]# repquota -au *** Report for user quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 cent +- 5120000 4096000 5120000 6days 7 0 0 fedora -- 4 4096000 5120000 4 0 0 |
[5] | グループクォータを設定します。例として「cent」グループにクォータを適用します。 |
# 設定確認 [root@dlp ~]# quotaon -ap group quota on /home (/dev/sdb1) is on user quota on /home (/dev/sdb1) is on # Softリミット 4G, Hardリミット 5G を設定 (キロバイト単位で指定)
Disk quotas for group cent (gid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 5120000 4096000 5120000 7 0 0
# 設定確認 [root@dlp ~]# repquota -ag *** Report for group quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits Group used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 cent +- 5120000 4096000 5120000 6days 7 0 0 fedora -- 16 0 0 4 0 0 |
[6] | Warnquota を設定すると、制限を超えて使用しているユーザーに警告メールを送信することができます。 メールを送信するため、SMTPサーバーが稼働していることが前提になります。 |
[root@dlp ~]#
vi /etc/quotatab # クォータを設定したデバイスと要約を追記
/dev/sdb1: Your Home Director
# メール送信元のドメイン名を修正 [root@dlp ~]# sed -i -e "s/example\.com/server\.world/g" /etc/warnquota.conf
# warnquota 実行 [root@dlp ~]# warnquota -s
# warnquota 実行時に制限を超えているユーザーには以下のようなメールが送信される From root@dlp.srv.world Fri Oct 23 09:38:10 2011 Return-Path: <root@dlp.srv.world> X-Original-To: cent Delivered-To: cent@dlp.srv.world From: root@srv.world Reply-To: root@srv.world Subject: NOTE: You are exceeding your allocated disk space limits To: cent@dlp.srv.world Cc: root@srv.world Date: Fri, 23 Oct 2011 09:38:10 +0900 (JST) Status: R Your disk usage has exceeded the agreed limits on this server Please delete any unnecessary files on following filesystems: Your Home Director (/dev/sdb1) Block limits File limits Filesystem used soft hard grace used soft hard grace /dev/sdb1 +- 5000M 4000M 5000M 6days 7 0 0 root@srv.world |
Sponsored Link |