Native ZFS on Linux

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
So who here has tried the native port of ZFS on Linux?

If you don't know what I'm talking about but you are interested: http://zfsonlinux.org/

If this works anywhere as well as ZFS on Solaris there is massive potential for a new NAS on the market.

The reasons I think so are:
Solaris is just terrible. I know I'll probably get condemned for this but I've used it many a time now and every time I get frustrated.

FreeBSD has most of those utilities but they still aren't as good as the Linux variants not to mention that FreeBSD/NetBSD/etc. is still on ZFS v15 whereas the Linux native port is v28

And last but not least, Linux is light years ahead in terms of driver support. It happens commonly that I want to use hardware device X and people have already got it running on Linux and sorted the bugs out but on FreeBSD it still has bugs and Solaris doesn't even have a single thread on said piece of hardware.

If ZFS works well I want to start a project to do a NAS on Linux. I'm sure many exist but this would be ZFS specific based on the Ubuntu kernel. Basically FreeNAS but on Linux. Ubuntu is probably the OS with the best driver support after Windows and it gets updated quickly and driver problems resolved fairly quickly also (in most situations).

I'm basically asking for some feedback, if you have used ZFS (native not Fuse) on Linux, specifically Ubuntu if possible. Your experiences? If you also know about some NAS projects on Linux, point them out maybe? I've looked at FreeNAS and I believe a web-interface with that kind of functionality can be built in a couple of months using PHP.
 

ponder

Honorary Master
Joined
Jan 22, 2005
Messages
92,823
http://en.wikipedia.org/wiki/ZFS#Linux
It does not yet implement ZPL layer, thus it's not possible to use it as a filesystem.

List of ZFS based systems just below that link http://en.wikipedia.org/wiki/ZFS#Comparisons


http://zfsonlinux.org/faq.html
1.2 Why doesn’t it build?

Building a kernel module against an arbitrary kernel version is a complicated thing to do. Every distro has their own idea of how this should be done. It depends on the base kernel version, any distro specific patches, and exactly how the kernel was configured and built. If you run in to problems here are few thing to check. If none of these things explain your problem please open up a new SPL issue or a new ZFS issue as appropriate.

The kernel API changes frequently and kernels newer than 2.6.36 are not yet supported.
Check for known SPL and ZFS build issues.
There is also a list of tested platforms you might find helpful.
Make sure CONFIG_PREEMPT is disabled in your kernel (issue 83).


1.3 How do I mount the file system?

The ZFS posix layer is now available as of spl/zfs-0.6.0-rc1! A mountable dataset will be created and mounted when you first create the pool with zpool create. Additional datasets can be created with zfs create and they will be automatically mounted.


1.4 Why should I use a 64-bit system?

In the Solaris kernel it is common practice to make heavy use of the virtual address space because it is designed to work well. However, in the Linux kernel most memory is addressed with a physical address and use of the virtual address space is strongly discouraged. This is particularly true on 32-bit arches where the virtual address space is limited to roughly 100MiB by default. Using the virtual address space on 64-bit Linux kernels is also discouraged. But in this case the address space is so much larger than physical memory it is not as much of an issue.

If you are bumping up against the virtual memory limit you will see this message in your system logs. You can increase the virtual address size with the boot option vmalloc=512M.

vmap allocation for size 4198400 failed: use vmalloc=<size> to increase
size.
 
Last edited:

w1z4rd

Karmic Sangoma
Joined
Jan 17, 2005
Messages
49,747
Ubuntu is probably the OS with the best driver support after Windows and it gets updated quickly and driver problems resolved fairly quickly also (in most situations).

Linux kernel supports more drivers by default than any other OS, but I know what you mean.
 

w1z4rd

Karmic Sangoma
Joined
Jan 17, 2005
Messages
49,747
Please keep in mind the current 0.5.2 stable release does not yet support a mountable filesystem. This functionality is currently available only in the 0.6.0-rc1 release candidate.

I see spl-0.6.0-rc1 is available now.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Yeah I did a bit more research on this topic in the past few days.

ZFS on Linux isn't ready yet but I predict by year end it will probably be excellent judging by the amount of development that has happened so far and how much is left (quite a bit actually).
 

MyWorld

Executive Member
Joined
Mar 24, 2004
Messages
5,001
Why would one want to use ZFS? Is there a specific reason for this?
There are better options currently on Linux.

While ZFS has long been looked upon highly as being an advanced file-system -- it does offer a really great feature-set -- and something that various stakeholders have wanted on Linux within the kernel if the license was changed (right now the closest solution is running ZFS as a FUSE file-system on Linux since the CDDL license is incompatible with the kernel's GPL), the latest EXT4 and Btrfs file-systems are certainly great and are actually faster than ZFS, at least when compared to FreeBSD's latest ZFS implementation. The only time that ZFS on PC-BSD/FreeBSD 8.1 was actually faster than EXT4 or Btrfs was when performing random writes of small file sizes and a low thread count, however, once the number of threads became too high or the size increased, Btrfs immediately popped back to being the faster file-system. It is also noting that as our earlier Btrfs benchmarks have shown, when enabling the transparent zlib compression in Btrfs, its performance jumps up even more. Btrfs also has automatic optimizations for a solid-state drive.

Brtfs is the future.

http://www.phoronix.com/scan.php?page=article&item=zfs_ext4_btrfs&num=1
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Why would one want to use ZFS? Is there a specific reason for this?
There are better options currently on Linux.

Brtfs is the future.

http://www.phoronix.com/scan.php?page=article&item=zfs_ext4_btrfs&num=1

Even on paper Brtfs is less advanced than ZFS. But here is the reality:
Brtfs isn't released yet it is beta code and not recommended for critical systems. ZFS is released, stable, tested and intended for enterprise.
Brtfs doesn't implement any type of data protection (eg. RAID). ZFS offers many options (RAIDz Mirror, RAIDz1, RAIDz2, RAIDz3). It also doesn't currently include deduplication.
Brtfs, a native Linux file system isn't being compared to ZFS a Solaris native file system. Instead it is compared to the FreeBSD port. FreeBSD is still on ZFS version 15 (and those benchmarks are on a even earlier version).
Brtfs to some are the future because of license issues but currently ZFS is much better than Brtfs and if Oracle ever changes the license for ZFS, Brtfs probably won't get a good following.

Btw. Oracle are the principle developers behind both ZFS and Brtfs. Brtfs was started by Oracle and ZFS by Sun Microsystems (acquired by Oracle). The only difference is that Brtfs was set to launch in 2009, now in 2011 it still hasn't got a first release (still beta). Whereas ZFS is already on version 28 of stable and tested code.

Technically ZFS is more advanced than Brtfs, the problem is that ZFS is encumbered by license issues. Performance wise Brtfs may have an advantage (although I doubt it as ZFS on Solaris is much faster than FreeBSD), but implementation wise ZFS is superior.

That said you'd need to compare on Solaris. I don't think there are any proper benchmarks of Btrfs that can be compared to ZFS yet because ZFS can have cache drives (on SSD), have massive caching in memory, etc. that Brtfs doesn't have so making a fair comparison at this point would be very difficult. On Solaris ZFS is 100% defintiely faster than any current Brtfs implementation.
 
Last edited:
Top