监视和报告 Solaris 上的磁盘使用情况的最佳方法是什么?

监视和报告 Solaris 上的磁盘使用情况的最佳方法是什么?

dfdu提供了使用情况的总体视图,但问题在于它们没有按用户细分。

有没有可以做到这一点的工具?我找到了quot,但只适用于 ufs。有没有与 zfs 或 nfs 相当的工具?

为了分解使用情况,可以编写脚本。这是唯一的选择吗?


输出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

答案1

对于 zfs,根据zfs 手册页,用于zfs userspace filesystem获取文件系统上所有用户的列表,以及用于zfs get [-r] userused@user filesystem获取文件系统上特定用户使用的空间。使用该-r选项zfs get ...还可以获取文件系统所有后代上的用户使用情况。请注意,这不仅会返回后代文件系统,还会返回后代克隆和快照。

据我所知,NFS 不直接支持此类操作 - 这必须通过 NFS 服务器上的本机文件系统来完成。

答案2

要回答您的具体问题,“在 Solaris 上监视和报告磁盘使用情况的最佳方法是什么”,这实际上并不是采用特定命令集或 shell 脚本的形式,而更像是安装在您的系统上以便密切关注统计信息的第三方代理。

在这方面表现极为出色的两款产品是 NetIQ 和 Compuware 的 dynaTrace,这两款产品都是适用于企业环境的优秀产品,可提供极其详细的报告。它们还具有出色的警报功能和 API,甚至可以与多种其他产品和支持票务系统集成。

此外,这些产品非常适合容量规划,能够将磁盘使用情况统计信息精确到您想要或需要的水平。它们还专门支持 Solaris 的多个版本上的 ZFS 文件系统。

相关内容