ZFS - The blog got my hopes up!


Recommended Posts

How likely are we to get ZFS fully integrated as part of 6.9 once it goes GA? And what level of integration is being considered? For instance, would this include managing ZFS snapshots, replication, volume creation/cloning, zpool creation/management, and so on in the GUI? Or at the opposite end of the spectrum, is this more just integrating the ZFS plugin that's already available through CA, and everything else would be manual? What would that integration look like?

 

Honestly that's the only thing holding me back from pulling the trigger on purchasing at this point. I picked up unRAID as a trial to give it a shot after hearing about it through various outlets, with each and every one of those having noted utilizing ZFS, and figuring if it was so prevalent, I may as well check it out... But have found that given unRAID doesn't recognize *anything* I do with ZFS in the UI (since they're all on unassigned drives), the benefits of the platform just aren't ones that I'm able to fully experience, while instead having the detriment of needing to burn a chassis drive slot in order to start the array before I can even utilize the majority of features.

 

As some further justification (as I know full well that that fully integrating ZFS in unRAID's management interface is a HUGE task):

* One of the biggest groups of people that could be attracted to unRAID are FreeNAS users. All of their data is already on ZFS, and migrating data in order to use btrfs/etc (or any other for that matter) is enough of a barrier to entry to detract all but the most committed - and if they want to use unRAID's feature set, they really have no other option than to migrate, short of living in the command line and burning a drive (minimum 1).

* Going through the feature request sub-forum, several highly commented requests are implemented as an ancillary benefit of ZFS integration - examples:

     - Multiple Arrays

     - Max share sizes (set a zfs quota

     - Snapshot and backup a share (zvols can be cloned, snapped, and sent)

     - (More I'm sure, this is just from a 2 minute review of the first page of that sub-forum)

* Simplification - users needing to learn about mover, how to ensure VMs are on their cache drive (typically an unprotected location, which is terrifying to think about) so they're performant enough to be usable.

 

 

I'd be willing to make the leap if I had any idea where the roadmap is on this (ZFS support) - an unRAID array is fine for many use cases, but so many of us just can't (or won't) move away from ZFS, and that means we're really missing out on so much of what unraid has to offer to simplify managing our homelabs/servers/businesses. We need this to allow us to really consider unraid as a viable alternative to our current systems.

Link to comment

I cannot answer for LT but I doubt any of this (ZFS, multiple arrays, etc) will be integrated in 6.9.

6.9 is in public beta and I think that they are fixing the last bugs before RC.

 

Those elements will be probably part of a future release, probably even several different release given the amount of development for a small team. :) 

  • Like 1
Link to comment
15 minutes ago, BVD said:

How likely are we to get ZFS fully integrated as part of 6.9 once it goes GA? And what level of integration is being considered? For instance, would this include managing ZFS snapshots, replication, volume creation/cloning, zpool creation/management, and so on in the GUI? Or at the opposite end of the spectrum, is this more just integrating the ZFS plugin that's already available through CA, and everything else would be manual? What would that integration look like?

 

... the detriment of needing to burn a chassis drive slot in order to start the array before I can even utilize the majority of features...

 

* Going through the feature request sub-forum, several highly commented requests are implemented as an ancillary benefit of ZFS integration - examples:

     - Multiple Arrays

     - Max share sizes (set a zfs quota

     - Snapshot and backup a share (zvols can be cloned, snapped, and sent)

     - (More I'm sure, this is just from a 2 minute review of the first page of that sub-forum)

* Simplification - users needing to learn about mover, how to ensure VMs are on their cache drive (typically an unprotected location, which is terrifying to think about) so they're performant enough to be usable.

LT has only officially said they are only considering ZFS. If it's just integration with the ZFS plugin (i.e. everything else manual) then it's the same as just using the ZFS plugin so there isn't anything to consider.

 

That means don't expect it in the GUI anytime soon.

Specifically to 6.9.0, I don't think it will have ZFS for the reasons I already posted here.

 

I think you also misunderstood a few things.

  • If you don't want to use the array at all, plug in a USB stick, assign it as disk1 and Bob's your uncle. No need to waste a HDD slot.
    • You can do a feature request to have the one-device-in-array requirement to expand to one-device-in-array-or-cache requirement but if you run pure ZFS then that wouldn't make any diff.
  • When ZFS is integrated, don't expect it to replace the array either.
    • The array is a primary feature of Unraid, why it's called "Un"raid, why it's such a good NAS OS for media storage etc.
    • Mover is something users will have to "learn" (more like familiarize) if they want to use the array. Having ZFS isn't gonna change that.
  • Multiple arrays is not the same as multiple pools and wouldn't be an ancillary benefit of ZFS integration.
    • Even considering multiple-pool, I don't see how it is an ancillary benefit of ZFS integration. 6.9.0 has multiple-pool without ZFS.
  • BTRFS has quota, it's not ZFS exclusive.
  • BTRFS has snapshot, it's not ZFS exclusive.

 

AFAIK, there are really just 2 ZFS key features that fundamentally cannot be replicated elsewhere.

  • Zvol - KVM/QEMU can use vdisk as an alternative to using zvol so it's not essential.
  • Write atomicity - important to those who run RAID5/6 pools but as someone who has experience recovering from both ZFS and BTRFS RAID5 failure, I can tell you it's not essential.

 

And implementing ZFS to Unraid isn't as detriment-free as people seem to assume. For example, there's an official bug in ZFS which makes it not respecting isolcpus.

  • Sure, lots of things don't respect isolcpus but specifically to ZFS, it causes severe lag under heavy IO if the cores are share with a VM. That makes ZFS pool a big no-no for those who want the most consistent performance e.g. gaming VM, which is a major use case for Unraid.
  • FreeNAS is based on FreeBSD which officially says "Note: VGA / GPU pass-through devices are not currently supported." so I'm guessing that's why nobody paid attention to the ZFS bug since FreeNAS users don't even have the gaming VM use case.

 

I'm not saying there's no reason to support ZFS e.g. to attract FreeNAS users.

But IMO, it's just another feature in the long wanted list and given the pros/cons, there are other features that should have higher priority and/or can be accomplished with less effort.

 

 

  • Like 3
Link to comment

I don't know why I never thought about setting up a usb as disk1 :-\ That definitely frees up one 'problem', thanks!

 

I'm definitely not expecting ZFS to replace the unRaid array option - I still think it has significant value, and could easily see being in a place where I'd want a mixed environment, with ZFS hosting my typical data, and the standard unRaid array being used for things like hosting data for FTP, syncthing, anything else that I doesn't need the same level of safety.

 

For those that are, surviving two disk failures is important to me (mostly due to failures during expansion by replacing to larger drives, which happens every few years), and BTRFS just unfortunately isn't there yet, which unfortunately negates my ability to benefit from what it has to offer. A UPS is great for utility failures, but it won't save the filesystem from watchdog timers (and I just don't have the heart to go through recovering from such things anymore lol).

 

With the current implementation (at least to my understanding anyway), the cache device/pool isn't really a cache, but something more akin to snapraid, right? So if anyone was in a position where they had only a single cache device, and that device died, any changes made since the last time mover ran would be lost. If someone wants to quickly get files to their server in a way that they know it's protected from hitting a single point of failure, they have to add a mirror to their pool, or not use the cache device, at least as my understanding goes...

 

Anyway, the short of it is, I'd just like to know where the thinking is going as far as ZFS support, and what the roadmap looks like overall. If there's already an unRaid feature roadmap posted somewhere and I missed it, my apologies in advance!

Link to comment

I should also note (in case anyone comes across this later) - I believe the CPU isolation issue only applies to OS's which boot directly from ZFS. As unRAID's boot isolates the CPUs during it's boot, which is entirely in memory, and before ZFS is loaded, ZFS isn't even aware those CPUs exist.

 

To test this theory, I edited my syslinux config to isolate half of each of my CPUs/threads from each socket, rebooted, then kicked off a scrub and added in a few CIFS transfers just to make sure the load was significant enough to expect all cores to be touched. Sure enough, those cores are at a complete standstill - no threads spawned, nodda. Maybe I'm just measuring it wrong, but it seems like a done issue for vms I've tested thus far at least thankfully!

Link to comment
  • 2 weeks later...

But why use UnRAID for your use case? Why not a standard Ubuntu 20.04 installation on ZFS? You can still use docker for containers and kvm/qemu for VMs just like UnRAID, just without the pretty UI.

 

Having worked with ZFS extensively (I was a Solaris admin when ZFS was first introduced), I see the desire for it, but it really seems counter to what the core use case of UnRAID currently is as a general purpose NAS for media storage that permits mismatched disk sizes with a form of parity protection.

  • Thanks 1
Link to comment

I actually still plan to use the unraid array down the line, I’m just not quite there yet - I’ve got about 30 drives laying around, from some old savvios up to a stack of 2TB nearline sas that I never put into full use... the idea was that I’d eventually throw them in this old supermicro chassis I’ve been had gathering dust in the basement for some time now. Ideally I’d like to handle everything under one OS.

 

I guess if Ubuntu is the way to go, I may as well get moving on it. I was just hoping to find out a little more detail on where Unraid was thinking zfs support was headed for their OS instead. 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.