首页/系统/信创系统运维速查/磁盘配额限制用户占用
服务与运维65 条

磁盘配额限制用户占用

给文件服务器与开发机做用户级配额:先在挂载项启用 usrquota、grpquota 并重挂,再初始化配额数据库、用 edquota 设置上限,repquota 出报表。

信创系统运维速查系统更新于 2026-10-13

磁盘配额是什么

磁盘配额按用户或用户组限制某个文件系统上的空间与 inode 数量,达到软上限会给出宽限提示,超过硬上限直接拒绝写入。文件服务器、共享开发机、教学楼机房都常用它防止单个人把盘写满。ext4 系通过 usrquota/grpquota 挂载选项加 quota、quotacheck、edquota 一套工具管理;XFS 走 uquota/gquota 加 xfs_quota,命令完全不同,动手前先确认文件系统类型。

基本信息

适用平台全部 Linux 发行版;ext4 与 XFS 的实现不同
启用方式在 /etc/fstab 挂载项加配额选项并重新挂载
初始化ext4 系用 quotacheck -cugm 建库,quotaon 启用
设置上限edquota -u 用户 编辑块数与 inode 软硬限
查看quota -u 用户 看个人用量,repquota -s 出整体报表

典型使用场景

  • 文件服务器:限制每个用户的家目录用量,防止单用户写满整个分区
  • 开发机共享:按项目组配额,避免编译产物把盘占满影响他人
  • 机房与培训环境:统一设置上限,恢复环境时无需逐台清理
  • 日志与临时目录:给服务账户设限,异常写入时自动止住
  • 容量治理:先出报表找出用量最大的用户,再针对性沟通或扩容

ext4 系:启用与初始化

ext4 系:启用与初始化
df -T /home                                  # 先确认文件系统类型
grep '/home' /etc/fstab                      # 看当前挂载项
# 在 fstab 该行 options 里加入配额选项:
# /dev/vg0/home  /home  ext4  defaults,usrquota,grpquota  0 0
mount -o remount /home                       # 重新挂载使选项生效
quotacheck -cugm /home                       # 创建并检查配额数据库
quotaon -v /home                             # 启用配额
ls /home/aquota.user /home/aquota.group      # 确认数据库文件已生成

设置上限与查看报表

设置上限与查看报表
edquota -u appuser                           # 编辑该用户的软硬限与宽限期
edquota -t                                   # 设置全局宽限期
quota -u appuser                             # 查看该用户当前用量与限制
repquota -s -a | head -30                    # 输出全部文件系统的配额报表
warnquota                                    # 对接近上限的用户发提醒(如已配置)
# XFS 文件系统改用:
xfs_quota -x -c 'limit bsoft=5g bhard=6g appuser' /home

配额报表读法

列含义正常/异常
Filesystem配额生效的文件系统确认与你设置的目标一致
User被限制的用户报表中含系统账户属正常
used已用量接近 soft 值时需提醒用户
soft软上限超过后在宽限期内提示
hard硬上限超过后拒绝写入
grace宽限期剩余为空表示未超软上限
files / ifreeinode 用量与剩余小文件多时先触顶的是 inode
XFS 用 uquota/gquota 挂载选项并配合 xfs_quota 管理,命令与 ext4 的 quota 系不通用,动手前先 df -T 确认。
quotacheck 会扫描整个文件系统的用量,大目录上耗时且占用 IO,安排在业务低峰执行。

易错点

  • fstab 加了配额选项但没 remount,配额数据库建立失败,报错信息不明确容易误判为工具缺失。
  • 对已装满文件的家目录直接设限,用户当场写不进去,设置前先统计实际用量。
  • 只限制块数不限制 inode,海量小文件仍能把分区写满,两类上限都要设。
  • 在 XFS 上照抄 ext4 的 quota/quotacheck/edquota 流程,命令不识别,白折腾一轮。
  • 配额数据库文件被误删或被备份工具排除,重启后配额失效却没被发现。

数据来源与参考

  • man 8 quota
  • man 8 quotacheck
  • man 8 xfs_quota
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