ディスククォータを設定する2018/11/27 |
ディスククォータを設定してディスクの使用量を制限します。
例として、/home にマウントした ext4 ファイルシステムに対してクォータを設定します。
RedHat 系で使用されている XFS ファイルシステムの場合はこちらを参照ください。 |
|
[1] | クォータツールをインストールします。 |
root@dlp:~# apt -y install quota quotatool
|
[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] | ユーザークォータを設定します。例として [ubuntu] ユーザーにクォータを適用します。 |
# 設定確認 root@dlp:~# quotaon -ap group quota on /home (/dev/sdb1) is off user quota on /home (/dev/sdb1) is on project quota on /home (/dev/sdb1) is off # Softリミット 4G, Hardリミット 5G を設定 (キロバイト単位で指定) Disk quotas for user ubuntu (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 32 4096000 5120000 7 0 0 # 設定確認 root@dlp:~# repquota -au
*** Report for user quotas on device /dev/mapper/vg_volume01-lv_volume01
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
ubuntu -- 32 4096000 5120000 10 0 0
|
[4] | あるユーザーへの既存設定を他ユーザーにも適用する場合は以下のように設定します。 |
# [ubuntu] ユーザーのクォータ設定を [fedora] ユーザーにも適用 root@dlp:~# edquota -p ubuntu fedora root@dlp:~# repquota -au *** Report for user quotas on device /dev/mapper/vg_volume01-lv_volume01 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 ubuntu -- 32 4096000 5120000 10 0 0 fedora -- 16 4096000 5120000 4 0 0 |
[5] | グループクォータを設定します。例として [ubuntu] グループにクォータを適用します。 |
# 設定確認 root@dlp:~# quotaon -ap group quota on /home (/dev/sdb1) is on user quota on /home (/dev/sdb1) is on project quota on /home (/dev/sdb1) is off # Softリミット 4G, Hardリミット 5G を設定 (キロバイト単位で指定)
Disk quotas for group ubuntu (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 ubuntu +- 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:~#
vi /etc/warnquota.conf # 必要であればメール送信元等を変更 MAIL_CMD = "/usr/sbin/sendmail -t" FROM = "root@localhost" # but they don't have to be: SUBJECT = Over quota CC_TO = "root@localhost" SUPPORT = "root@localhost" PHONE = "<enter your phone number here>" # CHARSET = UTF-8 # 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: ubuntu Delivered-To: ubuntu@dlp.srv.world From: root@srv.world Reply-To: root@srv.world Subject: NOTE: You are exceeding your allocated disk space limits To: ubuntu@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 |