我成功使用了 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" /path
和xfs_quota -x -c "remove -p" /path
删除配额元数据。
请注意,此操作将删除所有项目配额限制。