XFS 配额挂载选项

XFS 文件系统的其他“配额”挂载选项可用。
以下是在 XFS 文件系统上启用用户配额的挂载选项的完整列表:

  • quota|uquota|usrquota :启用用户配额并强制使用限制。
  • uqnoenforce :启用用户配额。报告使用情况但不强制执行使用限制。

组配额挂载选项包括以下内容:

  • gquota|grpquota :启用组配额并强制使用限制。
  • gqnoenforce :启用组配额。报告使用情况但不强制执行使用限制。

项目配额挂载选项包括以下内容:

  • pquota|prjquota :启用项目配额并强制执行使用限制。
  • pqnoenforce :启用项目配额。报告使用情况但不强制执行使用限制。
如何在 XFS 文件系统上启用磁盘配额

XFS 支持按用户、组和项目的磁盘配额。
项目磁盘配额允许我们限制单个目录层次结构上的磁盘空间量。
我们可以对磁盘块数(或者磁盘空间)和 inode 数配置硬限制和软限制,这限制了用户可以创建的文件数。
配额不适用于 root 用户。

在挂载 XFS 文件系统时,我们必须首先使用挂载选项为用户、组和/或者项目启用配额。
启用配额后,使用 xfs_quota 命令设置限制,查看配额信息。

之路 on it Road.com

xfs_quota 实用程序

使用 XFS 文件系统挂载选项启用配额后,使用 xfs_quota 命令报告文件系统配额信息,设置块和 inode 限制,启用或者禁用配额强制,修改配额强制超时信息(宽限期),以及执行其他配额管理XFS 文件系统上的操作。

xfs_quota 实用程序提供了许多用户和管理员子命令。
这些子命令可以以交互模式发出或者作为参数包含在 xfs_quota 命令中。
输入不带任何选项或者参数的 xfs_quota 以进入交互模式。
xfs_quota> 提示出现在交互模式中。
输入帮助或者?
查看可用的子命令。
我们还可以输入 help commandname 以显示有关特定子命令的添加信息。

# xfs_quota 
xfs_quota> help
df [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodes
help [command] -- help for one or all commands
print -- list known mount points and projects
quit -- exit the program
quota [-bir] [-g|-p|-u] [-hnNv] [-f file] [id|name]... -- show usage and limits
Use 'help commandname' for extended help.

从命令行包含 xfs_quota 子命令时,请使用 -c [command] 选项。
从命令行对配额系统进行的任何修改也需要 -x 选项(启用专家模式)。
以下示例使用 limit 子命令为用户 john 在 XFS 文件系统上设置 5 MB 的软限制和 6 MB 的硬限制:

# xfs_quota -x -c 'limit -u bsoft=5m bhard=6m john' /xfs

以下示例为学生组设置了 100 个 inode 的软限制和 150 个 inode 的硬限制:

# xfs_quota -x -c 'limit -g isoft=100 ihard=150 students' /xfs

报告配额状态信息

我们可以使用以下 xfs_quota 命令报告整体配额状态信息:

# xfs_quota -x -c state
User quota state on /data (/dev/mapper/vg_test-lv_test)
  Accounting: ON
  Enforcement: ON
  Inode: #67 (1 blocks, 1 extents)
Group quota state on /data (/dev/mapper/vg_test-lv_test)
  Accounting: OFF
  Enforcement: OFF
  Inode: #0 (0 blocks, 0 extents)
Project quota state on /data (/dev/mapper/vg_test-lv_test)
  Accounting: OFF
  Enforcement: OFF
  Inode: #0 (0 blocks, 0 extents)
Blocks grace time: [7 days]
Inodes grace time: [7 days]
Realtime Blocks grace time: [7 days]

此命令报告是否启用了用户、组和项目磁盘配额记帐以及是否正在实施限制。
还会报告块和 inode 的宽限期。
只要超出软限制,就会启用宽限期的计时器。
如果在宽限期到期后继续超出软限制,则不会分配更多磁盘空间或者 inode。

设置项目配额

XFS 允许我们在单个目录层次结构上设置配额。
我们可以在 /etc/projects 文件中创建一个条目,将 XFS 文件系统目录层次结构与唯一的项目 ID 关联起来。
例如,/etc/projects 中的以下条目将项目 ID 50 与 /data 目录相关联:

50:/data

我们可以选择使用 /etc/projid 文件将项目名称与项目 ID 相关联。
例如,/etc/projid 文件中的以下条目将项目名称 test 与项目 ID 50 相关联:

test:50

在 /etc/projects 定义项目后,使用 xfs_quota 命令初始化其项目目录:

# xfs_quota -x -c 'project -s test' /data

使用 xfs_quota 命令为具有初始化目录的项目设置限制。
以下示例为测试项目设置了 5 MB 的软限制和 6 MB 的硬限制:

# xfs_quota -x -c ‘limit -p bsoft=5m bhard=6m test’ /data

显示配额信息

使用 xfs_quota 命令显示有关磁盘配额的信息。
列出所有带有设备和标识符的路径:

# xfs_quota -x -c print
Filesystem          Pathname
/data               /dev/mapper/vg_test-lv_test (uquota)

报告块 (-b) 和 inode (-i) 的文件系统使用情况:

# xfs_quota -x -c 'free -hb'
Filesystem                     Size    Used    Avail   Use%   Pathname
/dev/mapper/vg_test-lv_test    35.5G   41.1M   35.4G   0%     /data
# xfs_quota -x -c 'free -hi'
Filesystem                     Inodes   Used   Free     Use%   Pathname
/dev/mapper/vg_test-lv_test    18.6m    5      18.6m    0%     /data

报告文件系统配额信息:

# xfs_quota -x -c report /data
User quota on /data (/dev/mapper/vg_test-lv_test)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                4          0          0     00 [--------]

要在 /data 上以人类可读的形式报告配额信息:

# xfs_quota -x -c 'report -h' /data
User quota on /data (/dev/mapper/vg_test-lv_test)
                        Blocks              
User ID      Used   Soft   Hard Warn/Grace   
---------- --------------------------------- 
root           4K      0      0  00 [------]

启用配额

要为 XFS 文件系统上的用户启用配额,请在文件系统的 /etc/fstab 条目中包含配额选项,或者使用配额选项挂载文件系统:

# mount -o quota /dev/xvdb1 /xfs

要为组启用配额,请在文件系统的 /etc/fstab 条目中包含 gquota 选项,或者使用 gquota 选项挂载文件系统:

# mount -o gquota /dev/xvdb1 /xfs

要为项目启用配额,请在文件系统的 /etc/fstab 条目中包含 prjquota 选项,或者使用 prjquota 选项挂载文件系统:

# mount -o prjquota /dev/xvdb1 /xfs

或者,我们可以在 /etc/fstab 文件中包含配额挂载选项。
以下示例显示了 /etc/fstab 文件中的条目,用于分别为 XFS 文件系统上的用户、组和项目启用配额。
这些示例还使用读/写权限挂载文件系统:

# vim /etc/fstab
/dev/xvdb1    /xfs    xfs    rw,quota       0  0
/dev/xvdb1    /xfs    xfs    rw,gquota      0  0
/dev/xvdb1    /xfs    xfs    rw,prjquota    0  0
日期:2020-09-17 00:13:34 来源:oir作者:oir