zfs zed 升级后 CPU 占用率长时间 100% 问题排查

排查内核升级后 zed 持续满载的问题,最终发现 ZFS 用户态工具与内核模块版本不一致,通过重新编译模块解决。

之前为了使用 BBR,将 NAS 的 kernel 从 4.4 升级到了 4.13,因为 Ubuntu 16.04 LTS 的 zfs 版本是 0.6.5,不支持 4.13 kernel,所以用一个 ppa 源将 zfs 升级到了 0.7.6。但是重启之后,发现 zed 这个 Daemon CPU 占用率长期保持 100%,尝试 zpool upgrade -a 来启用新特性,也报了错误。

网上对这个现象的描述有很多。似乎 N 久之前有个版本 bug,会造成类似的情况。尝试更新 zfs,仍然没有恢复正常。

后来看到一篇文章说,如果 zfsutils-linux 的版本和 Kernel Module 的版本不一致,可能会造成此类问题。modinfo zfs,发现版本还是 0.6.5。于是按照 github 上 zfsonlinux 项目的 wiki,Custom Packages 这块讲了如何编译安装。通过这个,将 Kernel Module 更新到了 0.7.6,重启后问题消失。

讨论

在 GitHub 上查看讨论

使用 Hugo 构建
主题 Stack 由 Jimmy 设计