← Back to context

Comment by wil421

5 days ago

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.

  • Not ever having to deal with partitions and instead using data sets each of which can have their own properties such as compression, size quota, encryption etc is another benefit. Also using zfsbootmenu instead of grub enables booting from different datasets or snapshots as well as mounting and fixing data sets all from the bootloader!

  • NTFS had compression since mot even sure when.

    For other stuff, let that nerdy CorpIT handle your system.

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.

  • In some circumstances it can.

    Every ZFS block pointer has room for 3 disk addresses; by default, the extras are used only for redundant metadata, but they can also be used for user data.

    When you turn on ditto blocks for data (zfs set copies=2 rpool/foo), zfs can fix corruption even on single-drive systems at the cost of using double or triple the space. Note that (like compression), this only affects blocks written after the setting is in place, but (if you can pause writes to the filesystem) you can use zfs send|zfs recv to rewrite all blocks to ensure all blocks are redundant.