Hacker News new | past | comments | ask | show | jobs | submit login
OpenZFS on OS X (github.com/openzfsonosx)
115 points by tosh on Nov 21, 2022 | hide | past | favorite | 38 comments



After dabbling with early stuff from the sadly scrapped Apple effort, I started my full time Mac ZFS journey in 2011 with the then Z-410, which then became ZEVO which was 10.8 only, and then staying on that (and in turn 10.8 doho) on a Mac Pro 3,1 for a solid 4 years or so. I was really sad when that effort didn't pan out and the company got acquired and then the whole deal was killed, but O3X revived the torch and I moved directly onto that. I've carried my pool forward continuously the whole way, with snapshots and everything, all data scrubbed and known good with no more data rot. It's a damn shame events (software patents) conspired to keep that from becoming a universal native fs, but it's still a wonderful thing and Lundman's amazing consistent efforts have been fantastic. The main site at https://openzfsonosx.org/ has decently active forums for something niche. Happy to see it pop up here on HN.

Without Apple on board or a much bigger effort ZFS on the Mac will probably always have some real limitations particularly with the GUI. For one of my desktop systems I've migrated to running my home and data folders as HFS or APFS formatted iSCSI targets, so it's still on ZFS underneath but appears native to macOS (and that also means that the effective death of towers isn't a limit on storage). But this remains an incredible project IMO.

Also for anyone who wants some limited GUI interaction capability, there is a small project called ZetaWatch [0] which will put some ZFS control into a menubar widget.

----

0: https://github.com/cbreak-black/ZetaWatch/


I think I had basically an identical journey to you, through the same ZFS versions. Zevo was really exciting at the time to have a professional looking org behind it, and they came out with a real Sys Prefs plug-in and everything. They'd hired one of the Apple file system devs too.

I even wrote my own menu-bar tool way back when - https://github.com/alexwasserman/ZFSStatusScript

Was 8 years ago - no idea if it still works. A while back I moved to just running ZFS on my home lab machines and then exporting over the network to use as necessary.


Yeah, I was part of the Z-410/ZEVO beta. It was exciting at the time, quite responsive to our concerns, solid progress. But things fell through with funding or something went wrong in the company I guess. I'll always kind of wonder what might have been on that too, if crowd funding had been a bit more developed maybe. Another smaller layer of "maybes" added on top of what might have been with Apple I guess. It didn't help either that was right around when Apple was abandoning the Mac Pro. IIRC OpenZFS was just starting to kick off around then, still years too early to be of any help to ZEVO.

>A while back I moved to just running ZFS on my home lab machines and then exporting over the network to use as necessary.

Yeah, it's a decent approach for desktops in particular, and made better by the plummeting cost of higher speed LAN connections. 10 Gbps is cheap and easy at this point, and even faster is getting there. I'm glad to still have O3X around for portable systems though.


There was definitely a period where O3X was behind but Zevo was dying and I couldn't update because of ZFS version conflicts. Lead to some leaps of faith in beta O3X to get up onto it and the community was pretty active. And still more active today than I'd expect too.


thinking fondly of that alternate timeline where ZFS is Apple's default file system

Not everyone knows this history so for context: https://arstechnica.com/gadgets/2016/06/zfs-the-other-new-ap...


From Jeff Bonwick, co-creator of ZFS, in 2009:

>> Apple can currently just take the ZFS CDDL code and incorporate it (like they did with DTrace), but it may be that they wanted a "private license" from Sun (with appropriate technical support and indemnification), and the two entities couldn't come to mutually agreeable terms.

> I cannot disclose details, but that is the essence of it.

* https://marc.info/?l=zfs-discuss&m=125642378308127&w=3

* https://arstechnica.com/gadgets/2009/10/apple-abandons-zfs-o...


Would ZFS have been appropriate for the iPhone? the Apple Watch?


Is silent data loss appropriate for the iPhone?


A long discussion here on HN:

https://news.ycombinator.com/item?id=16403351

But to answer your question, I would say no. Very little critical data is stored on most people’s phone that is not automatically backed up to iCloud.


The argument would be that it is not very useful to have backups if you don’t know if the data your backing up has been corrupted or not.


I don't think iCloud uses ZFS, so that's game over anyway :P


I would have loved to see it as the only thing ZFS is really missing is a slick and easy to use UI.


I always saw the kludge that was Time Machine on HFS as a stopgap until ZFS plans were finalized, yet they never were.

One of the biggest modern what-ifs for system underpinnings.


I dunno, time slider seems pretty great. (Although it sadly doesn't seem to be ported to common OSs)


Related:

OpenZFS on OS X - https://news.ycombinator.com/item?id=7457917 - March 2014 (24 comments)


I use ZFS on root on NixOS and love it. I have dual 10TB mirrored drives that cache to a 2TB NVMe. It’s shocking how often it is finding and fixing data corruption. I’d love to be able to use it on my Mac


> It’s shocking how often it is finding and fixing data corruption.

That isn't normal. You've got a problem, probably in your drive enclosure or your interconnect to it.

I have a 40 TB RAID array that's been running for years with monthly scrubs, and I don't believe there's ever been a mismatch detected.


I'll investigate, it's probably the drive cable as it's a 2-drive external enclosure, but the point was that hardware and software data failures happen, and ZFS is there to save the day


That is so far from normal I can't begin to underscore how worried you should be.


I'll investigate, it's probably the drive cable as it's a 2-drive external enclosure, but the point was that hardware and software data failures happen, and ZFS is there to save the day


I love ZFS and go to great lengths to run it everywhere on Linux, but the last time I tried to use it on macOS it was nowhere near usable.

I hope the situation has changed, or is changing.

The installer repo in the linked org shows no updates since 2020 and does not list any recent macOSes in the supported versions list.


https://openzfsonosx.org/wiki/Changelog#OpenZFS_on_OS_X_2.1....

https://openzfsonosx.org/forum/viewtopic.php?f=20&t=3738

it is in the process of getting pulled into native openzfs along with zfs for windows and it is tracking zfs very closely. the last release was a few days ago if you go to their forums.


>I love ZFS and go to great lengths to run it everywhere on Linux, but the last time I tried to use it on macOS it was nowhere near usable.

I've run ZFS full time on my production and personal use Macs continuously for 11 years now. Of course needs and use cases vary, but I'm genuinely curious what did you find "nowhere near usable"? There are definitely rough edges depending on how you push it, but I think it hit all the core usability criteria once spotlight support was added and became stable (a lot of Mac functionality depends on that, before then it was a lot more limited). That was many, many years ago though.


I used this with a Thunderbolt drive array and a 2018 Mac mini for a while and it seemed to work pretty well. Occasionally, it wouldn't auto-mount the ZFS volume after a reboot, but I don't recall having any other issues.


Just wondering why as a normal user I would want to use ZFS? Do I want to try this?


Back in 2008 (when I was using Solaris daily at work and MacOS at home), I actually had a personal use-case, which I actually took the time to document.

https://macoverdrive.blogspot.com/2008/10/using-zfs-to-manag...

It was pretty flaky. I'd forget to use the zfs unmount command, accidentally hit the super-friendly eject icon in Finder and BANG! Still, I thought I was just a few months ahead of an Apple sanctified and properly guified native ZFS.

In those days I lived in hope of a merger between Apple and Sun. The engineering in both organisations was great. Sadly only exists in the nerd fanfic alternate reality fantasy I'm never going to write.


In this context, it depends on what one considers "a normal user," but I have found that this, OpenZFS on Linux, and OpenZFS on Windows makes ZFS a better cross-platform FS for my needs. I didn't enjoy the exFAT experience, and despite their portability claims, I never got UDF to work at all on any OS (I don't run FreeBSD, so maybe that explains my lack of success)

I have read the warnings about not using ZFS on USB disks, but thus far either I've been very lucky or my "USB threat model" is not the same as the people offering those warnings


I’ve used it over USB 3 for several years. The thing is that USB controller hardware isn’t perfect, and the bus can break down. If it does break down, chances are the pool metadata becomes corrupt, which means the pool is irretrievably lost.

In theory, a corrupted zpool isn’t a problem, because you should be backing up your pool all the time.

In practice, it’s a double-edged sword. The downside is that whenever the pool becomes corrupt, you have to do a restore. The upside is that whenever the pool becomes corrupt, you get to do a restore, which you probably wouldn’t do regularly otherwise.

Whether or not your bus is going to break down sporadically is unpredictable. With one Mac, it never happened. With another, it’s happened twice a year.


99+ percent of people wouldn't have a use for it. there are a select few of us who are zfs fanatics who really love and use the feature set.

i'm a huge fan of snapshots and having backups on my nas. one might say you could use time machine for that but last time i checked time machine was absolutely terrible for backing up large files as you would get from for example a parallels virtual machine. zfs backups are way better for this since not only is it faster because it only sends the modified blocks, it also takes orders of magnitudes less space because it also only stores modified blocks. zfs also has the added benefit having a plethora open source tools and documentation.

it also allows people to dogfood and familiarize themselves with zfs if they plan to or need to use it for other things.

apfs and time machine are largely a black box and you need to use it in the way that apple expects you to use it. it has the added benefit of being a next gen filesystem that is cross platform unlike apfs.


digression: on macOS it is possible to manage apfs snapshots manually, though it's not great. You take a snapshot with `tmutil snapshot /`, list them with `tmutil listlocalsnapshots /`, and then use the undocumented `tmutil mountlocalSnapshots / <snapshot date>` command to mount a local snapshot. Deleting a snapshot is frustrating though. macOS thins them automatically as the free disk space diminishes. Or you can sort of trigger snapshot deletion with `tmutil thinlocalsnapshots <mount_point> [purgeamount] [urgency]` but it's not explicit what will get thinned. Also all snapshots are at the root file system level. No where near as powerful as zfs, but enough control for my personal uses without relying too much on the whole time machine GUI.


If you store much data at all, for most any purpose, having ZFS versus not having it is like developing software with source control, compared with life before source control.

The main benefits without going nuts with some features you probably don't want on a workstation with anything short of crazy-high specs (mainly de-duplication, it eats lots of memory) are that it:

1) tells you when data has been corrupted even if the disk isn't erroring (and tells you exactly what was damaged)

