功能说明
同样以ftp为例,老师做的ftp(可以是整个磁盘也可以是文件夹)给同学们存放数据,不做任何设置,他会将整个磁盘空间用完,怕就怕是恶作剧整完的,是故意浪费完的,存放的全是垃圾文件,所以要给每个用户配额(最多能放多少数据),有点类似百度云的做法吧,你充钱我就让你可以用5T空间,不充钱就给你1T空间。这就是磁盘配额的作用。
**注意**:xfs支持目录(文件夹)配额;ext不支持目录配额,只支持对整个磁盘配额,xfs比ext更具体,下面分别讲解不同分区格式的配额
由于centos7默认文件系统格式是xfs,所以我下面以xfs文件系统为例,下篇文章讲ext4配额,其实差不多,只不过多一个步骤
步骤:
1、安装配额工具quota
yum install quota
2、获得配额磁盘的uuid,以/dev/sda3 ----->/data 为例
3、修改配置文件/etc/fstab 启动配额功能
将磁盘/dev/sda3 挂到/data 下
重要参数: defaults,usrquota
4、若之前挂载过要取消挂载!ext4不需要,然后用 mount -a 重新读取/etc/fstab
5、开启或关闭磁盘配额
quotaon /dev/sdb1 #开启磁盘配额功能
quotaoff /dev/sdb1 #关闭磁盘配额功能
6、编辑用户配额 (给zhang3配额)
交互式方法:
命令:edquota zhang3
参数解释:
Filesystem:分区,开启了磁盘配额的分区
blocks:1028 用户在该分区下 “已经使用” 的空间 “K” 为单位。
soft:磁盘空间的软限制:用户使用的空间达到该值的时候,会报警。
hard:磁盘空间的硬限制:最大能使用的空间。
inodes:用户 “已经创建的” 文件数量。
soft:用户创建的文件数量,达到该值的时候,报警。(一般不进行限制,或者限制值很大)
hard:用户最多只能创建多少个文件。
例如:只让zhang3在/data目录下最多使用400k空间,软限制200k,硬限制400k
非交互式方法:(命令方法)
命令格式:setquota -u/-g 用户名/组名 空间(软) 空间(硬) 文件数量(软) 文件数量(硬) 操作的分区名称
例如:同上,只让zhang3在/data目录下最多使用400k空间,软限制200k,硬限制400k
setquota -u zhang3 200 400 0 0 /dev/sda3
测试:
7、查询某个用户的磁盘配额
命令 : quota zhang3
8、用户配额复制
作用:将用户a的配额设置复制给用户b或更多用户
命令格式:edquota -p 模板用户 用户1 用户2 用户3
9、 本地磁盘用户配额报表
命令:repquota -auvs
扩展知识
quota 的时间限制(宽限期):
repquota 中的 grace 项
软限制达到后,启动宽限期的倒计时,如果倒计时完成,用户使用量仍然大于软限制的时候,(软限制的值,会立刻取代硬限制)。即使原先硬限制的值没有到达到。依然锁定用户的配额
例如
90M 软 100M 硬 宽限2天
91M waring 2天倒计时-----》2天之后,还是91M ---》
91M 为最大值,不能使用100M,没法继续使用空间。
当使用量 降低 到 软限制 以下时, 就会 重置 宽限期。
宽限期的修改方式
命令:edquota -t
注意:
支持的时间格式参见配置文件
这个时间是针对整个分区的
不希望使用 宽限期机制, 则可以将用户 软限制,修改为 0 ,或者 软限制值 与 硬限制 值相同。