Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm planning to build a FreeNAS box sometime soon, but if ZFS on Linux eventually proves to be reliable, I might want to switch, just to have a more familiar OS.

So I'm wondering if I can trust that the different implementations of ZFS are compatible. In other words, if I just swap out the boot disk from FreeNAS to Linux or OpenIndiana, can I trust that nothing bad will happen to my data?

This may seem like a stupid question--obviously it ought to be compatible--but I'm guessing that ZFS isn't commonly used in cases where drives are moved between computers, so I'm hoping someone can provide a better answer than just "it ought to be".

share|improve this question
add comment

4 Answers 4

up vote 6 down vote accepted

You should pay close attention to the zpool versions. That's the major differentiator between the Oracle, former-OpenSolaris, Linux and *BSD variants of ZFS.

Basically, you can upgrade an older zpool to a newer version, but you cannot downgrade.

Oddly-enough, Wikipedia has the best summary of the different zpool versions and the differences between them.

The current list of zpool versions amongst ZFS implementations is here.

I use NexentaStor 3.1. According to that schedule, I'd be able to work with ZFS filesystems from OpenIndiana and FreeBSD, but NOT Solaris 11, for example.

I do believe FreeNAS is on a super-old version of ZFS, though. Consider Nexenta?

share|improve this answer
1  
The "stable" FreeNAS 8.2 is still ZPool v15; but FreeNAS 8.3 has ZPool v28. –  Chris S Aug 14 '12 at 18:47
    
Yeah, I'd consider Nexenta. Especially since, the more I look into it, the more I think I might wind up running everything on Proxmox, so that the same box can easily serve other purposes. –  iconoclast Aug 14 '12 at 21:11
    
If you're not opposed to VMWare, Nexenta is advertising all-in-one builds. –  ewwhite Aug 14 '12 at 21:13
    
I'm not opposed to VMware, but the license I own is for Mac and one version behind, and I don't think I want to buy a new license when the open source alternatives are catching up (or just maybe have surpassed it???). Unless there's a strong reason to use VMware...? –  iconoclast Aug 15 '12 at 22:52
1  
FreeNAS 8.3 with ZPool v28 has made it to the "stable" milestone, and ZFSBuild is undertaking intensive all-in-one testing comparing it to both Nexenta and vanilla OpenIndiana. –  rkagerer Nov 7 '12 at 17:32
show 1 more comment

The future of ZFS development outside of Oracle will introduce ZFS Feature Flags. This should make it possible for you to use a newer ZFS system on a storage pool based on an older ZFS version. So the answer is yes, it should be safe to start with FreeNAS today and move to Linux later when ZFS there is more mature.

I know FreeBSD now follows the ZFS changes in Illumos very closely. New bugfixes or features are added to FreeBSD-HEAD in matter of days or weeks. I also believe the zfsonlinux project follows ZFS changes in the Illumos ZFS source. And they most likely will have ZFS Feature Flags, if it's not already added. But they do at the moment have a higher priority reaching the stability and quality level that Illumos and FreeBSD has.

share|improve this answer
    
That's extremely helpful to know. I wasn't aware that some provisions were in place. –  ewwhite Aug 15 '12 at 22:53
    
Yes. If I could accept two answers I'd accept this too... unfortunately stackexchange sites are biased in favor of answers that follow soon after the questions they reply to. –  iconoclast Aug 15 '12 at 23:21
2  
@Brandon If you change your mind, you can always un-accept an answer and accept another one. –  Michael Hampton Aug 16 '12 at 6:45
    
@MichaelHampton: it adds additional (very useful) information, but I'm not sure I can say it's better. One answer (as I see it) answers the question directly, as things are now, while the other tells me how things will be in the future, and thus might be the right answer if we fast-forward a couple years. –  iconoclast Aug 16 '12 at 14:00
add comment

The ZFS support in FreeBSD and OpenIndiana is based on the same OpenSolaris code, so they are certainly compatible within the normal limits (same goes with other OpenSolaris derivatives). There is a Linux module available that allows you to use the OpenSolaris code in Linux (they can't be distributed together, ever, because of Linux's infectious license). This would also be compatible for the same reasons.

There is an effort to build a GPL'd ZFS codebase from scratch. There is no inherent guarantee of compatibility now or at any point in the future. Where they decide to take the project is their own responsibility, though their "goal" is compatibility it's not there yet.

I have also seen plenty of people claim that Linux can include code from other licenses. This is true. The CDDL license, which OpenSolaris is covered by, does not allow it to be included with projects that impose more restrictive terms than it does however. Linux's GPL requires that when people make improvements to the OS that those improvement be contributed back; this "more restrictive" term means that CDDL code can not be included with GPL code. Giving Oracle an excuse to sue you probably isn't a good idea. FreeNAS and the rest of the BSDs use the BSD license, which is less restrictive than the CDDL.

share|improve this answer
add comment

i've moved some large pools as follows:

started on solaris 10 (left due to .edu pricing changes under the oracle regime)

moved to nexenta (it's not as awesome as you're hoping it will be...in particular, even though it has debian'ish userland, all the sysadmin stuff is still solaris/illumos/whatever).

moved to freebsd (it's fine, except that the scsi drivers for my hardware weren't). Here, I added a new pool or two.

moved to openindiana (it was kind of like coming back home)

So, in general, it is definitely possible to move pools across OSes. You can even move from little-endian to big-endian (sparc to x64, or vice versa). The key, however, as the other poster said, the pool version. As long as you are moving TO a system with ZFS code that supports the same, or a newer version, you should be happy. I suppose this may be a reason to avoid upgrading your pool version when you upgrade your OS.

share|improve this answer
    
hey danno! +1 should push you over 100 rep. –  iconoclast Sep 6 '12 at 13:45
    
tnx :) drop me a line, firstlast at yahoo –  Dan Pritts Sep 7 '12 at 0:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.