xfs_quota 命令文档

xfs_quota 命令文档

概述

xfs_quota 是一个用于在 XFS 文件系统上管理和报告磁盘空间配额的工具。它支持用户、组和项目配额,允许管理员限制和监控磁盘使用量及 inode 数量。该工具支持交互模式和命令行模式。


语法

xfs_quota [ -x ] [ -c cmd ] ... [ -p prog ] [ path ... ]

基本用法

  • 直接运行 xfs_quota 进入交互模式。
  • 使用 -c 选项指定非交互命令。
  • path 参数指定要管理的文件系统(例如 / 或 /home)。

选项

以下选项控制 xfs_quota 的行为:

选项描述
-c cmd指定非交互执行的命令。可使用多个 -c 选项来链式执行命令。
-p prog设置错误消息的程序名称(默认:xfs_quota)。适用于脚本。
-x启用专家模式,对修改配额设置的命令(例如设置限额、启用/禁用配额)必需。没有 -x,只能执行报告命令。
-D file指定替代的 /etc/projects 文件,用于项目配额映射。
-P file指定替代的 /etc/projid 文件,用于项目 ID 定义。
-d defaults指定配额设置的默认文件(与 restore 或 dump 一起使用)。

解释

  • 专家模式 (-x):对管理任务(如设置或清除配额)至关重要。没有此选项,类似 limit、project -c 或 off 的命令会失败。
  • 自定义文件 (-D, -P):在非标准环境或测试中管理配额时有用。
  • 非交互模式 (-c):适合脚本或自动化任务。

子命令

xfs_quota 支持多种子命令,用于管理和报告配额。以下按功能分类列出所有子命令,并附解释。

配额报告

这些命令显示配额使用情况和限额。

