ZFS in various operating systems

As I stated in one of my previous articles [1], there will be no more OpenSolaris releases and the project will probably end. We can’t say that about ZFS which is one of its greatest advantages. In this article I am going to describe several operating systems that implement ZFS.

I want to list the following operating systems, distributions and projects covering ZFS (Zettabyte Filesystem):

  1. OpenSolaris
  2. Solaris
  3. FreeBSD
  4. Debian GNU/kFreeBSD
  5. Linux
  6. Nexenta
  7. IllumOS

NOTE: For reference of ZFS pool version numbers, refer to my previous article [2].

OpenSolaris
The home operating system of ZFS is OpenSolaris. In 2006 ZFS was introduced in this project and here it is developed until today. It was extended with many new features and improvements. The last official release was 0906 containing ZFS pool version 14 and the latest development release was b134 with ZFS pool version 22. There will probably be no more releases [1]. The source code is still being worked on and it is publicly available [3], the latest ZFS pool version is 28. As an open source alternative, the Nexenta and IllumOS projects have been introduced.

Solaris
The commercial operating system Oracle Solaris 10 integrates in update 8 (10/09) ZFS pool version 15. Newer versions can be expected in upcoming updates and in the planned Solaris 11 release (expected in early 2011).

FreeBSD
FreeBSD contains a full working implementation of ZFS. Some features specific to (Open-)Solaris are missing (e.g. CIFS file sharing, ISCSI target support). FreeBSD version 8.1 supports booting from ZFS and supports ZFS pools up to version 14. Version 8.2 will definitely contain ZFS pool version 15. There is a patch against the development version of FreeBSD available that implenets ZFS pool version 28. It is planned to be part of FreeBSD 9.0. Positive testing of this patch could initiate an integration FreeBSD 8.x.

Debian GNU/kFreeBSD
The Debian GNU/kFreeBSD project [4] integrates the FreeBSD kernel and GNU userland into a distribution. Recently ZFS support was added. The functionality of ZFS in this distribution is derived from FreeBSD.

Linux
ZFS was not integrated into the linux kernel yet. Reason is the incompatibility of the ZFS license (CDDL) and the Linux kernel license (GPL). Nevertheless there is ongoing work on a kernel module implementation. The two projects known to me are: one closely developed by KQ Infotech [5] and one from Brian Behlendorf [6] with available source code but missing POSIX layer functionality. The only available working solution is via the FUSE layer from the ZFS-FUSE [7] project. Unfortunately, this solution has many disadvantages. The last version (0.6.9) contains ZFS pool version 23.

Nexenta
The distribution maintained by Nexenta Systems, Inc. called Nexenta Core [8] is based on OpenSolaris and contains a full working ZFS implementation at the level of OpenSolaris. The distribution is built on an improved OpenSolaris b134 kernel and GNU userland programs. The latest release Nexenta Core 3.0 contains ZFS pool version 26. Thanks to the binary compatibility it is a very good open source alternative to OpenSolaris and Solaris. Old versions of many packages in their package repository are a disadvantage.

IllumOS
The newly founded IllumOS project [9] is planned to be a open source continuation of the OpenSolaris project. The developers are going to replace the closed parts by open source code, e.g. by using FreeBSD source code for some closed drivers. The project has no files for download yet.

At the end I would like to list ZFS versions in available releases of the projects above (as for today):

Release ZFS source code OpenSolaris 0906 OpenSolaris b134 Solaris 10u8 FreeBSD 8.1 Linux ZFS FUSE 0.9.6 Nexenta Core 3.0
ZFS pool version 28 14 22 15 14 23 26

References:
[1] The End of OpenSolaris (blog.vx.sk)
[2] ZFS pool and filesystem versions (blog.vx.sk)
[3] http://src.opensolaris.org/source/xref/onnv/onnv-gate/
[4] http://www.debian.org/ports/kfreebsd-gnu/
[5] http://kqinfotech.wordpress.com/2009/10/23/hello-world/
[6] http://github.com/behlendorf/zfs/wiki
[7] http://zfs-fuse.net/
[8] http://www.nexenta.org/
[9] http://www.illumos.org/

Posted in ZFS

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>