Read-only support for the sophisticated new 128-bit file system, created by Sun and shared under its open source license, originally appeared in Mac OS X Leopard. It lacked the ability to create new ZFS pools or write data to them however, severely limiting it usefulness.
Because the software is open source, users can manually install the latest version of the software from Apple's MacOS Forge site and use ZFS from the command line to create pools and write data, although that lacks the interface polish Mac users expect to see.
For example, users can't currently empty the trash graphically in the Finder when working with a ZFS drive. Unplugging a device connected to a ZFS pool will also cause a panic unless the disk is properly closed out from the command line first.
In Snow Leopard Server, sources familiar with the new software say Apple will not only include the latest build of ZFS for Mac OS X but will also expose ZFS features within the graphical Disk Utility, making it easier to set up ZFS storage pools and file systems without resorting to command line utilities. The Finder also needs to be made fully ZFS savvy, as does any other software that makes assumptions about the underlying file system.
The Finder and Disk Utility app used by the desktop and server versions of Mac OS X have always been identical. Even so, Apple may initially keep full ZFS support associated with its server product, because server users have a greater practical need for the features related to ZFS, and also have the support resources to handle working with the new system. A similar thing happened when Apple released its IP over Firewire implementation, which was first incorporated into Mac OS X Server before being added to the desktop version in a later free update.
Despite the giddy buzzword interest in ZFS that was fanned into an active swarm by pundits around the release of Leopard (and touched off rumors that ZFS would become the default file system in Leopard), many applications of the new file system will require sophisticated reworking of lots of associated software. As a consumer-centric company, it would be expensive in terms of customer support for Apple to dump its desktop users on top of an alpha quality, brand new file system just to check off a feature box in its marketing. Most consumers, and in particular the notebook users who make up most of Apple's sales, have little or no real need for ZFS, but would be burned by its complexity and additional demands.
While ZFS support has made major headway on the Mac since the initial release of Leopard, there's still a long way to go before non-technical users can make real use of its new features. That will likely result in Apple focusing its development efforts to make ZFS practical initially to its server audience. That is reflected in the company's Snow Leopard marketing, which only mentions ZFS features in relation to Snow Leopard Server in "business critical server deployments." More technically-savvy desktop users will likely be able to begin experimenting with the new file system on the Snow Leopard desktop however.
ZFS' server-oriented features
As an enterprise vendor with no real consumer-facing business, Sun developed ZFS to solve the needs of server users. Implementing its features on the desktop to benefit less technical consumers will require significant work on Apple's part. Once the company completes a solid foundation on Mac OS X Server, making the technology accessible to end users will be easier. Among the potential benefits will be more flexible use of multiple drives, data redundancy, error correction, and snapshots. Among the challenges to overcome are greater disk waste (due to redundancy and snapshots) and greater complexity in managing storage pools.
ZFS uses a storage pool system that allows it to use a combination of block devices (abstracted as virtual devices) to build a logical drive that can contain a file system. This results in a RAID-like system that can span different drives and provide a level of redundancy to survive drive failure. Unlike a typical RAID, ZFS allows different disks to be tied together in a pool, and new drives to be added to existing pools without reformatting the drive.
The file system also provides continuous integrity checking and automatic repair to aid in file corruption, and supports massively large volumes. Its support for snapshots, which capture old data and retain it as a past "version" for later use, and clones, which enable two separate file systems to share overlapping blocks of identical data, has led some to speculate that Apple would use ZFS in conjunction with its Time Machine backup system.
However, Apple implemented features in the Mac's native HFS+ to accommodate parallel instances of backups for Time Machine. Further, the system is based on copying newly changed files (as reported by a system auditing process) to a new disk, not retaining old data on the same disk as it is updated.
For users with a single drive in their system (as is the case with most desktop Mac users), shadow copy snapshots would solve the wrong problem. Users want to be protected from the crisis that might befall their hard drive, not a system that would only eat up their hard drive faster and then go down with the ship in the case of drive failure.
For now, that mostly leaves ZFS as a technical curiosity for most Mac users outside of those who manage very large disk arrays in a server environment. Even so, progress on the server side will eventually result in trickle down engineering for Apple's consumer users, too, just as the company's work in Directory Services has resulted in Parental Controls for desktop users. A variety of sharing services that started out as server products have also made their way to the Mac OS X desktop, including Apache web services and remote management screen sharing.
54 Comments
As a consumer-centric company, it would be expensive in terms of customer support for Apple to dump its desktop users on top of an alpha quality, brand new file system just to check off a feature box in its marketing.
Are you inferring that this "consumer-centric" company would give an alpha-quality file system to business users?
I think Apple would lose a lot more money in lawsuits vs enterprises that lost data.
I don't think Apple could ever release an "alpha-quality" file system. If it's in Server, then it's definitely not alpha and ready for the consumer OS X version...but it's just a matter of how Apple wants to differentiate OS X and OS X Server.I personally think it's a mistake that it's not offered to consumers. Sure, most are using MacBooks or iMacs...however, there's quite a few people that have Mac Pros with all bays filled.
I wouldn't mind having my 4 drives act as a single volume or two.
I think you greatly underestimate the usefulness of snapshots. Snapshots only use disk space for the block-level differences between snapshots and the current state so they take relatively little space. OpenSolaris has already implemented a Time Machine type interface that lets users go back in time in 15 minute increments and find files that they have deleted or are in a previous state. More importantly, snapshots make Time Machine backups simpler, allowing point-in-time backups instead of the problematic file-at-a-time method it now uses.
I think you greatly underestimate the usefulness of snapshots. Snapshots only use disk space for the block-level differences between snapshots and the current state so they take relatively little space. OpenSolaris has already implemented a Time Machine type interface that lets users go back in time in 15 minute increments and find files that they have deleted or are in a previous state. More importantly, snapshots make Time Machine backups simpler, allowing point-in-time backups instead of the problematic file-at-a-time method it now uses.
+1
I thought the commentary on snapshots was the weakest of the post. Snapshots, or more appropriately efficient snapshots, are very important. In fact as much as I like Time Machine it is rather pedestrian in how it manages delta changes.
I'm going to guess that we're going to see the ZFS distinction for Snow Leopard remain at Server=yes Desktop=no but that by the time 10.7 hits ZFS will indeed be much more important to the future of OS X than what we realize today.
Another thing that is important is Copy on Write. What this does in a nutshell is allow read access to a file from multiple sources without having to copy the file. The file is only copied when it has to be modified. Sounds rather plain but I imagine that there are plenty of resources in OS X that could be made more efficient by a Copy on Write model.
ZFS isn't just about multiple drives. The checksum features, snapshots and COW will benefit even the most basic user even if they may be unaware of the bestowing features.
If Apple is serious about ZFS they will most likely integrate ZFS into OS X and perhaps we will see more fine grain control in Time Machine, better snapshot capabilities for MobileMe and a more responsive OS in general.
why doesn't Apple just license NTFS? Wonder if MS would even? Seems like NTFS has all this and more
Are you inferring that this "consumer-centric" company would give an alpha-quality file system to business users?
I think Apple would lose a lot more money in lawsuits vs enterprises that lost data.
I don't think Apple could ever release an "alpha-quality" file system. If it's in Server, then it's definitely not alpha and ready for the consumer OS X version...but it's just a matter of how Apple wants to differentiate OS X and OS X Server.I personally think it's a mistake that it's not offered to consumers. Sure, most are using MacBooks or iMacs...however, there's quite a few people that have Mac Pros with all bays filled.
I wouldn't mind having my 4 drives act as a single volume or two.
Alpha quality? Really? It's standard in OpenSolaris 2008.11.
Do you honestly think Apple's state of ZFS is alpha? Try again.