1.xfs_quota能做什么?
限制用户和组的容量限制和文件数量限制(block和inode)
限制block就限制了用户可以使用的磁盘容量,限制inode就可以限制用户新建的文件数量。
限制某一目录的最大磁盘配额(directory project)
2.磁盘配额实战
第一步:准备工作
添加新的硬盘或分区,进行格式化挂载
(1) fdisk -l #查看新硬盘
(2)gdisk /dev/sdb #进行分区 然后 ls /dev/sdb* 查看一下
(3)mkfs.xfs /dev/sdb1 #写入文件系统
(4)mkdir /disk1 #创建挂载点目录/disk1
第二步:挂载并开启磁盘配额
mount -o remount,usrquota,grpquota,prjquota /dev/sdb1 /disk1/
#挂载并且开启磁盘配额
xfs_quota -x -c “state” /disk1 查看一下是否为ON开启
mount | grep sdb1 #查看是否有usrquota,grpquota,prjquota
df -h 查看挂载
开启磁盘配额方法二:vim /dev/fstable #打开配置文件
第三步:xfs_quota -x -c “print” #查看有哪些分区开启了磁盘配额
第四步:创建用户和组
(1)useradd hf01 和 useradd hf02 #创建用户hf01和hf02
(2)groupadd xxhf #创建组xxhf
(3)echo “123” | passwd --stdin hf01 #依次给hf01和hf02用户设置密码
(4)gpasswd -a hf01 xxhf #依次将hf01和hf02用户加入xxhf组内
第五步:授权
chmod 777 /disk1
第六步:用户测试
(1)用用户hf01登录进行测试:
(2)用root用户进行限制block:
xfs_quota -x -c “limit -u bsoft=50M bhard=100M hf01” /disk1/
(3)用xfs_quota -x -c “report -ubih” /disk1/查看限制
(4)用root用户进行限制inold:
xfs_quota -x -c “limit -u isoft=3 ihard=5 hf01” /disk1/
(5)用xfs_quota -x -c “report -ubih” /disk1/查看限制
(6)用dd if=/dev/zero of=/disk1/u1 bs=1M count= 50
和touch /disk1/文件名 来进行实验
(7)随时用ll -h /disk1/进行查看文件数据大小和文件名数量
随时用xfs_quota -x -c “report -ubih” /disk1/查看记录的变化和磁盘配额限制
edquota -p hf01 -u hf02 #将用户1的磁盘配额限制复制给用户2继续用用户2做实验
第七步:对组进行限制测试
(1)将用户hf01和hf02创建的文件都删除干净
(2)切换到用户1后:newgrp xxhf 将其当前所属组改为xxhf,用id命令查看
(3)切换到用户2后:newgrp xxhf 将其当前所属组改为xxhf,用id命令查看
(4)对xxhf组设置限制:建议硬限制大于单个用户,小于用户1+用户2的限制
(5)用root用户进行限制:
xfs_quota -x -c “limit -g bsoft=80M bhard=150M xxhf” /disk1/
xfs_quota -x -c “limit -g isoft=3 ihard=5 xxhf” /disk1/
(6)随时用ll -h /disk1/进行查看文件数据大小和文件名数量
(7)随时用xfs_quota -x -c “report -gbih” /disk1/查看记录的变化和磁盘配额限制
第八步:对目录进行限制
project可以实现对目录进行磁盘配额的限制,但是在进行限制的时候一定要注意。目录的磁盘配额和组的磁盘配额在 Centos7早期版本不能够同时开启在挂载的时候,如果同时指定grpquota和prjquota的话就会有报错信息。避免的两种限 制同时存在的情况(Centos7.6可以同时开启usr、grp、prj)
创建一个子目录:mkdir /disk1/test1/ 并且ls /disk1/ 查看一下
生成两个配置文件:
echo "12:/disk1/test1" >> /etc/projects
echo "myprj:12" >> /etc/projid
(3) xfs_quota -x -c “project -s myprj”
(4)xfs_quota -x -c “print”#查看挂载点来限制
(5)xfs_quota -x -c “report -pbih” /disk1 #查看一下myprj限制(空)
(6)对/disk1下的子目录进行限制:
限制block: xfs_quota -x -c “limit -p bsoft=50M bhard=100M myprj” /disk1/
限制inold: xfs_quota -x -c “limit -p isoft=3 bhard=5 myprj” /disk1/
(7)xfs_quota -x -c “report -pbih” /disk1 #重新查看一下myprj限制,发现已生效。建议先增大或者取消用户和组的限制在 进 行目录实验
(8)通过用dd if=/dev/zero of=/disk1/test1/r1 bs=1M count= 50
和touch /disk1/test/文件名 来进行实验
(9)随时用ll -h /disk1/test1/文件名 #进行查看文件数据大小和文件名数量
(10)随时用xfs_quota -x -c “report -pbih” /disk1/查看记录的变化和磁盘配额限制
注:warnquota:可以对超出磁盘配额的用户发送邮件进行提示。
yum安装包名称为:quota-warnquota
在安装之后需要执行quota-warnquota -c /etc/warnquota.conf命令,可以指定用户检查是否超出磁盘配额,并给超出的用户和root用户发送邮件。