Answers:
您应该密切注意zpool版本。这是Oracle,以前的OpenSolaris,Linux和ZFS的* BSD变体之间的主要区别。
基本上,您可以将较旧的zpool升级到较新的版本,但不能降级。
奇怪的是,维基百科提供了有关不同zpool版本及其之间差异的最佳摘要。
我使用NexentaStor 3.1。根据该时间表,例如,我将能够使用OpenIndiana和FreeBSD中的ZFS文件系统,但不能使用Solaris 11。
我确实相信FreeNAS是在ZFS的超旧版本上。考虑使用Nexenta吗?
在Oracle之外进行ZFS开发的未来将引入ZFS功能标记。这样一来,您便可以在基于较旧ZFS版本的存储池上使用较新的ZFS系统。因此答案是肯定的,从今天开始使用FreeNAS并在ZFS更成熟的时候稍后再迁移到Linux应该是安全的。
我知道FreeBSD现在非常密切地关注Illumos中的ZFS更改。新的错误修正或功能将在几天或几周内添加到FreeBSD-HEAD中。我也相信zfsonlinux项目遵循Illumos ZFS源代码中的ZFS更改。如果尚未添加ZFS功能标志,则它们很可能会带有ZFS功能标志。但是目前,它们确实具有更高的优先级,达到了Illumos和FreeBSD所具有的稳定性和质量水平。
FreeBSD和OpenIndiana中的ZFS支持基于相同的OpenSolaris代码,因此它们在正常范围内肯定兼容(与其他OpenSolaris衍生产品相同)。有一个可用的Linux模块,允许您在Linux中使用OpenSolaris代码(由于Linux的感染性许可,它们永远不能一起分发)。由于相同的原因,这也是兼容的。
正在努力从头开始构建GPL的ZFS代码库。现在或将来的任何时候都没有内在的兼容性保证。他们决定承担该项目的责任是他们自己的责任,尽管他们的“目标”尚不兼容。
我也看到很多人声称Linux可以包含来自其他许可证的代码。这是真的。OpenSolaris所涵盖的CDDL许可证不允许将其包含在比其施加更多限制性条款的项目中。Linux的GPL要求,当人们对OS进行改进时,必须将这些改进归还。这个“更严格的”术语意味着CDDL代码不能包含在GPL代码中。给甲骨文起诉你可能不是一个好主意。FreeNAS和其余的BSD使用BSD许可证,该许可证的限制不如CDDL限制。
我将一些大型泳池移动如下:
从solaris 10开始(由于Oracle体制下.edu的价格变化而退出)
迁移到nexenta(它并不如您希望的那样出色……特别是,即使它具有debian'ish用户地,所有的sysadmin东西仍然是solaris / illumos /任何东西)。
转移到freebsd(很好,除了我的硬件的scsi驱动程序不是)。在这里,我添加了一个或两个新池。
搬到openindiana(有点像回到家)
因此,一般而言,绝对有可能在操作系统之间移动池。您甚至可以从小端到大端(从sparc到x64,反之亦然)。但是,正如另一位发布者所说,密钥是池版本。只要您要迁移到具有支持相同或更新版本的ZFS代码的系统,您就应该很高兴。我想这可能是避免在升级操作系统时升级池版本的原因。