您现在的位置是:首页 >技术教程 >Linux:为xfs文件系统卷 设置磁盘配额网站首页技术教程

Linux:为xfs文件系统卷 设置磁盘配额

鲍海超-GNUBHCkalitarro 2024-06-26 14:23:36
简介Linux:为xfs文件系统卷 设置磁盘配额

首先准备一个xfs文件系统的 卷 || 分区

可以是逻辑卷 ,也可以是普通卷,等等……但是他们的文件格式都要是xfs格式

我这里选择的是逻辑卷,普通卷也是一样的道理


开始前要有两个软件包需要安装 如果已安装直接看下一步

Linux:rpm查询安装 && yum安装_鲍海超-GNUBHCkalitarro的博客-CSDN博客

yum -y install quota

yum -y install xfsprogs


我这里准备了一块逻辑硬盘

 先将他格式化成xfs格式的逻辑卷

mkfs -t xfs /dev/aaa/qwe 

# mkfs -t 文件格式 卷路径

 成功格式化成xfs格式


允许磁盘配额格式挂载

usrquota、grpquota    添加支持用户配额   组配额

 使用命令

mount -o usrquota,grpquota /dev/aaa/qwe /tarro/

# mount -o usrquota,grpquota 挂载源 挂载目标点

上图 后边出现 usrquota,grpquota 就是可以进行配额

上图  后面为 : noquota 即是不能配置   你 如果在这样的情况下去配额 就会出现函数错误的提示

 这个就是临时配额挂载 

——————————————————————

如果想开机自动 也就是 设置永久 挂载同时还开启配额权限就去配置

vi /etc/fstab 

 

 这样保存退出后重新  他就会自动挂载这个卷 并且可以对其配额

 重启后 会自动挂载  后面可以看到有usrquota 和 grpquota


对用户进行配额

-u、限制用户
-g、限制组
-x、专家模式(非交互模式)
-c  直接调用管理命令‘’部分

bsoft、容量软限制
bhard、容量硬限制
isoft、文件数软限制
ihard  文件数硬限制

我们开启之前创建3个用户和1组

创建  test1 test2  test3   三个用户      和       test_23 的组   把test2   和   test3 放进去

groupadd test_23

useradd test1
useradd -g test_23 test2

useradd -g test_23 test3

使用

xfs_quota -x -c 'limit -u bsoft=10M bhard=20M isoft=10 ihard=20 test1' /tarro/

#

上面的意思的 在 /tarro这个目录下 test1 用户   

容量软限额 10M                容量硬限额为20M 

文件数量软限额为10个        硬限额为20个

软限额的意思就是你超过10M 可以继续放但是7天后会删除   但是你再怎么放都不能超过20M如果超过20M 就报错 超过硬限额之后一点都放不进去        文件数量限额也是同理

切换到test1用户下

 

我们一般使用的root用户 可以看到其他人那个权限没有写入权限  为了方便我们可以直接给他777方便实验

 如果你要查看配额设置的话可以使用

xfs_quota -c 'quota -bi -uv test1' /tarro/

# xfs_quota -c 'quota -bi -uv 用户' 目录

 我软配额是10 那我们创建一个11M的文件试试

dd if=/dev/zero of=/tarro/text1 bs=1M count=11

 现在有11M了  我们再用test1用户放一个10M的文件 这样就有21M 刚好超出硬配额1M

 

可以见有显示超出1M的配额他也报了错

现在把test1的文件全删掉  然后创建文件个数看另外一个数量配额

刚刚数量配额软配额为10个硬配额是20个所以超出10个还可以继续写入但是数量大于20以后就写不进去了

 可以看到写入了11个超出了软配额但是并没有提示什么 还能接着往里写 现在还可以写9个 就到20硬配额了 

但是我们再往里创建10个

可以看到刚刚好超出1个也成功的提示了超出1个


组配额 

使用

xfs_quota -x -c 'limit -g bsoft=10M bhard=20M isoft=10 ihard=20 test_23' /tarro/

xfs_quota -x -c 'limit -g bsoft=10M bhard=20M isoft=10 ihard=20 用户组' 卷路径

上面的软配额和 硬配额和用户的都是一样的

但是不同的是        组    如果对用户进行配额   他会单独的对用户生效

现在对组设置  他是  对组里全部人生效  现在test_23组里包含了test2 和test3 

如果test1 往里放了15M 那 组里的其他人 只能放剩余5M 

如果test2 往里放了6个文件  那组里的其他人最多还能放14个文件

他对组配置配额是组用户放里边的 全部加起来的

查看组配额信息  

xfs_quota -c 'quota -bi -gv test_23' /tarro/
xfs_quota -c 'quota -bi -gv 组名' /路径

 容量 软配额 10M    硬配额 20M                                          数量软配额10个     硬配额20个

现在进入test2 放  11M的文件

现在组内只剩9M的空间 所以同为组内的用户test3只能放9M   但是我么放一下10M的文件 

 

可以看到超出1M 硬配额就提示了

现在全全删除一下  使用 test3 创建 9个文件

现在使用test3  创建了9个 那组内所剩11个

再使用test2床架  12个    会报错  剩余1个写入不进去 

 剩余11个 写入12个有一个没写进去  配额成功   


插卡配额信息

使用 

查看用户配额

xfs_quota -c 'quota -bi -uv test1' /tarro/

xfs_quota -c 'quota -bi -uv 用户' 路径

查看组配额

 xfs_quota -c 'quota -bi -gv test_23' /tarro/
 xfs_quota -c 'quota -bi -gv 组名' 路径

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。