在我的 Solaris 11 机器上,我有一个 zfs 池 (z),它对 /org/users 文件夹中的每个用户使用 100G 组配额。一个用户已达到其配额并清理了其数据。df 输出之前显示 100G,现在显示其目录现在低于 1G。但是,zfs groupquota 仍然认为它们为 100G。
-bash-4.1$ sudo /usr/sbin/zfs get groupquota@12345 z/org/users
NAME PROPERTY VALUE SOURCE
z/org/users groupquota@123451 none local
-bash-4.1$ sudo /usr/sbin/zfs get groupused@12345 z/org/users
NAME PROPERTY VALUE SOURCE
z/org/users groupused@12345 100G local
我尝试刷新他们的配额来修复,但似乎没有改变。 delete_queue 似乎有 3 个项目,所以我认为这不会导致这么大的差异。我还查找了打开的文件(已删除),但没有发现任何有希望的内容:
sudo find /proc/*/fd -type f -links 0
我缺少什么?有人知道这有什么技巧吗?
答案1
有时间研究一下这个。也许您可以分享您的 Solaris 版本吗?我在 Solaris 11.3 系统上尝试过:
# pkg list entire
NAME (PUBLISHER) VERSION IFO
entire 0.5.11-0.175.3.1.0.5.0 i--
# zfs set groupquota@staff=2G rpool/export/home/testquota
# su - testquota
$ mkfile 3G 3gFile
3gFile: initialized 2179989504 of 3221225472 bytes: Disc quota exceeded
# zfs get groupused@staff rpool/export/home/testquota
NAME PROPERTY VALUE SOURCE
rpool/export/home/testquota groupused@staff 2.03G local
$ rm -rf 3gFile
$ zfs get groupused@staff rpool/export/home/testquota
NAME PROPERTY VALUE SOURCE
rpool/export/home/testquota groupused@staff 7K local