ZFS ARC和L2ARC缓存中有什么?


8

我在家中有一个简单的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

Answers:



6

我可能会争辩说,您不应该关心缓存中的内容,而应该关心是否已缓存了最有效的内容。即,是否使用了ARC高速缓存以达到最大效率?

我在工作中运行了一个小型(9TB)ZFS实现,我发现本洛克德伍德博客文章中详细介绍了Ben Rockwood的工具arc_summary.pl和Sun的arcstat.pl,它们非常有用。

我知道它不能直接回答有关ARC缓存中确切内容的问题,但是这些应该为您提供有关如何使用缓存以及是否需要更多内存/ SSD空间的可靠数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.