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

之前为了使用 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,重启后问题消失。

银欣 SST-DS380B 机箱散热优化

07 年中的时候,准备搭建一个 NAS,来存放乱七八糟的文件。因为希望使用 raid 6 以上系统,至少要有 6 个硬盘。又因为想加一个万兆网卡与台式机通讯,最后决定使用有 12 个 SATA 接口的永擎的 C2550D4I。了解到软 Raid 十分不靠谱,最后使用的是 ZFS(似乎更不靠谱了……)。正好 C2550D4I 可以使用 ECC 内存,配合起来非常方便。

按照计划组建了 8 个硬盘的 NAS 之后,发现的一个严重问题就是,磁盘温度常年保持在 50~60℃,让我对硬盘的寿命深深担忧。于是在网上看到了这个文章:Creating a Cooling Duct for the SilverStone DS380B

在开始详细描述这个文章使用的方法之前,请允许我先讲一下 DS380B 的风道结构。
继续阅读: %s