btrfs 依然让人失望

在一周前,我尝试在纯 btrfs 安装 Funtoo,结果实在是让人失望。

安装的过程其实并不比纯 ZFS 轻松多少,相反,由于 btrfs 依然需要读取 fstab 来决定挂载点和挂载选项,因此,对于每个 btrfs 子卷的分配和选项都要写到这个文件。结果就是,我创建了大概 9 个子卷,每个子卷都要一条长长的挂载选项,痛苦不堪。相比之下,ZFS 真的轻松许多,直接读取 /etc/zfs/zpool.cache 来决定文件系统的挂载方式,而且 zpool.cache 可以动态更新,完全不需要用户手动操作。在这点上,btrfs 完败。

安装完成之后,本来以为可以一劳永逸了,结果才发现 btrfs 的管理功能实在是很弱。光是一个 snapshot 就比 ZFS 少了很多功能,至少我不知道如何给 btrfs 的 / 及其下面的子卷递归创建快照,ZFS 下面可是一个 -R 参数就搞定了。也许是我对 btrfs 不够深入吧。

还有一点倒是值得赞许,3.8 内核的 btrfs 性能比我以前用 3.2 内核时候改善了不少,不再像以前那样经常占用硬盘 I/O 来做后台操作了。但是就现阶段而言,个人依然觉得 ZFS 更方便,更便于管理。btrfs 还有很长的路要走。

当然,事后我义无反顾地装回了纯 ZFS,因为目前来说,我更喜欢 ZFS。当然,ZFS 也有缺点,ARC 缓存吃内存吃得实在厉害,如果 ARC 限制得太小,又会导致系统很卡,真是一把双刃剑。

本来还考虑着写一篇在纯 btrfs 安装 Linux 的教程,看来得稍微延后一下,有几个疑问还待验证。