ZFS on Ubuntu vs Freenas
I don’t want to bore you why ZFS is the coolest filesystem (features), this is just a recap of my experience with OpenZFS on Linux and Freebsd/Freenas in a Desktop and Home Server perspective.
4 years ago OpenSolaris released Nautilus with TimeSlicer, an efficient “Time machine” for your files and your backups, but since then a lot of things changed: Oracle acquired Sun, OpenSolaris is dead and in 2013 the communities interested in ZFS Open Source, Illumos, Freebsd, ZFS on Linux, merged the efforts in OpenZFS project (aka ZFS v5000 and beyond).
A quick look FreeNAS vs Ubuntu
FreeNAS: it is an ad-hoc OS based on FreeBSD to build a full-featured File Server. It is managed mainly via a local Web UI and it simplify a lot all the File Server related tasks.
Ubuntu: It is a well known Desktop and Server GNU/Linux OS.
Freebsd/FreeNAS: The support of the ZFS filesystem isn’t new anymore and You get it out-of-the-box. FreeNAS
Linux: The ZFS on Linux project is very active and it is also used in production but ZFS will never ship with the Linux Kernel or in a distro because incompatibilities in the license. It means when You install the OS for the first time You’ll have to add a repository and download the ZFS drivers.
The Benchmark: copy a ~8gb file locally and via ethernet
I didn’t find a more scientific comparison, so this is my basic performance test with the “time command” repeated 3 times.
Hardware: Intel dual core E8400, 4Gb ram, Hard Disk WDC_WD15EARS
Software: Linux kernel 3.8 on Ubuntu 12.04.3, FreeNAS/Freebsd 9.1
Copy on the same partition: ~30Mb/s
And ~37Mb/s with ext4. Anyway the bottleneck is the ethernet.
Copy via NFS/sftp arcfour: ~10Mb/s
NO thanks: I really had bad times sharing the same volume ZFS v5000 between the 2 OSes. I created it in a partition via Ubuntu, FreeNAS automatically imports ZFS from an entire Hard Disk, I imported manually the volume and It worked, then I unmounted it with “zfs export” and I got a valid ZFS Volume for Freenas but corrupted UNAVAIL for Linux and also duplicated IDs.
# zpool import pool: rpool id: 15148464799595220882 state: UNAVAIL status: One or more devices contains corrupted data. action: The pool cannot be imported due to damaged devices or data. see: http://zfsonlinux.org/msg/ZFS-8000-5E config: rpool UNAVAIL insufficient replicas ata-WDC_WD15EARS-00Z5B1_WD-WMAVU2166291 UNAVAIL pool: rpool id: 13859084770064415634 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: rpool ONLINE scsi-SATA_WDC_WD15EARS-00_WD-WMAVU2166291-part4 ONLINE
Crypto: Your CPU should support AES-NI but Linux uses LUKS, Freebsd GELI and Solaris 11 uses a “per ZFS Volume” encryption that isn’t Open Source.
You should really try both. FreeNAS is really a Full-Featured File Server and it is extensible via “secure plugins” called Jails (LXC docker on Linux). On Linux I didn’t find a so All-in-One and documented Web Interface.
If You want a more mainstream general purpose OS, with almost all driver suppport and you like to tweak via shell: Ubuntu (ZFS on ROOT), but also Debian and Gentoo have a great ZFS on Linux support