3.3. XFS 配额管理


XFS 配额子系统管理磁盘空间(块)和文件(inode)使用情况的限制。XFS 配额控制或报告在用户、组、目录或项目级别使用这些项目的使用情况。此外,请注意,尽管用户、组、目录或项目配额是独立启用的,但组和项目配额是互斥的。
在按目录或按项目管理时,XFS 管理与特定项目关联的目录层次结构的磁盘使用情况。为此,XFS 可以识别项目之间的跨组织的"组"边界。这提供了比管理用户或组配额更广泛的控制级别。
XFS 配额在挂载时通过特定的挂载选项启用。每个挂载选项也可以指定为 noenforce; 这允许在不强制实施任何限制的情况下报告使用情况。有效的配额挂载选项有:
  • uquota/uqnoenforce: 用户配额
  • gquota/gqnoenforce: 组配额
  • pquota/pqnoenforce: 项目配额
启用配额后,xfs_quota 工具可用于设置限制并报告磁盘使用情况。默认情况下,xfs_quota 以交互方式运行,并以 基本模式。基本模式子命令只是报告使用情况,适用于所有用户。基本 xfs_quota 子命令包括:
quota username/userID
显示给定 username 或数字 userID的使用情况和限制
df
显示块和 inode 的空闲和已使用数。
相反,xfs_quota 也具有 专家模式。此模式的子命令允许实际限制的配置,并且仅可提供给具有升级特权的用户使用。要以交互方式使用专家模式子命令,请使用以下命令:
# xfs_quota -x
专家模式子命令包括:
report /path
报告特定文件系统的配额信息。
limit
修改配额限制。
如需基本或专家模式的子命令的完整列表,请使用子命令 help
所有子命令也可以使用 -c 选项直接从命令行运行,而 -x 用于专家子命令。

例 3.2. 显示示例配额报告

例如,要显示 /home 的配额报告示例(在 /dev/blockdevice上),请使用命令 xfs_quota -x -c 'report -h' /home。此时会显示类似如下的输出:
User quota on /home (/dev/blockdevice)
Blocks
User ID      Used   Soft   Hard Warn/Grace
---------- ---------------------------------
root            0      0      0  00 [------]
testuser   103.4G      0      0  00 [------]
...
要为用户 john 设置软和硬内节点计数限制为 500 和 700,其主目录为 /home/john,请使用以下命令:
# xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
在这种情况下,传递 mount_point,这是挂载的 xfs 文件系统。
默认情况下,limit 子命令将目标识别为用户。在为组配置限制时,请使用 -g 选项(如上例中所示)。同样,将 -p 用于项目。
也可以使用 bsoftbhard 而不是 isoftihard 来配置软和硬块限制。

例 3.3. 设置 Soft 和 Hard Block Limit

例如,要将软和硬块限制分别设置为 1000m 和 1200m,来对 /target/path 文件系统上的 accounting 进行分组,请使用以下命令:
# xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path
注意
命令 bsoftbhard 计数为字节。
重要
虽然 man xfs_quota 中描述了实时块(rtbhard/rtbsoft),但在设置配额时,不会启用实时子卷。因此,rtbhardrtbsoft 选项不适用。

设置项目限制

使用 XFS 文件系统,您可以在称为受管树的文件系统中单独目录层次结构上设置配额。每个受管树都通过 项目 ID 和可选项目名称 唯一标识。
  1. 将项目控制的目录添加到 /etc/projects。例如,以下命令将唯一 ID 为 11/var/log 路径添加到 /etc/projects。您的项目 ID 可以是任何映射到项目的数字值。
    # echo 11:/var/log >> /etc/projects
  2. 将项目名称添加到 /etc/projid,将项目 ID 映射到项目名称。例如,以下命令将名为 logfiles 的项目与上一步中定义的项目 ID 11 关联:
    # echo logfiles:11 >> /etc/projid
  3. 初始化项目目录。例如,以下命令初始化项目目录 /var
    # xfs_quota -x -c 'project -s logfiles' /var
  4. 为使用初始化目录的项目配置配额:
    # xfs_quota -x -c 'limit -p bhard=lg logfiles' /var
通用配额配置工具(例如quota、picquota 和 edquota )也可用于操作 XFS 配额。但是这些工具不能用于 XFS 项目配额。
重要
红帽建议在所有其他可用工具中使用 xfs_quota
有关设置 XFS 配额的更多信息,请参阅 man xfs_quotaman projid (5)man projects (5)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.