linux 系统配额管理功能,Linux文件配额管理

本文详细介绍了如何在Linux系统中对XFS文件系统进行磁盘配额管理,包括设置用户和用户组的磁盘使用限制、查看配额报告、配置警告时间以及针对单一目录的配额设定。通过`xfs_quota`命令,可以实现对用户和组的软硬限制设置,并调整警告期限,确保系统资源的有效管理。
摘要由CSDN通过智能技术生成

xfs磁盘配额的种类

需要将支持写入/etc/fstab

1   针对用户组 default,uquota/usrquota/quota

2  针对单一目录 default,gquota/grpquota

3  针对单一账号 default,pquota/prjquota

注意:不同文件系统的磁盘配额设置方法不同,针对用户组和单一目录这两项不能共存

磁盘配额只会对一般用户有效

selinux下,磁盘配额只针对/home有效如需设置别的,要先关闭selinux

配置1文件系统支持与查看

文件系统要是xfs的,文件系统查看

[root@localhost Awei]# df -hT /home

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/sdb1 xfs 1014M 33M 982M 4% /home

确定是xfs系统了,因为是xfs系统,所以我们不支持remount来重新挂载,需要写在fstab文件里面或者是在初始挂载过程就加入这几个选项。

/dev/sdb1 /home xfs defaults,usrquota,grpquota 0 0

配置2查看配额报告数据

xfs_quota -x -c "命令" 【挂载点】

-x 专家模式 先写x 后面才可以加-c

-c  后面接命令,这里先介绍查看命令

:print  列出目前主机的文件系统参数

:df 和df一样后面可以加-bih

:report 列出目前磁盘配额信息 -ugr(usrquota/grppouta/prjquota)以及-bi

:state 列出目前磁盘配额的选项 可以看开启了哪些

df查看文件系统信息

[root@localhost /]# xfs_quota -x -c"df -h " /home

Filesystem Size Used Avail Use% Pathname

/dev/sdb1 1014M 32.4M 981.6M 3% /home

print 列出主机目前文件系统参数

[root@localhost /]# xfs_quota -x -c"print"

Filesystem Pathname

/ /dev/mapper/centos-root

/boot /dev/sda1

/home /dev/sdb1 (uquota, gquota)显示了

report 列出磁盘配额信息,如果不加-ugr,则三项全出来了

[root@localhost /]# xfs_quota -x -c"report" /home

User quota on /home (/dev/sdb1)

Blocks

User ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

Group quota on /home (/dev/sdb1)

Blocks

Group ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

state 列出目前开启的选项

[root@localhost /]# xfs_quota -x -c"state" /home

User quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #67 (5 blocks, 5 extents)

Group quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #68 (6 blocks, 6 extents)

Project quota state on /home (/dev/sdb1)

Accounting: OFF

Enforcement: OFF

Inode: #68 (6 blocks, 6 extents)

Blocks grace time: [7 days]

Inodes grace time: [7 days]

Realtime Blocks grace time: [7 days]|

配置3限制值设置方式

xfs_quota -x -c "limit [-uh] b[soft|hard]=N i[soft|hard] name"

xfs_quota -x -c "tomer -[ug] -bir Ndays"

limit 实际设置选项。对user group来设置限制

bsoft/bhard block值 可以加单位

isoft/ihard  inode值

name 就是用户名用户组名称

timer 限制提示时间

假设三个账号共享家目录 用户组是abc

账号为a1 b1 c1

县创建账号我们利用之前学的脚本

#!/bin/bash

groupadd abc

for i in a1 b1 c1

do

useradd $i -g abc

echo $i | passwd --stdin $i

done

[root@localhost /]# sh useradd.sh

更改用户 a1 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 b1 的密码 。

passwd:所有的身份验证令牌已经成功更新。

更改用户 c1 的密码 。

passwd:所有的身份验证令牌已经成功更新。

我们限制a1 a2 a3只能用100M他们的用户组只能用200M

[root@localhost /]# xfs_quota -x -c "limit -u bsoft=80M bhard=100M a1" /home

[root@localhost /]# xfs_quota -x -c "limit -u bsoft=80M bhard=100M b1" /home

