CentOS关于quota的总结与实践详解

2020-01-30 16:26:38丽君

1 理论基础

1.1 Quota的概念

Quota即限额的意思,用来限制用户、组、文件夹的空间使用量。

1.2 用途范例

- web服务器控制站点可用空间大小

- mail服务器控制用户可用空间大小

- file服务器控制用户可用空间大小

1.3 限制模式

- 根据用户(UID)控制每个用户的可用空间大小

- 根据组(GID)控制每个组的可用空间大小

- 根据目录(directory,project)控制每个目录的可用空间大小(xfs可用project模式)

1.4 使用条件

- EXT格式只能对文件系统进行限制,xfs可用对project进行限制

- 内核需要预开启对Quota支持

- Quota限制只对非管理员有效

- 默认只开启对/home使用Quota,其他需要配置SELinux

1.5 限制的可配置对象

- 根据用户(User)、组(Group)、特定目录(project)

- 容量限制或文件数量限制(block/inode)

- 限制值soft(超过空间用量给予警告和宽限时间)和hard(超过空间用量则剥夺用户使用权)

- 宽限时间(grace time),空间用量超出soft限定而未达到hard限定给予的处理时限(超出时限soft值变成hard值)

2 实际操作

2.1 配置前准备

2.1.1 建立用户组

groupadd gp1

2.1.2 添加组成员

useradd -g gp1 user1

echo "pwd1" | passwd --stdin user1

useradd -g gp1 user2

echo "pwd1" | passwd --stdin user2

2.1.2 创建用户目录并变更所有组

mkdir /home/gp1

chgrp gp1 /home/gp1

chmod 2770 /home/gp1

2.1.2 检查文件系统类型

df -hT /home

显示如下:

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/centos-home xfs 5.0G 67M 5.0G 2% /home

2.2 启用文件系统的quota功能

2.2.1 编辑fstab

vim /etc/fstab

修改内容如下:

/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0

注,类型如下:

- 根据用户(uquota/usrquota/quota)

- 根据组(gquota/grpquota)

- 根据目录(pquota/prjquota)(不能与grpquota同时设定)

2.2.2 卸载并重新挂载

umount /home

mount -a

2.2.3 检查

mount | grep home

显示如下:

/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

2.3 查阅Quota信息

2.3.1 命令格式

xfs_quota -x -c "子命令" [挂载点]

选项:

-x :专家模式,使用-x才能使用-c

-c :子命令选项

子命令:

print :列出当前系统参数等

df :类似于df,选项有-b (block) -i (inode) -h (加上單位)等

report:列出quota项目,包含-ugr (user/group/project)和-bi等

state :列出当前支持quota文件系统信息和相关的启动项