Comment by kwanbix

5 days ago

Honest question. As an end user that uses Windows and Linux and does not uses ZFS, what I am missing?

Way better data security, resilience against file rotting. This goes for both HDDs or SSDs. Copy-on-write, snapshots, end to end integrity. Also easier to extend the storage for safety/drive failure (and SSDs corrupt in a more sneaky way) with pools.

  • How many of us are using single disks on our laptops? I have a NAS and use all of the above but that doesn’t help people with single drive systems. Or help me understand why I would want it on my laptop.

    • My thinkpad from college uses ZFS as its rootfs. The benefits are:

        * If the hard drive / SSD corrupted blocks, the corruption would be identified.
        * Ditto blocks allow for self healing. Usually, this only applies to metadata, but if you set copies=2, you can get this on data too. It is a poor man’s RAID.
        * ARC made the desktop environment very responsive since unlike the LRU cache, ARC resists cold cache effects from transient IO workloads.
        * Transparent compression allowed me to store more on the laptop than otherwise possible.
        * Snapshots and rollback allowed me to do risky experiments and undo them as if nothing happened.
        * Backups were easy via send/receive of snapshots.
        * If the battery dies while you are doing things, you can boot without any damage to the filesystem.
      

      That said, I use a MacBook these days when I need to go outside. While I miss ZFS on it, I have not felt motivated to try to get a ZFS rootfs on it since the last I checked, Apple hardcoded the assumption that the rootfs is one of its own filesystems into the XNU kernel and other parts of the system.

      5 replies →

    • If the single drive in your laptop corrupts data, you won't know. ZFS can't fix corruption without extra copies, but it's still useful to catch the problem and notify the user.

      Also snapshots are great regardless.

      1 reply →

  • The data security and rot resilience only goes for systems with ECC memory. Correct data with a faulty checksum will be treated the same as incorrect data with a correct checksum.

    Windows has its own extended filesystem through Storage Spaces, with many ZFS features added as lesser used Storage Spaces options, especially when combined with ReFS.

    • This has nothing to do with ZFS as a filesystem. It has integrity verification on duplicated raid configurations. If the system memory flips a bit, it will get written to disk like all filesystems. If a bit flips on a disk, however, it can be detected and repaired. Without ECC, your source of truth can corrupt, but this true of any system.

    • Please stop repeating this, it is incorrect. ECC helps with any system, but it isn't necessary for ZFS checksums to work.

    • On zfs there is the ARC (adaptive read cache), on non-zfs systems this "read cache" is called buffer, both reside in memory, so ECC is equally important for both systems.

      Rot means changing bits without accessing those bits, and that's ~not possible with zfs, additionally you can enable check-summing IN the ARC (disabled by default), and with that you can say that ECC and "enterprise" quality hardware is even more important for non-ZFS systems.

      >Correct data with a faulty checksum will be treated the same as incorrect data with a correct checksum.

      There is no such thing as "correct" data, only a block with a correct checksum, if the checksum is not correct, the block is not ok.

    • "data security and rot resilience only goes for systems with ECC memory."

      No. Bad HDDs/SSDs or bad SATA cables/ports cause a lot more data corruption than bad RAM. And ZFS will correct these cases even without ECC memory. It's a myth that the data healing properties of ZFS are useless without ECC memory.

      2 replies →

For a while I ran Open Solaris with ZFS as root filesystem.

The key feature for me, which I miss, is the snapshotting integrated into the package manager.

ZFS allows snapshots more or less for free (due to copy on weite) including cron based snapshotting every 15 minutes. So if I did a mistake anywhere there was a way to recover.

And that integrated with the update manager and boot manager means that on an update a snapshot is created and during boot one can switch between states. Never had a broken update, but gave a good feeling.

On my home server I like the raid features and on Solaris it was nicely integrated with NFS etc so that one can easily create volumes and export them and set restrictions (max size etc.) on it.

  • > is the snapshotting integrated into the package manager.

    some linux distros have that by default with btrfs. And usually it's a package install away if you're already on btrfs.

Much faster launch of applications/files you use regularly. Ability to always rollback updates in seconds if they cause issues thanks to snapshots. Fast backups with snapshots + zfs send/receive to a remote machine. Compressed disks, this both let's you store more on a drive and makes accessing files faster. Easy encryption. ability to mirror 2 large usb disks so you never have your data corrupted or lose it from drive failures. Can move your data or entire os install to a new computer easily by using a live disk and just doing a send/receive to the new pc.

(I have never used dedup, but it's there if you want I guess)

Online filesystem checking and repair.

Reading any file will tell you with 100% guarantee if it is corrupt or not.

Snapshots that you can `cd` into, so you can compare any prior version of your FS with the live version of your FS.

Block level compression.

  • >Reading any file will tell you with 100% guarantee if it is corrupt or not.

    Only possible if it was not corrupted in RAM before it was written to disk.

    Using ECC memory is important, irrespective of ZFS.

Cross platform native encryption with sane fs for removable media.

  • Who would that help?

    MacOS also defaults to a non-portable FS for likely similar reasons, if one was being cynical.

    • It would help users using USB sticks, external drives?

      Couple it with encrypted zfs send/receive for cross platform secure backups.

      1 reply →

Snapshots (Note: NTFS does have this in the way of Volume Shadow Copy but it's not as easily accessible as a feature to the end user as it is in ZFS). Copy on Write for reliability under crashes. Block checksumming for data protection (bitrot)