我可以相信 ZFS 在 Linux 和 FreeBSD 之间是一致的吗?

ico*_*ast 11 linux freebsd zfs freenas

我计划在不久的将来构建一个 FreeNAS 盒子,但如果 Linux 上的 ZFS 最终被证明是可靠的,我可能想切换,只是为了拥有一个更熟悉的操作系统。

所以我想知道我是否可以相信 ZFS 的不同实现是兼容的。换句话说,如果我只是将引导盘从 FreeNAS 换到 Linux 或 OpenIndiana,我能相信我的数据不会发生任何坏事吗?

这似乎是一个愚蠢的问题——显然它应该是兼容的——但我猜 ZFS 不常用于在计算机之间移动驱动器的情况,所以我希望有人能提供比只是“它应该是”。

eww*_*ite 8

您应该密切注意 zpool 版本。这是 ZFS 的 Oracle、以前的 OpenSolaris、Linux 和 *BSD 变体之间的主要区别。

基本上,您可以将较旧的 zpool 升级到较新的版本,但不能降级。

奇怪的是,维基百科对不同 zpool 版本以及它们之间的差异有最好的总结

ZFS 实现zpool 版本的当前列表在这里

我使用 NexentaStor 3.1。根据该计划,例如,我将能够使用来自 OpenIndiana 和 FreeBSD 的 ZFS 文件系统,但不能使用 Solaris 11。

不过,我确实相信 FreeNAS 使用的是 ZFS 的超旧版本。考虑Nexenta?


Chr*_*s S 7

FreeBSD 和 OpenIndiana 中的 ZFS 支持基于相同的 OpenSolaris 代码,因此它们肯定在正常范围内兼容(与其他 OpenSolaris 衍生产品相同)。有一个可用Linux 模块允许您在 Linux 中使用 OpenSolaris 代码(由于 Linux 的感染性许可证,它们永远不能一起分发)。出于同样的原因,这也将是兼容的。

人们正在努力从头开始构建 GPL 的 ZFS 代码库。现在或将来的任何时候都没有内在的兼容性保证。他们决定接受项目的地方是他们自己的责任,尽管他们的“目标”是兼容性,但目前还没有。

我还看到很多人声称 Linux 可以包含来自其他许可证的代码。这是真的。OpenSolaris 所涵盖的 CDDL 许可证不允许将其包含在比它强加更多限制条款的项目中。Linux 的 GPL 要求当人们对操作系统进行改进时,这些改进将被回馈;这个“更具限制性”的术语意味着 CDDL 代码不能包含在 GPL 代码中。给 Oracle 一个起诉你的借口可能不是一个好主意。FreeNAS 和其他 BSD 使用 BSD 许可证,这比 CDDL 限制要少。


小智 7

Oracle 之外的 ZFS 开发的未来将引入ZFS 功能标志。这应该使您可以在基于旧 ZFS 版本的存储池上使用更新的 ZFS 系统。所以答案是肯定的,现在开始使用 FreeNAS 应该是安全的,然后当 ZFS 更加成熟时再转移到 Linux。

我知道 FreeBSD 现在非常密切地关注 Illumos 中的 ZFS 变化。新的错误修正或功能会在几天或几周内添加到 FreeBSD-HEAD。我也相信zfsonlinux项目遵循 Illumos ZFS 源代码中的 ZFS 更改。如果尚未添加,它们很可能会有 ZFS 功能标志。但目前他们确实有更高的优先级达到 Illumos 和 FreeBSD 的稳定性和质量水平。

  • @Brandon 如果您改变主意,您可以随时取消接受一个答案并接受另一个答案。 (2认同)