8、linux高级文件系统-磁盘配额

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

猜你喜欢

转载自blog.csdn.net/weixin_43443216/article/details/107388432