磁盘配额(quota):从字面上来理解就是限制磁盘的意思。
因为linux是多用户,多任务的环境,所以会有多用户共同使用快硬盘的情况,如果某几个用户大量使用了硬盘空间,那么肯定会影响其他用户的正常使用。所以引入“配额”这一概念,给用户何止空间使用上限。
首先是quota的使用限制:
quota仅针对文件系统,即不能随便对某个目录进行限制
内核必须支持quota
quota只对普通用户生效
然后quota对文件系统的限制分为:容量限制,即限制inode用量;文件数量限制,即限制block用量。
这里以/dev/sdb为例:
先重新挂载一下:
mount -o remount,usrquota,grpquota /dev/sdb =>添加quota支持
quotacheck -avug =>生产quota配置文件
这时,在挂载目录下会生成aquota.group,aquota.user两个配置文件,有了这两个配置文件才可以启动quota
quotaon -avug =>启动quota
quotaoff -avug =>关闭quota
开启了quota功能,接下来就可以进行编辑了。
这里主要用到的是edquota指令:
edquota -u dh 进入dh用户的quota配置界面进行下设置。
这里说下各行各列的含义:
第一列:指定限制值是针对哪个文件系统的
第二列:blocks(磁盘容量):这是quota自己算出来的,单位为KB,不要修改它
第三列:soft:磁盘容量block的soft限制,单位kb
第四列:hard:磁盘容量的hard限制,单位kb
第五列:inodes(文件数量):同第一列
第六列:inode的soft限制
第七列:inode的hard限制
当soft/hard为0时,表示没有限制。
在配置界面设置好quota值后,可以使用quota查看用户的限额
quota -uvs dh
repquota -avus (输出整个文件系统的配额报表)
最后可以验证一下,给配额后的磁盘传一个超出范围的文件
或者生成一个大文件
dd if=/dev/zero of=bigfile1 bs=1M count=500
超出配额的话会显示超出磁盘配额
这时再退回跟用户查看的话会发现已经完全写满了。