磁盘配额(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

超出配额的话会显示超出磁盘配额

这时再退回跟用户查看的话会发现已经完全写满了。