I have a daily driver laptop running arch BTW which has two SSD. One SSD is in the ODD slot and the other in a SATA slot. I wanted to know if anyone has any advice on whether I should go with ZFS or BTRFS. I particularly am interested in redundancy and snapshots. Please let me know also if I should just stick with ext4.
Regards, your friendly neighborhood ComputerKid.
I have used btrfs before (2012-2013 era) not on my laptop but on servers with lots of disks. I suffered no data loss, and found btrfs needed a little hand-holding and maintenance back then. I don’t know if that’s the same now.
More recently I did some installs of OpenSUSE which used btrfs by default, for the snapshot capability. It was a disaster. The default OpenSUSE config would frequently eat the entire disk with snapshots and after a simple system update I’d be left staring at a black screen. I had to rummage around in some wiki posts to clear out old snapshots. This, for me was a red flag, and I never installed again on btrfs. Not because btrfs was at fault, but the way OpenSUSE did it tainted my view.
Even more recently I reinstalled Ubuntu 20.04 on my main laptop so I could take advantage of ZFS. The new ZSYS stuff in Ubuntu 20.04 means I get snapshots on updates - but - importantly - the old snapshots are garbage collected so I shouldn’t run out of disk space as a result. It’s been pretty bullet proof for me so far. The only issue I have had is due to me installing off the beta Ubuntu ISO which was missing some fixes that landed later. The devs helped though, and sorted that out.
I haven’t had to revert to a snapshot yet, because my system hasn’t broken :D. However I expect I could, if I wanted to. I’m sticking with ZFS and for any new installs I do, I’ll switch to ZFS there too.
I’m not worried about claimed Oracle legal vibes. They’re not coming after me.
I’m much the same. The vast majority of my systems are ext4. I only went for XFS on one, because I knew there were going to be a lot of files on it, and I’d been informed it’s quite performant. The ZFS choice I made because I knew we needed more testing of it, and I am often Patient zero
I use ZFS on my laptop and on the laptop of my wife, however I directly purge the Ubuntu add-on zsys after the install and I only use plain and reliable ZFS. I have some additional simple scripts to manage the complex dataset structure created by Ubuntu:
create a new user in its own dataset;
create a system snapshot;
rollback or destroy system snapshots.
By system problems the system will almost always boot in the terminal of the latest or previous Linux release and there I can rollback to the latest system snapshot. If that does not work, I have a minimal ext4 installation with ZFS support on a small partition (10 GB) as last resort.
As example: I upgraded too soon to 20.04 Alpha and afterwards I did rollback 20.04 to 19.10 running the rollback script in the ext4 installation
I took my time learning, and playing with snapper, and agree that sane defaults, with respect to garbage-collected snapshots, would make all the difference in the world. Snapper’s defaults, to make way too many snapshots, are indeed hubris.
I use BTRFS on my root partitions only if it’s Linux Mint (say, on a family member’s machine), in order to leverage the GUI goodness of Timeshift (like Apple’s “Time Machine”). Then the snapshots are easy to set up and manage.
For all other distros, EXT4 is my default, and then I make compressed, off-disk backups using zstd on the command line (and this ugly-looking CLI method I only use personally, thereby avoiding scaring my family and friends, who would probably look down their nose, upon seeing the Terminal).
I only used BTRFS + snapper, very carefully, on a couple of (headless) NAS builds (and then, only on the shared-out disks, not the root partition). It took months to get it all all fine-tuned.
I’ve been using btrfs on debian 9/10 for about a year now with no issues, although I don’t use the snapshot and copy on write functionality. Typically, I use LVM + LUKS with ext4 since I know how to set it up. If I knew how to set up zfs with encryption like how FreeBSD does it out of the box, I’d use that instead.