Solved FreeBSD and Linux ZFS compatibitily

Hi,

I am planning to move from funtoo linux to FreeBSD on my file server. One of the concerns is that I am using ZFS heavily for data right now (about 20 TB) on a cool second hand Microserver. I just want to make sure that I have a return path before I go along and replace the OS disk, more specific:

Will there be any incompatibility problems I should be aware of with my zfs pools going from linux to freebsd and will I be able to revert to linux if I decide to do so?

I am using ZFS onlinux version 0.7.13 and will use current version of FreeBSD.

Cheers,
Erik
 
So, after some research I found out that the old concept of seting a ZPOOL version number to indicate supported features each feature is now decribed separately as an attribute to the pool.
Code:
zpool get "all" pool
gives the list. I can now verify that a newly created SmartOS pool have 9 features in the pool that the Linux created one is missing (including encryption).

There is a list of features and what version of what OS it is implemented in at the OpenZFS wiki.
Beside this there is a cool list of new features and how well they are implemented in a google spreadsheet.

Finally I imagine that unless I upgrade the pool using
Code:
zpool upgrade
the features in the pool is expected to remain untouched (don't take this statement as fact though).

I think it is shall be fairly save to boot the server on a freeBSD and import the pools. FreeBSD seems to support the features in use and there seems to be few features in freeBSD that is not in Linux.

Sadly the native zfs-encryption seems not to be implemented in freeBSD as of now, nor is LUKS. This is sad as I one of the pools is and shall remain encrypted. This is the one part where functional overlap between Linux and freeBSD seems to be missing yet. Works in progress though.


Way forward i likely to be to remain on Linux until there is a feasible ZFS-encryption that works well on both linux and freeBSD.
I will continue evaluating Unix (BSD and SmartOS) on one machine and eventually I make a switch. There is a lot to learn and much have happened since my days as Solaris Administrator -95. Zones was in the verge, virtualization as we know it today was not even thought of. Still there is something apelaing with Unix rather than Linux where ever it is feasible.

I still appreciate some feedback on my reasoning here, especially of I am way out wrong.


// Erik
 
Since ZFS on FreeBSD and ZFS on Linux have merged, I don't think there is incompatibility, but I have not had the pleasure of using ZFS myself so I really don't know what I'm talking about.
 
The ZFS on Linux code is currently only in a port/pkg sysutils/openzfs and sysutils/openzfs-kmod. FreeBSD 12.1 is still using the illumos code in the base unless you install that port.

There is likely a plan to replace the illumos code in base with the code from this port, but that won't actually happen until probably 13.0 ? Maybe even 14.0. I don't know the status of this to be able to give a definitive answer.
 
I thought ZFS leadership said basic feature parity was supposed to happen in OpenZFS 2.0 .. In theory you should be able to just import a "basic" pool with a set permissions/feature between both linux/bsd and later mac/windows etc..

If you are using special features they may not be supported initially.

Here is a link to the most recent ZFS leadership notes..
https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM/edit?ts=5bb3b66c

I don't see a specific 2.0 release target date tho.
 
To summarize:

ZFS on Linux is further ahead (in terms of features) than the FreeBSD "native" ZFS (well, I need not defined native at this point in time, it is not OpenZFS at the moment). If I can make it work in FreeBSD I will have no trouble reverting to Linux.

My problem will most likely be going from Linux to FreeBSD and to get all features working in FreeBSD. If this is troublesome one might use the openZFS port. This is good news, better take the problems first than realize I have them after a point of no return.

Thank you all for commenting on this. I think that answer my question.
 
Back
Top