如何从 xfs 项目配额中删除项目 ID?

如何从 xfs 项目配额中删除项目 ID?

我成功使用了 xfs 项目(或目录)配额。但是我刚刚发现,一旦不再需要配额信息,我就无法删除它。例如,我有 3 个项目,项目 ID 分别为 1、2、3。我删除了 ID 为 2 的项目的目录,现在 xfs_quota 继续告诉我有一个 ID 为 2 的项目,并且它有配额。报告的已用空间为 0,这是正确的,因为目录已被删除。这不是真正的问题。每当我重新使用 ID 为 2 的项目时,我都会设置新的配额,但我仍然想从文件系统中删除这些无用的信息。

/etc/项目

1:/web/perso/usera
3:/web/perso/userc

/etc/projid

usera:1
userc:3

以下是 xfs_quota 报告的内容。

root@server # xfs_quota -xc "report -a -p -h" 
Project quota on /web (/dev/vdb1)
                        Blocks              
Project ID   Used   Soft   Hard Warn/Grace   
---------- --------------------------------- 
#0         588.3M      0      0  00 [------]
usera        5.5M    14G    14G  00 [------]
#2              0   980M     1G  00 [------]
userc      574.6M    14G    14G  00 [------]

我怎样才能告诉 xfs 它不再需要跟踪项目 ID 2 ?

答案1

当项目仍在时将限制设置为 0/etc/{projid,projects}会将项目从元数据中删除。之后,可将其从 中删除/etc/{projid,projects}

xfs_quota -x -c 'limit -p bsoft=0 bhard=0 foo' /path

我偶然遇到了这个。

答案2

看来你需要先关闭配额才能这样做:

remove [ -gpu ] [ -v ]

从当前路径标识的文件系统中删除分配给配额元数据的所有空间。不得启用配额在文件系统上,否则该操作将报告错误。

您可以disable先尝试一下,但恐怕您需要使用off

disable [ -gpu ] [ -v ]

禁用配额强制执行,同时保持配额核算处于活动状态。 -v选项 (verbose) 显示操作完成后的状态。

off [ -gpu ] [ -v ]

永久关闭当前路径标识的文件系统的配额。只能通过卸载然后重新安装来重新打开配额。

正如您所说,当 ID 被重复使用时,可以再次设置配额,所以这不是一个真正的问题。永久关闭配额就像是烧毁房子来杀老鼠一样。

答案3

您应该xfs_quota -x -c "project -C foo" /path首先使用 清除目录树。然后使用xfs_quota -x -c "off -up" /pathxfs_quota -x -c "remove -p" /path删除配额元数据。

请注意,此操作将删除所有项目配额限制。

相关内容