我在家中有一个简单的ZFS设置,有四个磁盘镜像,8GB内存和用于L2ARC的120GB Intel X25-M SSD。zpool add poolname cache cXtXdX
然后,我生成了负载,并通过运行急切地跟踪了升温过程zpool iostat -v mypool
。几个小时后,L2ARC已满,但是究竟缓存了什么呢?
我可以窥视一下ARC / L2ARC中的内容吗?我知道某些块会映射到多个文件系统(由于快照,克隆或dedup),但是我仍然想对统计数据进行抽样,如下所示:
- 缓存的块类型:元数据。iSCSI,数据。等等
- 年龄:每个区块进入L2ARC多久了
- 哪些文件:缓存了部分内容的目录
- 文件系统故障:每个文件系统缓存的GB
- 块的非易失性副本的位置(驱动器/ vdev)
我以为zdb和/或dtrace会成为您的工具,但真的不知道从哪里开始。
3
布伦丹·格雷格(Brendan Gregg)有一篇很棒的博客文章,回答了您的一些观点。
—
user9517 2011年
检查我的答案中链接的脚本。
—
ewwhite 2012年
布伦丹·格雷格(Brendan Gregg)撰写
—
Marco Marco