天天看點

RHCE6 Preperation (11) – Quota

Create quota for user alice and /home/alice, least/soft limit is 40K, when exceeding 80K, the system will display the exceeded the user quota.

1, check the kernel support the quota function,

[root@server4 home]# grep CONFIG_QUOTA /boot/config-2.6.32-358.6.1.el6.x86_64 
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
[root@server4 home]#      

2, modify the /etc/fstab to activate the quota support for the /home folder,

[root@server4 home]# vim /etc/fstab      

add 'usrquota' and 'grpquota'

/dev/mapper/vgsrv-home  /home                   ext4    defaults,usrquota,grpquota        1 2      

3, remount the file system, make the quota effective,

mount -o remount,usrquota,grpquota /home      

4, use quotacheck command to generate the basic quota configuration file,

quotacheck -cugmv /home      

5, activate the quota limitation,

quotaon /home      

 6, use edquota command to configure the quota limit to specific user,

[root@server4 home]# edquota -u alice      

modify the content to:

Disk quotas for user alice (uid 1004):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/mapper/vgsrv-home           80         40         80         12        0        0      

here 40K as soft limit, 80K as hard limit.

7, use repquota to check the quota status,

[root@server4 home]# repquota /home
*** Report for user quotas on device /dev/mapper/vgsrv-home
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   37945       0       0              5     0     0       
lucy      --      16       0       0              8     0     0       
student   --   38337       0       0            226     0     0       
mary      --      20       0       0             10     0     0       
alice     +-      80      40      80  7days      12     0     0       
bobby     --      16       0       0              8     0     0       
aclan     --      16       0       0              8     0     0      

8, test the result,

[root@server4 home]# su - alice
[alice@server4 ~]$ dd if=/dev/zero of=file1 bs=1k count=50
dm-3: warning, user block quota exceeded.
50+0 records in
50+0 records out
51200 bytes (51 kB) copied, 0.00173795 s, 29.5 MB/s      

here the file1 created successful, however there is a warning, if continue to create file, it will fail,

[alice@server4 ~]$ dd if=/dev/zero of=file2 bs=1k count=30
dm-3: write failed, user block limit reached.
dd: writing `file2': Disk quota exceeded
9+0 records in
8+0 records out
8192 bytes (8.2 kB) copied, 0.00401174 s, 2.0 MB/s      

file2 still created successful, but already reached 80K, if create another 1K file file3,

[alice@server4 ~]$ dd if=/dev/zero of=file3 bs=1k count=1
dd: opening `file3': Disk quota exceeded