必须先启用uquota/gquota挂载选项,否则xfs_quota的limit设置无效;xfs配额依赖内核挂载时加载支持,修改fstab后需remount或重启,且所有修改必须在xfs_quota -x专家模式下执行。

修改 XFS 文件系统配额必须先启用 uquota/gquota 挂载选项
直接运行 xfs_quota 命令修改配额前,/etc/fstab 中对应挂载点必须已添加 uquota(用户)或 gquota(组)选项,否则所有 limit 设置都不会生效。XFS 不像 ext4 那样需要额外创建配额文件,但依赖内核在挂载时加载配额支持。
常见错误是改完 /etc/fstab 后忘记重新挂载或重启——mount -o remount /home 仅对部分场景有效;若 /home 正被多用户使用,remount 可能失败,此时必须重启或进单用户模式。
-
/dev/mapper/centos-home /home xfs defaults,uquota,gquota 0 0是标准写法,defaults已包含rw,suid,dev,exec,auto,nouser,async,无需额外补全 - 不要混用
prjquota和uquota:前者用于目录级配额(需配合/etc/projects),后者才是用户/组维度,二者不兼容 - SELinux 若为
enforcing状态,可能拦截配额写入,临时设为permissive或确认sestatus输出无拒绝日志
用 xfs_quota -x 修改用户或组的软硬限制
xfs_quota 的普通模式(不带 -x)只能查,不能设限;所有修改操作必须进专家模式:xfs_quota -x /home。进入后命令不带 sudo,因为 shell 已以 root 权限运行。
修改用户配额示例(设用户 kass 容量软限 50MB、硬限 60MB):
xfs_quota -x /home xfs_quota> limit -u bsoft=50m bhard=60m kass
修改组配额(组 kasstest 文件数硬限 25000):
xfs_quota> limit -g ifhard=25000 kasstest
-
bsoft/bhard控制磁盘块(空间),单位可为k、m、g;isoft/ihard控制 inode(文件数) - 设为
0表示取消该维度限制,例如isoft=0 ihard=0仅限制空间不限文件数 - 修改后立即生效,无需重启服务或等待扫描——这是 XFS 配额和 ext4 的关键区别
修改后必须用 report 或 quota 验证,别信 limit 命令的返回
limit 命令执行成功只代表语法通过,不代表写入成功。真正生效要看 report 输出是否显示新值,且 Used 列非零(说明已有用量被统计)。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
验证用户配额:
xfs_quota -x -c "report -h -u" /home
验证组配额:
xfs_quota -x -c "report -h -g" /home
- 若输出中
Soft和Hard列仍是0,说明挂载选项未生效或路径不对(比如误对/执行,而 XFS 不支持根目录配额) -
quota -u kass显示当前用量,但不显示设置值;quota -v kass才会列出软硬限,注意它依赖/etc/passwd解析用户名,若用户不存在会报错 - 宽限期(grace period)默认 7 天,可通过
timer命令调整,但多数场景保持默认即可
ext4 文件系统配额修改流程完全不同
如果你误用 XFS 方法处理 ext4,会卡在第一步:ext4 必须先运行 quotacheck -ug /mountpoint 生成 aquota.user 和 aquota.group,再用 quotaon 启用,最后才能用 edquota -u username 编辑。
修改 ext4 配额的关键点:
-
edquota -u username会打开 vi 编辑器,修改blocks下的 soft/hard 值(单位 KB),保存退出即生效 - 修改后必须运行
quotacheck -avug强制刷新配额数据库,否则repquota可能显示旧数据 -
quotaon和quotaoff是开关指令,重启后需再次quotaon,不像 XFS 那样靠挂载选项持久化 - ext4 不支持目录级配额(project quota),也不支持实时生效——新写入文件可能延迟几秒才被计入
配额不是“设完就稳”,XFS 要盯挂载选项和 report 输出,ext4 要盯配额文件存在性和 quotaon 状态。漏掉任意一环,用户照样能把磁盘撑爆。










