Linux上ZFS的配额使用情况如何?

我有一个根据ZFS的用户是他们的配额.但是,我无法找到他们如何使用他们所有的空间.此文件系统没有后代文件系统,并且根据手册页,userquota空间计算不包括后代数据集使用的空间,例如快照和克隆.为什么zfs和find& du在很大程度上不同意?
# zfs get -H userquota@user1 zpool/zfs1 && zfs get -H userused@user1 zppol/zfs1
zpool/zfs1  userquota@user1  20G              local
zpool/zfs1  userused@user1  20.0G           local

# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user1 -print0 | du -hc --files0-from=- | tail -n 1
5.9G    total

另外,我有另一个看似相反问题的用户.

# zfs get -H userquota@user2 zpool/zfs1 && zfs get -H userused@user2 zpool/zfs1
zpool/zfs1  userquota@user2 50G local
zpool/zfs1  userused@user2  14.9G   local
# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user2 -print0 | du -hc --files0-from=- | tail -n 1
81G total

解决方法

在第一种情况下,find(1)可能无法发现user1的某些文件,因为它们被安装在它们上面的一些fs隐藏了?

在第二种情况下,也许某些东西安装在zfs1挂载点下的某处,你在空间计算中包含它?

偶然,

zfs get -H -o value mountpoint zpool/zfs1

将只打印挂载点,因此您不需要剪切(1).

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...