子命令描述
report [-bir] [-gpu] [-ahnt] [-f file]报告用户(-u)、组(-g)或项目(-p)的配额信息。
print列出启用了配额的文件系统。
`df [-bir] [-G-P
`state [-g-p

report 和 df 的选项

  • -b:报告块使用量(默认)。
  • -i:报告 inode 使用量。
  • -r:报告实时分区使用量(如果适用)。
  • -g, -p, -u:选择组、项目或用户配额。
  • -a:报告所有启用了配额的文件系统。
  • -h:人类可读输出(例如 1.2G 而非 1234567 块)。
  • -n:显示数字 ID 而非名称。
  • -t:按使用量排序输出。
  • -f file:将输出写入文件而非 stdout。
  • 针对 df:
    • -G, -P, -U:按组、项目或用户配额过滤。
    • -H:省略输出中的头部。

示例

  • 报告用户配额(人类可读格式):

    xfs_quota -x -c 'report -u -h' /

  • 显示项目 ID #22 的配额:

    xfs_quota -x -c 'report -p -h -L 22 -U 22' /

解释

  • report 是检查配额使用情况的主要命令,显示已用块/inode、软/硬限额及宽限期。
  • print 用于识别哪些文件系统启用了配额。
  • state 用于验证配额是否被强制执行或仅统计。

配额管理

这些命令修改配额设置,需启用专家模式(-x)。

子命令描述
`limit [-gpu] b{softhard}= i{soft
timer [-gpu] [-bir] 设置超过软限额的宽限期(例如 7days)。
enable [-gpu] [-v]启用用户、组或项目配额的强制执行。
disable [-gpu] [-v]禁用配额强制执行,但保留统计功能。
off [-gpu] [-v]完全禁用配额,包括统计功能。
remove [-gpu] [-v]删除指定用户、组或项目的配额条目。

选项

  • -g, -p, -u:应用于组、项目或用户配额。
  • -b, -i, -r:影响块、inode 或实时配额。
  • bsoft, bhard:软/硬块限额。
  • isoft, ihard:软/硬 inode 限额。
  • :用户、组或项目名称/ID。
  • -v:详细输出。

示例

  • 为用户 john 设置 10GB 硬块限额:

    xfs_quota -x -c 'limit -u bhard=10g john' /

  • 为项目配额设置 7 天宽限期:

    xfs_quota -x -c 'timer -p block 7days' /

  • 启用项目配额强制执行:

    xfs_quota -x -c 'enable -p' /

解释

  • limit 用于强制限制磁盘使用量。
  • timer 控制用户超过软限额的时间。
  • enable/disable/off 切换配额强制执行级别,off 停止所有配额跟踪。
  • remove 清除配额条目,适用于删除用户或项目。

项目配额管理

这些命令管理 XFS 项目配额,适用于特定目录或子树。

子命令描述
project -c [-r] [-P projid] 清除目录或文件的项目 ID 分配。
project -C [-r] [-P projid] 强制清除项目 ID,即使被使用。
project -s [-r] [-P projid] 为目录或子树设置项目 ID。
project -d [-P projid] 限制设置/清除项目 ID 的递归深度。
project -D 从文件初始化项目配额。

选项

  • -c:清除项目 ID。
  • -C:强制清除项目 ID。
  • -s:设置项目 ID。
  • -r:对目录递归操作。
  • -P projid:指定项目 ID(例如 22)。
  • -d :限制递归深度。
  • -D :从文件加载项目定义。

示例

  • 清除目录的项目 ID #22:

    xfs_quota -x -c 'project -c -P 22 /path/to/dir' /

  • 递归为目录设置项目 ID #10:

    xfs_quota -x -c 'project -s -r -P 10 /path/to/dir' /

解释

  • 项目配额允许对特定目录树进行配额管理,适合共享存储或多租户系统。
  • project -c 或 -C 是删除项目 ID 的关键命令,例如你的 ID #22。
  • /etc/projects 和 /etc/projid 文件将项目 ID 映射到路径和名称。

配额备份与恢复

这些命令处理配额数据的导出和导入。

子命令描述
dump [-gpu] [-f file]将配额信息导出到文件以备份。
restore [-gpu] [-f file]从文件恢复配额信息。
quot [-gpu] [-bir] [-hn] [-f file]汇总所有用户、组或项目的配额使用情况。

选项

  • -g, -p, -u:应用于组、项目或用户配额。
  • -b, -i, -r:报告块、inode 或实时使用量。
  • -h:人类可读输出。
  • -n:数字 ID。
  • -f file:指定输入/输出文件。

示例

  • 导出用户配额到文件:

    xfs_quota -x -c 'dump -u -f /backup/quotas.txt' /

  • 恢复项目配额:

    xfs_quota -x -c 'restore -p -f /backup/quotas.txt' /

解释

  • dump 和 restore 用于迁移配额或恢复设置。
  • quot 提供汇总视图,适合审计。

交互模式

子命令描述
quit退出交互模式。
help显示命令帮助。

示例

  • 进入交互模式:

    xfs_quota

  • 在提示符下运行命令,如 report -u 或 quit。

解释

  • 交互模式适合手动探索或管理配额。

配置文件

  • /etc/projects

    :将项目 ID 映射到目录路径。

    • 格式:projid:path
    • 示例:22:/data/project1
  • /etc/projid

    :定义项目名称和 ID。

    • 格式:name:projid
    • 示例:project1:22

解释

  • 这些文件对项目配额管理至关重要。
  • 添加或删除项目 ID 时需更新这些文件。

注意事项

  • 专家模式要求:修改配额的命令(例如 limit、project -c、enable)需要 -x。
  • 文件系统支持:配额需在挂载时启用(例如 quota、pquota 挂载选项)。
  • 宽限期:软限额允许暂时超限,由 timer 控制。
  • 项目配额:需使用 project -s 为目录标记项目 ID。

常见用例

  1. 检查配额使用情况:

    xfs_quota -x -c 'report -h -u' /

  2. 设置用户配额:

    xfs_quota -x -c 'limit -u bsoft=5g bhard=6g john' /

  3. 删除项目 ID(例如 #22):

    xfs_quota -x -c 'project -c -P 22' /

  4. 启用配额

    xfs_quota -x -c 'enable -p' /


故障排除

  • 缺少 -x 导致命令失败:确保为管理任务启用专家模式。
  • 无法删除项目 ID:检查是否仍有文件标记了项目 ID,使用 find / -xdev -ipath ‘projid=22’。
  • 配额未强制执行:验证文件系统是否挂载了配额选项(mount | grep quota)。
  • 项目命令错误:确保 /etc/projects 和 /etc/projid 配置正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值