After months of uncertainty about the future of ZFS on OS X, we now have the answer direct from the
macosforge site: it's not happening.
Background
ZFS was pre-announced as being one of the cool new features that was supposed to be included in Snow Leopard, but that was dropped from the roster at release time. Furthermore, the even the read-only kext that was included in the Leopard betas is no longer there.
There has been no official announcement from Apple, but since this was practically an unannounced feature anyway, I doubt that there will be much communication on this front.
There's an excellent overview of the situation over at
/dev/why!?! that's worth reading and fills in a few of the blanks with reasonable theories and some really good background information.
I'd just like to add a few additional points to the 3 reasons why Apple is better off doing it's own thing (whether that's an evolution of HFS or building it's own modern filesystem).
My two cents...
First off, let me start with the note that I am a major ZFS fan, but that my personal use of the filesystem (and that of most of the people that I read on the apple zfs mailing list) is definitely not representative of the greater Mac using community. I work professionally with ZFS and other big storage systems so the idea of working with large RAID sets, managing thin provisioned volumes, replicating data, and designing storage and backups to meet RPO and RTO* objectives is part of my daily routine.
With that in mind, I've noticed a few common threads on the various mailing lists where people try to adapt ZFS to their personal use and there's definitely some friction. ZFS is designed as a massively scalable filesystem with storage pools built out of vdevs which are groups of disks using some kind of redundancy.**
You can use mirrors or raidz groups, but in each case this means that growing the pool requires that you add another vdev of the same type. So you are always adding at least two disks at once or even more if you're using raidz. This is not at all the usual consumer approach to storage where you add or replace a disk at a time. There is almost always at least one thread on the various ZFS mailing lists explaining to people that you can't expand an existing raidz vdev by adding a disk. Expanding a pool requires a whole new vdev.***
What most general consumers seem to want is the what the
Drobo does. Add or replace a disk with a newer one and have the data auto-magically migrated and the volume resized. Within the scope of a home or a small business this is actually the ideal investment for many people.
I suspect that with some creative use of slices you could reproduce the Drobo's behaviour using ZFS but it would take considerable work to make it automatic and reliable.
The other issue that we're running into in the Mac world (and to a certain extent in the larger PC world) is a lack of hardware designed for this kind of storage management. There are few PC cases that are designed as storage servers and you either get the tiny 2 disk NAS boxes with no room for expansion (or my
current favorite) or the monster tower or rack-mount chassis with 12-24 hotswap disk bays, depending on whether they're 3.5" or 2.5".
So you either have no expansion and you're back to external drives or you have a monster that requires an IT closet to hide the fan noise.
What the mid-range market really needs is a stackable solution built out of bricks of 4-6 2.5" SATA or SAS drives... but I digress...
USB as a failure point
Another repeating thread on the MacOS Forge ZFS mailing list (and other zfs-discuss lists) concerns the number of people that have lost data and pools using external USB disks. We're talking here about Apple's core consumer here with USB disks. Part of the problem here is the variable quality of the USB to SATA bridges out there that may not actually write data to disk when asked to but hold onto it in cache and flush later.
Backups vs Snapshots or Time Machine vs Time Slider
One of the really cool features of ZFS is the ability to take snapshots of the filesystem that let you roll back to a particular point in time or go find older versions of a given file. A very useful feature when you're upgrading applications and aren't sure if everything will work as expected. Instead of requiring a full backup to an external device you can just take your snapshot and run with it. You can save a lot of time if things go bad since rolling back is practically instantaneous instead of requiring a restore.
The Time Slider feature included in OpenSolaris looks an awful lot like Time Machine in that there are hourly, daily, weekly and monthly snapshots which are automatically managed and cleaned up based on age and available disk space. You can browse the contents of a given directory by going back in time, à la Time Machine but without the snazzy graphics.
The big difference here is that the snapshots are stored on the same volumes as the original data so if you lose the disks, you lose everything. Ideally you are running some kind of disk redundancy so that you can lose a disk and replace it without losing data, but if the machine becomes unavailable, you have lost everything. I repeat: snapshots are not backups. Time Machine is a backup solution that copies the contents of a disk or system to an external volume which you can then disconnect and take elsewhere.
Associated point: you should always have offsite copies of your backups. (pardon me, I'll be getting down off this hobby horse now)
My conclusion
So legal issues aside, is ZFS the perfect match for the average Mac user? I don't think so.
When you mix in the potential legal issues surrounding Sun's recent acquisition by Oracle, the ongoing Netapp lawsuit, I think it makes sense for Apple to step back from ZFS as a consumer technology at this point in time.
Do I (as a confirmed geek that has over 8Tb of storage at home) want it? Of course I do, but I'm not representative of Apple's main market. And if there's anything we can be sure of right now it's that Apple is not in the pundit and technophile pleasing market, but in the pleasing the bigger consumer market which is the market that pays the bills.
So my ZFS adventures will continue but on other platforms (mostly OpenSolaris).
--------------
* Recovery Point Objective - how much data can I afford to lose expressed in time. Recovery Time Objective - how fast can I bring my systems back online in a given situation?
** Raw volumes are an option, but like RAID 0 you're taking a huge chance with your data.
*** At the moment - it'll come but the ZFS developers have all sorts of stuff on their plate.
Comments
clyphox (unauthenticated)
Nov 15, 2009
a very well written little surmation. In a way I am exceedingly pleased linux+OSX have decided to keep their hands off ZFS.
More props to the less erm.... axe weilding, mad eyed, obsessive zealot-like people such as FreeBSD and well opensolaris.
I see things quite simply... sun has its VG system, I used it in a datacetre for years and its stable and reliable. Was glad to see OpenFiler based on it... However... when i see Sun getting excited about something else which quick frankly kicks SUN VG in the nuts I pay attention. I predict we'll see many attempts to catch up with zfs over the next few years.
ZFS will please anyone who is capable of understanding and learning new things.