1.磁盘配额的条件
# 系统是默认安装quota工具的
grep CONFIG_QUOTA /boot/config-2.6.32-642.el6.x86_64
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
2.磁盘配额的概念
- 用户配置和组配额:一个是对用户进行限制,一个是对组进行限制
- 磁盘容量限制和文件个数限制:一个对容量进行限制,一个对文件个数进行限制
- 软限制和硬限制:容量假如是软限制40G,硬限制50G,文件个数软限制8,硬限制10
- 宽限时间:如果用户的空间占用的数处于软限制和硬限制之间,系统就会在用户登录时警告用户磁盘将满,这个时间就是宽限时间,如果达到了宽限时间,用户的磁盘占用量超过了软限制,那么软限制就会升级为硬限制
3.磁盘配额实战
第一步:添加用户
useradd user1
passwd user1
第二步:关闭SElinux
setenforce 0
第三步:在分区上开启磁盘配额功能
mount -o remount,usrquota,grpquota /disk
如果想要永久生效 需要修改 /etc/fstab
文件
/dev/sdb1 /disk ext4 defaults,usrquota,grpquota 0 0
# 然后执行 mount –o remount /disk
第四步:建立磁盘配额的配置文件
# 执行如下命令
quotacheck -avug
选项:
-a:扫描/etc/mtab 文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面 就不需要加入分区名了
-c:不管原有的配置文件,重新扫描并建立新的配置文件
-u:建立用户配额的配置文件,也就是生成 aquota.user 文件
-g:建立组配额的配置文件,会生成 aquota.group 文件
-v:显示扫描过程
-m:强制以读写的方式扫描文件系统,和-M 类似。一般扫描根分区时使用。
-f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用
注意:如果需要给根分区/开启配额功能需要
需要执行:quotacheck -avugm
比之前的多一个m
第五步:设置用户的配额限制
第一种方法:不常用
# 执行如下命令
edquota -u user1
Disk quotas for user user1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 5000 4000 5000 1 8 10
分区名 系统,不要修改 软容量 硬用量 系统,不要修改 软限制 硬限制
第二种方法:经常用
setquota -u 用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名
setquota -u user4 4000 5000 8 10 /disk
第六步:修改宽限时间
edquota –t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sdb1 7days 7days
分区名 容量的宽限时间 文件个数的宽限时间
第七步:启动配额
quotaon [选项] [分区名]
选项:
-a:依据/etc/mtab 文件启动所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:启动用户配额
-g:启动组配额
-v:显示启动过程的信息
常用的就是:
quotaon -vug /disk/ 或者
quotaon –avug 这个最常用
第八步:测试
# 使用user1用户进行登录然后执行,如下命令
dd if=/dev/zero of=/disk/testfile bs=1M count=60
可以发现只能写入4.9M
3.1.磁盘配额其它常用的命令
磁盘配额关闭
quotaoff [选项] [分区名]
选项
-a:依据/etc/mtab 文件关闭所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:关闭用户配
-g:关闭组配额
磁盘配额查询
quota [选项] [用户名或组名]
选项
-u 用户名: 查询用户配额
-g 组名: 查询组配额
-v:显示详细信息
-s:显示详细信息 以习惯单位显示容量大小,如 M,G
例如:quota -uvs user1
查询文件系统配额
repquota [选项] [分区名]
选项:
-a: 依据/etc/mtab 文件查询配额。如果不加-a 选项,就一定要加分区名
-u: 查询用户配额
-g: 查询组配额
-v: 显示详细信息
-s: 以习惯单位显示容量大小
例如:repquota –augvs