设置配置管理
直接说有用的好了,Linux不管是什么文件系统下都可以进行配额管理,一般配置磁盘配额可以按用户名进行限制,也可以按组名进行限制。修改限制的方法是在/etc/fstab的挂载中添加usrquota或者grpquota,
想限制哪个文件系统就在哪个上面加参数,下面是对根文件系统按用户名和按组名进行磁盘配额管理:
LABEL=/ / ext4 defaults,usrquota,grpquota 1 1
然后再对用户的配额进行设置:
[root@localhost ~]# edquota -u testuser1
Disk quotas for user testuser1(uid 710):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 80 0 0 10 0 0 <<--只需修改这一行就可以
从上面的参数可以看出来这是一个在/dev/hda3没有配额限制的用户
80 0 0 10 0 0分别指的是
blocks =80 soft=0 hard=0
inodes =10 soft=0 hard=0
含义分别是,
对于数据块block 而言现在占用了80KB (也就是80*1024字节)。软的限制是0(不限)硬的限制也是0
对于inodes 而言现在占用了10个节点(也就是有10个目录)。软的限制是0(不限)硬的限制也是0
简单地理解soft 和 hard, soft就是一个限额的一个告警阀值,用户超过这个数据量存储文件时,仍然可以存储,但是会收到告警信息。hard就是一个刚性的极限阀值,到达这个数据量之后就不可能再写入了。即使文件系统中还有空闲的存储空间(空闲的是给别的用户或组使用的)
查看结果
quota -uvs testuser1
[root@localhost ]# quota -uvs testuser1
Disk quotas for user testuser1 (uid 710):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda3 80 40000 50000 0 8 10
对于NFS怎么处理?
只需要在NFS SERVER上设置磁盘配额,如果采用NIS等共享用户名系统,NFS的客户端会通过RPC自动把磁盘配额的信息从服务器中同步过来,无需额外操作。
对于小型的组网,没有使用NIS系统,需要确保磁盘限额相关用户在server端的userid和client端一致。