ディスククォータを設定する2020/01/09 |
ディスククォータを設定して、ユーザー毎にディスクの使用量を制限します。
例として、[/home] にマウントした XFS ファイルシステムに対してディスククォータを設定します。
ext4 ファイルシステムの場合はこちらを参照ください (Ubuntu 18.04)。 |
|
[1] | マウントオプションを追加してクォータを有効にします。 |
# ユーザークォータとグループクォータのオプションを付加して再マウント [root@dlp ~]# umount /home [root@dlp ~]# mount -o uquota,gquota /dev/sdb1 /home
[root@dlp ~]#
vi /etc/fstab # 起動時も有効となるようオプション追記
/dev/mapper/cl-root / xfs defaults 0 0
UUID=b7886c5b-b915-4b00-aaa0-2cc856645e3d /boot ext4 defaults 1 2
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sdb1 /home xfs defaults,uquota,gquota 0 0
|
[2] | クォータを設定します。例として [cent] ユーザーにクォータを適用します。 |
# クォータツールをエキスパートモードで起動 [root@dlp ~]# xfs_quota -x /home # 現在の状態を表示 xfs_quota> state User quota state on /home (/dev/sdb1) Accounting: ON Enforcement: ON Inode: #131 (2 blocks, 2 extents) Group quota state on /home (/dev/sdb1) Accounting: ON Enforcement: ON Inode: #132 (2 blocks, 2 extents) Project quota state on /home (/dev/sdb1) Accounting: OFF Enforcement: OFF Inode: N/A Blocks grace time: [7 days] Inodes grace time: [7 days] Realtime Blocks grace time: [7 days] # 設定状況のレポートを表示 xfs_quota> report -h User quota on /home (/dev/sdb1) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] cent 16K 0 0 00 [------] redhat 12K 0 0 00 [------] Group quota on /home (/dev/sdb1) Blocks Group ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] cent 16K 0 0 00 [------] redhat 12K 0 0 00 [------] # [cent] ユーザーに Soft リミット 4G, Hard リミット 5G を設定 xfs_quota> limit bsoft=4g bhard=5g cent # 設定確認 xfs_quota> report -h -u User quota on /home (/dev/sdb1) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] cent 16K 4G 5G 00 [------] redhat 12K 0 0 00 [------] |
[3] | グループクォータを設定する場合は、以下のように [-g] オプションを付加します。 |
# 非対話モードでも設定可 [root@dlp ~]# xfs_quota -x -c 'limit -g bsoft=4g bhard=5g cent' /home
xfs_quota -x -c 'report -h -g' /home Group quota on /home (/dev/sdb1) Blocks Group ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] cent 16K 4G 5G 00 [------] redhat 12K 0 0 00 [------] |
[4] | Warnquota を設定すると、制限を超えて使用しているユーザーに警告メールを送信することができます。 メールを送信するため、SMTP サーバーが稼働していることが前提になります。 |
[root@dlp ~]#
vi /etc/quotatab # クォータを設定したデバイスと要約を追記
/dev/sdb1: Your Home Directory
# メール送信元のドメイン名を修正 (自身のドメイン名に置き換え) [root@dlp ~]# sed -i -e "s/example\.com/srv\.world/g" /etc/warnquota.conf
# warnquota 実行 [root@dlp ~]# warnquota -s
# warnquota 実行時に制限を超えているユーザーには以下のようなメールが送信される From root@dlp.srv.world Thu Jan 8 19:32:10 2020 Return-Path: <root@dlp.srv.world> X-Original-To: root@dlp.srv.world Delivered-To: root@dlp.srv.world From: root@dlp.srv.world Reply-To: root@dlp.srv.world Subject: NOTE: You are exceeding your allocated disk space limits To: cent@dlp.srv.world Cc: root@dlp.srv.world Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Date: Thu, 8 Jan 2020 19:32: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 Directory (/dev/sdb1) Block limits File limits Filesystem used soft hard grace used soft hard grace /dev/sdb1 +- 4449M 4096M 5120M 6days 8 0 0 root@dlp.srv.world |
Sponsored Link |
|