1 理论基础
1.1 Quota的概念
Quota即限额的意思,用来限制用户、组、文件夹的空间使用量。
1.2 用途范例
- web服务器控制站点可用空间大小
- mail服务器控制用户可用空间大小
- file服务器控制用户可用空间大小
1.3 限制模式
- 根据组(GID)控制每个组的可用空间大小
- 根据目录(directory,project)控制每个目录的可用空间大小(xfs可用project模式)
1.4 使用条件
- EXT格式只能对文件系统进行限制,xfs可用对project进行限制
- 内核需要预开启对Quota支持
- Quota限制只对非管理员有效
- 默认只开启对/home使用Quota,其他需要配置SELinux
1.5 限制的可配置对象
- 根据用户(User)、组(Group)、特定目录(project)
- 限制值soft(超过空间用量给予警告和宽限时间)和hard(超过空间用量则剥夺用户使用权)
- 宽限时间(grace time),空间用量超出soft限定而未达到hard限定给予的处理时限(超出时限soft值变成hard值)
2 实际操作
2.1 配置前准备
2.1.1 建立用户组
groupaddgp1
2.1.2 添加组成员
useradd-ggp1user1 echo"pwd1"|passwd--stdinuser1 useradd-ggp1user2 echo"pwd1"|passwd--stdinuser2
2.1.2 创建用户目录并变更所有组
mkdir/home/gp1 chgrpgp1/home/gp1 chmod2770/home/gp1
2.1.2 检查文件系统类型
df-hT/home
显示如下:
FilesystemTypeSizeUsedAvailUse%Mountedon /dev/mapper/centos-homexfs5.0G67M5.0G2%/home
2.2.1 编辑fstab
vim/etc/fstab
/dev/mapper/centos-home/homexfsdefaults,usrquota,grpquota00
注,类型如下:
- 根据用户(uquota/usrquota/quota)
- 根据组(gquota/grpquota)
- 根据目录(pquota/prjquota)(不能与grpquota同时设定)
2.2.2 卸载并重新挂载
umount/home mount-a
2.2.3 检查
mount|grephome
显示如下:
/dev/mapper/centos-homeon/hometypexfs(rw,relatime,seclabel,attr2,inode64,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文件系统信息和相关的启动项
xfs_quota-x-c"print"
2.3.3 查询Quota目录的使用情况
xfs_quota-x-c"df-h"/hom
xfs_quota-x-c"report-ubih"/home
注,显示项目加参数“-u”
2.4 配置限制
2.4.1 命令格式:
xfs_quota-x-c"limit[-ug]b[soft|hard]=Ni[soft|hard]=Nname" xfs_quota-x-c"timer[-ug][-bir]Ndays" 选项: limit:限制的对象,包括user/group/project bsoft/bhard:block的soft/hard限制值 isoft/ihard:inode的soft/hard限制值 name:用户和组的名称 timer:宽限时间(gracetime)
2.4.2 根据用户和块大小限制
xfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser1"/home xfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser2"/home
检查配置:
xfs_quota-x-c"report-ubih"/home
2.4.3 根据组和块大小限制
xfs_quota-x-c"limit-gbsoft=950Mbhard=1Ggp1"/home
检查配置:
xfs_quota-x-c"report-gbih"/home
2.4.5 配置宽限时间
xfs_quota-x-c"timer-ug-b14days"/home
验证配置:
xfs_quota-x-c"state"/home
2.4.6 验证Quta
su-user1 ddif=/dev/zeroof=123.imgbs=1Mcount=310 ll-h exit xfs_quota-x-c"report-ubh"/home
2.5 根据project限制
2.5.1 修改fstab
vim/etc/fstab
2.5.2 卸载挂载并重新挂载
umount/home mount-a
2.5.3 检查取消
xfs_quota-x-c"state"
2.5.4 创建专案存储位置
mkdir/home/proj01
2.5.5 指定项目识别号
echo"01:/home/proj01">>/etc/projects
2.5.6 指定项目名称并关联项目识别号
echo"proj01:01">>/etc/projid
2.5.7 初始化项目名称
xfs_quota-x-c"project-sproj01"
检查配置:
xfs_quota-x-c"print"/home xfs_quota-x-c"report-pbih"/home
2.5.8 根据块大小配置限制
xfs_quota-x-c"limit-pbsoft=450Mbhard=500Mproj01"/home
检查配置:
xfs_quota-x-c"report-pbih"/home
2.5.9 验证配置
ddif=/dev/zeroof=/home/myquota/123.imgbs=1Mcount=510
2.6 Quota的管理
2.6.1 临时禁用Quota限制
xfs_quota-x-c"disable-up"/home
检查禁用:
xfs_quota-x-c"state"/home
验证禁用:
ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=520
查阅Quota状态:
xfs_quota-x-c"report-pbh"/home
清理测试文件:
rm-rf/home/user1/123.img
2.6.2 临时启动Quota限制
xfs_quota-x-c"enable-up"/home
检验启动:
ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=520
2.6.3 完全关闭Quota限制
xfs_quota-x-c"off-up"/home
测试关闭:
xfs_quota-x-c"enable-up"/home
恢复关闭:
umount/home;mount-a
2.6.4 删除Quota限制(无法恢复)
xfs_quota-x-c"off-up"/home xfs_quota-x-c"remove-p"/home
验证删除:
xfs_quota-x-c"report-phb"/home
2.7 利用软连接实现Quota
1)启用/home分区的Quota功能
@H_301_730@编辑fstabvim/etc/fstab@H_301_730@修改内容如下:
/dev/mapper/centos-home/homexfsdefaults,grpquota00@H_301_730@2)创建软连接到Quota分区
ln-s/home/mail/var/spool/mail
-------------------------------------------------------------
参阅文档
-------------------------------------------------------------
http://linux.vbird.org/linux_basic/0420quota.php
原文链接:https://www.f2er.com/centos/381395.html