I've worked for a long time in the storage field during my career and ZFS is the piece of engineering I admire most in that space. I wanted a way to pay homage to it and to explore and better understand its internals. So I built Uberblok: a museum of ZFS. A deep dive into copy-on-write, txgs, vdevs, RAID-Z, snapshots, the ARC, metaslabs, the ZIL, send/receive with explanations and animated diagrams.
I'm sure people here know these internals better than I do, so corrections are very welcome.
I built it with my agent swarm organization, Algotitan.
I hope you'll enjoy the deep dive into Uberblok as much as I do.
Museum: https://uberblok.storagebits.workers.dev Repo: https://github.com/algotitanhq/uberblok
I'd love ZFS a lot more if it weren't for the ARC. Using ARC means that ZFS caches stuff outside the kernel page cache. That in turn means that sendfile is no longer zero-copy when data originates on ZFS, making it a non-starter for content drives for our CDN workload.
Genuinely cool, but the LLM-speak started to wear on me.
An editing pass to make the prose less "punchy" would be great.
One small suggestion: Make the code open to the right instead of a new window, that makes it easy to keep context without distraction.
Building a museum when you self admit you don't understand the internals that well... seems like a conflicting goal? If you're showing off to educate then how can you do that if you don't understand it?
We know the answer, obviously. I can't trust how much of this was something an AI said vs something you actually did seriously look over. At the very least, all of the text on this should've been in your own words, I think. Otherwise this is just show and tell of some prompts.
I wish I could enjoy tech demos anymore, but now they feel so hollow. Which is a real loss from the age of LLMs. I used to enjoy reading the dolphin EMU progress report for years. I wonder what they're up to.
If you can't be bothered to copy edit the gratingly AI prose, I can't be bothered to read it.
> I built
You keep using those words. I don't think it means what you think it means.
As a mere operator, I've been fascinated by ZFS ever since I first heard of it 15+ years ago. It seems so elegant, like it really is the last generalist filesystem one would ever need. Performant, reliable, fundamentals easy to comprehend. I've never tried managing LVM configs because zpools and raidz are just so damned easy. Native encryption. Datasets can be as simple or as complicated as you need them to be. send/recv dataset syncing at the block level vs having to decrypt and sync files individually.
A lot of this goes over my head as someone who isn't familiar with filesystem internals, but I appreciate the effort and the homage to a great tool.
I absolutely love ZFS. I use it on FreeBSD for all disks on the whole system, including the ones that FreeBSD itself is installed on, and I use it with some disks on Linux and with most of my external disks with macOS.
In an alternative universe, Mac OS X would have gotten ZFS shipped with the base install back in 2007, and presumably we’d then still have that to this day. In our universe that ended up not happening even though it was supposed to :/ https://mjtsai.com/blog/2025/04/28/revisiting-zfs-for-mac/
I really would have loved to have the whole of macOS running on ZFS. But at least using ZFS from homebrew on macOS to have ZFS on external disks is the next best thing after that, and which we do have.