Disk quota
1 Enable disk quota
First create a new partition /dev/sd5 and create the file system.
[root@local ~]# mkfs.ext4 /dev/sda5
Since xfs cannot succeed without disk quota, ext4 is used here.
Then mount the /dev/sda5 partition to /home
[root@local ~]# mount /dev/sda5 /home
[root@ local ~]# blkid /dev/sda5
/dev/sda5: UUID="8879cf63-99a5-43bb-9bfe-de303afb0799" TYPE="ext4"
Modify/etc /fstab file
[root@local ~]# vim /etc/fstab
UUID=dddd23d1-1012-4bac-9717-56b9b469e0c2 / ext4 defaults 1 1
UUID=316d8677-25b8-49af-b4eb-54daa20b6595 /boot ext4 defaults 1 2
UUID=dacd6ddd-d765-4646-b98c-0579f2732749 swap swap defaults 0 0
UUID=8879cf63-99a5-43bb-9bfe-de303afb0799 /home ext4 defaults,usrquota,grpquota 0 0
usrquota enables the user disk quota function of the disk, and grpquota enables the group disk quota function of the disk.
[root@centos7 ~]# mount –a /home/
Check whether the mount is successful
[root@local ~ ]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev, noexec,relatime)
[……]
/dev/sda5 on /home type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)
You can see that /dev/sda5 has been mounted correctly
2 Create a quota database
[root@centos7 ~] # quotacheck -cug /home
Since the /etc/fstab file sets usrquota and grpquota, so here must be –cug, u corresponds to usrquota, and g corresponds to grpquota.
Now check the /home directory and there will be two more files, indicating that the disk quota database was created successfully.
[root@local ~]# ll /home/
total 36
-rw-------. 1 root root 7168 Apr 25 11:03 aquota.group
-rw-------. 1 root root 7168 Apr 25 11:03 aquota.user
drwx------. 3 centos centos 4096 Apr 16 10:20 centos
drwx------. 2 root root 16384 Apr 25 10:55 lost+found
3 Enable database
[root@local ~]# quotaon /home/
[root@local ~]
# Come down and check it out, you can see that it was successfully enabled.
[root@local ~]# quotaon -p /home/
group quota on /home (/dev/sda5) is on
user quota on /home ( /dev/sda5) is on
4 Disk quota setting
Set user1 disk quota to 100M, and issue a warning when it reaches 80M
[root@local ~]# edquota user1
Disk quotas for user user1 (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda5 52 80000 100000 13 0 0
The default unit here is block, and 1 block is 1K. soft is the warning value, hard is the maximum value,
Now let’s confirm whether the configuration is successful
[root@local ~]# quota user1 #查看用户user 的磁盘配额 Disk quotas for user user1 (uid 1001): Filesystem blocks quota limit grace files quota limit grace /dev/sda5 52 80000 100000 13 0 0
5 Test
(1) Create the test user user1
[root@local ~]# useradd uesr1
Switch to user1 user
[root@local ~]# su - user1 Last login: Tue Apr 25 11:08:41 CST 2017 on pts/1
(2) Create a file test
First create a 50M file testquota.
[user1@local ~]$ dd if=/dev/zero of=testquota bs=1M count=50 50+0 records in 50+0 records out 52428800 bytes (52 MB) copied, 0.562963 s, 93.1 MB/s
You can see that everything is normal
Let’s create a 35M file testquota2.
[user1@local ~]$ dd if=/dev/zero of=testquota2 bs=1M count=35 sda5: warning, user block quota exceeded. 35+0 records in 35+0 records out 36700160 bytes (37 MB) copied, 0.348267 s, 105 MB/s
Because 50M+35M=85M is greater than 80M
Everyone saw a warning issued this time, but the operation was still successful
Come down and create again A 20M file testquota3.
[user1@local ~]$ dd if=/dev/zero of=testquota3 bs=1M count=20 sda5: write failed, user block limit reached. dd: error writing 'testquota3': Disk quota exceeded 13+0 records in 12+0 records out 13217792 bytes (13 MB) copied, 0.165029 s, 80.1 MB/s
Creation failed because it has exceeded the maximum value of 100M!
The test is completed and the experiment is over!
The above is the detailed content of Summarize the usage examples of disk quotas. For more information, please follow other related articles on the PHP Chinese website!