案例:
/test目录 777 50m/用户
一、开启分区的磁盘配额的功能
临时设置:使用命令 mount -o remount,usrquota /test
永久设置:编辑/etc/fstab文件,在挂载属性上标志usrquota[用户配额]或grpquota[用户组配额,不常用]
/dev/sdb1 /test ext4 defaults,usrquota 1 2
二、建立配额数据库
quotacheck -cvuga【quota 配额,限额,定额】
-c 创建
-v 显示详细信息
-u 建立检测用户配额
-g 建立检测用户组配额
-a 检测所有分区
quotacheck -cvu /test #只建立用户配额,并且精确到/test分区
执行该命令之后会创建aquota.user,aquota.groups两个文件
附-如果此时系统开启了SELinux的话,该命令可能会执行不成功,页面显示如下
解决方案-关闭SELinux
setenforce 0
getenforce
此时,再执行quotacheck -cvu /test
OK!
三、启用配额功能
quotaon [分区名称]
如:quotaon /test
【关闭配额功能:quotaoff 分区名称】
四、编辑用户配额
edquota 用户名 进入用户配额编辑模式
如: edquota hadoop
格式说明: blocks (kb) soft hard 限定该用户使用空间的大小
inodes soft hard 限定该用户创建文件的多少【很少用】
软限制(Soft limit):定义用户可以占用的磁盘空间数。当用户超过该限制后会收到以超过配额的警告。
可以用edquota -t 设置宽限期
宽限期(Grace period):定义用户在软限制下可以使用其文件系统的期限
硬限制(Hard limit):当用户试图将文件存放在其已经超过该限制值目录时,报告文件系统错误,不能继续创建文件。
其实只设置blocks中的应限制即可:hadoop用户只能用50M,如下图所示
【edquota -g 用户组名 编辑用户组配额】
五、如果有多个用户需要复制用户配额
edquota -p 模板用户 复制用户1 复制用户2 ... 复制用户n
六、检测
七、查看配额信息
quota [用户名] #查看用户的配额使用情况,不加用户名则可查看自己的磁盘配额情况
repquota -a 或 repquota /test #管理员查看配额信息