df和du提供了总体使用情况,但问题在于它们并没有按用户细分。
有没有这样的工具? 我find了quot但只能在ufs上工作。 有没有一个相当于zfs或nfs?
要分解使用情况,可以编写一个脚本。 那是唯一的select吗?
来自zfs userspace filesystem的输出
$ zfs userspace filesystem cannot access dataset filesystem: dataset does not exist
zpool upgrade -v的输出
$ zpool upgrade -v This system is currently running ZFS pool version 32. The following versions are supported: VER DESCRIPTION --- -------------------------------------------------------- 1 Initial ZFS version 2 Ditto blocks (replicated metadata) 3 Hot spares and double parity RAID-Z 4 zpool history 5 Compression using the gzip algorithm 6 bootfs pool property 7 Separate intent log devices 8 Delegated administration 9 refquota and refreservation properties 10 Cache devices 11 Improved scrub performance 12 Snapshot properties 13 snapused property 14 passthrough-x aclinherit 15 user/group space accounting 16 stmf property support 17 Triple-parity RAID-Z 18 Snapshot user holds 19 Log device removal 20 Compression using zle (zero-length encoding) 21 Reserved 22 Received properties 23 Slim ZIL 24 System attributes 25 Improved scrub stats 26 Improved snapshot deletion performance 27 Improved snapshot creation performance 28 Multiple vdev replacements 29 RAID-Z/mirror hybrid allocator 30 Reserved 31 Improved 'zfs list' performance 32 One MB blocksize
对于zfs,根据zfs手册页 ,使用zfs userspace filesystem获取文件系统上所有用户的列表,并使用zfs get [-r] userused@user filesystem获取特定用户在文件系统上使用的空间。 使用-r选项可以使zfs get ...获得用户对文件系统所有后代的使用情况。 请注意,这不仅会返回派生文件系统,还会派生出派生的克隆和快照。
据我所知,NFS不直接支持这样的操作 – 这将不得不通过NFS服务器上的本地文件系统来完成。
为了回答您的具体问题,“在Solaris上监视和报告磁盘使用情况的最佳方法是什么?”,这实际上不是一组特定命令或一个shell脚本的forms,而更像是一个第三方代理安装在您的系统上,以保持对统计信息的标签。
NetIQ和Compuware公司的dynaTrace都是非常好的产品,它们都是企业环境的优秀产品,并提供非常详细的报告。 它们还具有很好的警报function,API,甚至可以与其他多种产品集成并支持票务系统。
此外,这些产品非常适合容量规划,并且能够将磁盘使用情况统计信息确定为您可能想要或需要的粒度级别。 他们还特别支持许多版本的Solaris上的ZFS文件系统。