[root@localhost /]# xfs_quota -x -c "limit -u bsoft=80M bhard=100M c1" /home

设置好了简单查看下

[root@localhost /]# xfs_quota -x -c "report" /home

User quota on /home (/dev/sdb1)

Blocks

User ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

a1 12 81920 102400 00 [--------]

b1 12 81920 102400 00 [--------]

c1 12 81920 102400 00 [--------]

Group quota on /home (/dev/sdb1)

Blocks

Group ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

abc 36 0 0 00 [--------]

好了

设置用户组abc限额

[root@localhost /]# xfs_quota -x -c"limit -g bsoft=180M bhard=200M abc" /home

[root@localhost /]# xfs_quota -x -c "report" /home

User quota on /home (/dev/sdb1)

Blocks

User ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

a1 12 81920 102400 00 [--------]

b1 12 81920 102400 00 [--------]

c1 12 81920 102400 00 [--------]

Group quota on /home (/dev/sdb1)

Blocks

Group ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

root 0 0 0 00 [--------]

Awei 12 0 0 00 [--------]

abc 36 184320 204800 00 [--------]

设置好了

接下来我们设置一下提醒失效时间

[root@localhost /]# xfs_quota -x -c "timer -u -b 14days" /home

[root@localhost /]# xfs_quota -x -c "state" /home

User quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #67 (5 blocks, 5 extents)

Group quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #68 (6 blocks, 6 extents)

Project quota state on /home (/dev/sdb1)

Accounting: OFF

Enforcement: OFF

Inode: #68 (6 blocks, 6 extents)

Blocks grace time: [14 days]

当到了设置警告值,会警告,超过hard会锁定文件系统使用权

配置4针对单一目录设置配额

注意,设置了用户组之后,请关闭用户组在fstab的选项,单一目录才有意义

/dev/sdb1 /home xfs defaults,usrquota,prjquota 0 0添加单一目录参数卸载重新挂载

查看开启状态

[root@localhost /]# xfs_quota -x -c "state" /home

User quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #67 (5 blocks, 5 extents)

Group quota state on /home (/dev/sdb1)

Accounting: OFF

Enforcement: OFF

Inode: #68 (6 blocks, 6 extents)

Project quota state on /home (/dev/sdb1)

Accounting: ON

Enforcement: ON

Inode: #68 (6 blocks, 6 extents)

Blocks grace time: [14 days]

Inodes grace time: [7 days]

Realtime Blocks grace time: [7 days]

目录的设置比较奇怪,他必须设置一个选项名称,以及选项id都是自己定的。

识别码与目录名,在/etc/projects

项目名称与标识在/etc/projid

[root@localhost /]# echo "12:/home/quota" >> /etc/projects

[root@localhost /]# echo "myquota:12" >> /etc/projid

在设置的时候我们需要将配置文件写好

之后我们设置启动

[root@localhost /]# xfs_quota -x -c "project -s myquota" /home

xfs_quota: cannot find mount point for path `/home/quota': 没有那个文件或目录

Processed 0 (/etc/projects and cmdline) paths for project myquota with recursion depth infinite (-1)会显示一大堆,ok的

查看一下信息

[root@localhost /]# xfs_quota -x -c "report" /home

Project quota on /home (/dev/sdb1)

Blocks

Project ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

#0 48 0 0 00 [-------]

接着我们来设置磁盘配额

[root@localhost /]# xfs_quota -x -c "limit -p bsoft=80M bhard=100M myquota" /home|

接下来我们查看一下

[root@localhost /]# xfs_quota -x -c "report" /home

Project ID Used Soft Hard Warn/Grace

---------- --------------------------------------------------

#0 48 0 0 00 [--------]

myquota 0 81920 102400 00 [--------]

好了

磁盘配额管理的额外命令

暂时取消磁盘配额限制

xfs_quota -x -c "disable -up" /point

恢复正常限制

xfs_quota -x -c "enable -up" /point

完全关闭配额管理,关了之后需要重新挂载

xfs_quota -x -c "off -up" /point

删除project控制表,全删除

xfs_quota -x -c "remove -p" /point

这个命令需要在off情况下使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值