1理论基础
1.1Quota的概念
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(超过空间用量则剥夺用户使用权)
-宽限时间(gracetime),空间用量超出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启用文件系统的quota功能
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,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文件系统信息和相关的启动项
2.3.2查询支持Quota的分区
xfs_quota-x-c"print"
2.3.3查询Quota目录的使用情况
xfs_quota-x-c"df-h"/hom
2.3.4显示用户的Quota的限制信息
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.6Quota的管理
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功能
编辑fstab
vim/etc/fstab
修改内容如下:
/dev/mapper/centos-home/homexfsdefaults,usrquota,grpquota00
2)创建软连接到Quota分区
ln-s/home/mail/var/spool/mail