ZFS on root

Hi

Has anyone managed to successfully install on ZFS? I am trying to use ZFS on root by installing with Architect but my installation fails and I can't boot, instead getting dropped into the UEFI menu. Could someone please tell me how to set up my install step-by-step?

Thanks in advance

This could be helpful (adapt to the kernel you are using):

https://wiki.archlinux.org/index.php/ZFS

I don't think the automatic add of the modules is working. When it asks you if you want to add packages, add linux54-zfs or whatever version is appropriate for the kernels you install.

Also, although it has been fixed in the code, the current version doesn't support grub mbr/bios installs. Both systemd-boot and grub work in uefi mode.

Thanks guys, the latest architect ISO doesn't seem to have ZFS enabled though. Unless it has been updated. I was using an LxQT spin that someone had created. I have wiped it now as I needed the USB stick to put Manjaro on.

Probably me. I updated those ISOs about a week ago so they should still work. All the ISOs should have architect on them.

So it was. In your experience, is ZFS better than BTRFS and/or EXT4?

Better for what?

zfs and btrfs are both more advanced filesystems than ext4 but more advanced means more features, not better performance.

So the first question is, do you need/want those features. Things like snapshots/snapshot replication, built-in raid, transparent encryption and compression, etc, etc.

If you do, than for me it breaks down like this. zfs is slightly more complicated than btrfs but also more reliably and has some features that btrfs doesn't such as zvols. However, it is also out-of-tree so needs special modules.

I guess the short answer is, for my needs, I prefer zfs but there is no "right" answer here.

Something to read if you like:

https://www.quora.com/What-is-the-advantage-of-using-ZFS

https://wiki.archlinux.org/index.php/ZFS

1 Like

Basically I have an 800G SSD as / and /home with 2 x 4TB HDDs storing Pictures Music and Videos, with symlinks. I like the idea that ZFS provides some protection against data loss and that I could create a pool, effectively treating the 3 drives as one big one. I know ZFS is copy-on-write but how noticeable is the loss of performance? Does it slow everything down badly or is it barely noticeable?

You definitely shouldn't do that. You should, at the very least, have separate pools for the SSD and the HDDs.

I have never noticed any real-world impact in desktop usage but I suppose it depends how IO intensive your workloads are.

Do you mean a separate pool for each type? Like one for the SSD and another for both mechanical drives or one for each separate drive? I have my root and home partition on the SSD, Music, Documents and Pictures on one mechanical drive and Videos and my Steam library on the other mechanical drive. What sort of setup would you recommend?

Yes, a separate pool for each type. You can't control where data goes physically inside of a pool so you would put one pool on your SSDs and a second pool for your HHDs.

Then you can put datasets in whichever pool you like. Since storage is shared across the pool, the more datasets the better. You can create datasets for root, home, cache and others on the ssd pool. Then put datasets for the others you mentioned in the pool for your HHDs.

I usually create a dataset for my pacman cache and my yay cache as well. The reason for that is I generally don't care about those caches and don't want them included in snapshots. You can also choose to selectively compress or encrypt datasets. It is all really flexible.

So if I created a pool for the 2 mechanical HDDs and put Music, Pictures and Videos on there, would I then create symlinks in /home pointing to each of these?

You could do that but it would be easier to just let zfs deal with it. zfs datasets can have mountpoints and zfs can handle those mounts for you. So when you create the dataset for Documents you can tell it where to mount it and will be handled for you.

Cool, I didn't realise that could be done. What about automatic snapshots and how about restoring them? When I used Btrfs, I installed timeshift-autosnapshot from the AUR which would create a snapshot after a pacman upgrade, if anything broke, I could just reboot and choose a previous snapshot from the grub [grub-btrfs] menu. Does ZFS have similar tools?

For scheduled snapshots I have used znapzend and sanoid, both are flexible and work well.

Ubuntu has been developing grub zfs snapshot integration but I am not sure if it has made it's way to Arch yet.

That seems like a poor timing to me.....

Fabulous! Thank you for all your help, I'm going to download the ISO again and try again. Thanks again :+1:

Why poor timing?

Shouldn't you take the snapshot before the update.... :wink:

Nobody asked me, but I'll contribute my $0.02 anyway. :nerd_face:

I've been using BtrFS for a couple of months on my laptop. No RAID, just a single SSD. A while back I converted my filesystem to ZFS. After a couple of days I went back to BtrFS.

I have no doubts that in an enterprise environment, ZFS is far superior to BtrFS. It may also be better when using RAID storage. For my simple -- perhaps trivial -- use case, however, I found BtrFS to be a better fit. ZFS is significantly more complex to administer and (on Linux) uses a lot more memory. That said, I'm also considering setting up a home server running FreeBSD with ZFS.

I am by no means any sort of an expert at either filesystem. My knowledge is limited to brief usage on my personal Manjaro system.

Forum kindly sponsored by