quota:磁盘配额,是个贼重要的东西,老早前就该记录,一直忘记了,今天上课正好讲到了quota,就索性在这记录下吧!
这里我用/home分区为目标,毕竟作/和/boot分区没多大意义,quota是针对分区
[root@linuxsir ~]# df -h |grep home
/dev/sda6 19G 5.2G 13G 29% /home
修改/etc/fstab文件如下,这个文件也是贼重要的,开机用到的第三个文件哦,注意关键字:usrquota和grpquota,这个最好用vim编辑,写正确了颜色会加亮,vi则不会!
[root@linuxsir ~]# grep home /etc/fstab
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
初始化操作:
[root@linuxsir ~]# quotaoff -a
[root@linuxsir ~]# umount /home/
[root@linuxsir ~]# mount -a
[root@linuxsir ~]# quotacheck -cmugf /dev/sda6
[root@linuxsir ~]# ls /home/
aquota.group aquota.user chen lost+found yang
[root@linuxsir ~]# quotaon -a
设定用户chen的相关配额,单位是K,100代表文件大小的软限制,200则是硬限制,前者自然要小于后者,硬限制是用户实际能消费文件系统的大小,也就是说这里最大是200K,软限制是说用户达到100K后,系统会告警,7天内用户还能使用到200K的空间大小,7天后就只能使用100K的空间,后面的两个鸭蛋代表的是文件个数的软,硬限制,限制文件个数的意义实在不大…,另外推荐使用setquota命令,这可以写进shell脚本中,实现自动化工作,edquota则需要交互。
[root@linuxsir ~]# setquota -u chen 100 200 0 0 /dev/sda6
查看配额报告
[root@linuxsir ~]# repquota -u /dev/sda6
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
———————————————————————-
root — 4768856 0 0 90 0 0
ftp — 876 0 0 1 0 0
yang — 605736 0 0 1517 0 0
chen — 72 100 200 9 0 0
[chen@linuxsir ~]$ dd if=/dev/zero of=/home/chen/1 bs=100K count=1
sda6: warning, user block quota exceeded.
1+0 records in
1+0 records out
102400 bytes (102 kB) copied, 0.0662728 seconds, 1.5 MB/s
[chen@linuxsir ~]$ du -sh
180K .
[root@linuxsir ~]# repquota -u /dev/sda6
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
———————————————————————-
chen +- 180 100 200 6days 10 0 0
已经写不进去了,同时出现了告警信息了!
[chen@linuxsir ~]$ dd if=/dev/zero of=/home/chen/2 bs=21K count=1
sda6: write failed, user block limit reached.
dd: 写入 “/home/chen/2”: 超出磁盘限额
1+0 records in
0+0 records out
16384 bytes (16 kB) copied, 0.000911569 seconds, 18.0 MB/s