2) has lightweight snapshots (it's copy-on-write so snapshots basically only cost the difference between the snapshot and either the next snapshot or the current FS) with a very handy access model (you can read from snapshots at will, as if they were a live FS) so you can snapshot before risky file operations and have an easy way to revert without having to go to backups; and

3) Makes various types of disk-pooling and RAID available purely in software.

It also provides a common UI to all this across multiple operating systems, so there's less per-platform trivia to remember if you work cross-OS a lot.

However, the UI is obtuse enough that it's firmly power-user-only, and a fairly advance power user at that.


Are you in possession of any Linux ISOs which you'd like to retain for more than a month? Or other bulk data which is inconvenient or impossible to recreate. If so, ZFS can help keep them from bitrotting.


Even if you only have one disk, ZFS can give you transparent compression and dedup, and the ability to save permanent, known-good snapshots instead of just using Time Machine's time-based crap.


With copies =2 you can correct errors too.


I used O3X for years until eventually migrating to a dedicated NAS box running FreeBSD. Lundman deserves all of the credit in the world for keeping ZFS alive on macOS.


I know I should run my own ZFS cluster at home. It would make me a better person, it’s the righteous right thing to do.

Maybe in my younger days I would have been purer of spirit. Alas, time, kids, other hobbies & commitments have stood in the way.

I bought a NAS (synology). Life is full of compromises; this is one of mine.


I used this in the past among other things. Ended up using SoftRAID before dumping the iMac with Thunderbolt disk enclosure, now just using Linux with ZFS.

Seems like it’s improved quite a bit but unfortunately can’t find many good external enclosure options that aren’t overpriced.


Would it be comfortable to run it on 8gb ram 2013 MBPr only for the sake of zstd compression as additional partition in internal SSD ? There is something about ARC and RAM usage.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: