updated 04:55 am EDT, Mon June 23, 2008
ZFS in Snow Leopard
Amongst a host of high profile releases and announcements at this year's WWDC, Apple finally confirmed what has been an open secret for over a year -- Suns ZFS filesystem is coming to Mac OS X 10.6 codenamed 'Snow Leopard'. Overshadowed by some of the more headline=friendly developments such as improved multicore support, OpenCL and 'Grand Central', ZFS support could turn out to be one of the most important developments in OS X.
So what exactly is ZFS? In short, ZFS is a fundamentally new approach to data management, developed from a blank page over seven years ago by Sun Microsystems, and subsequently released to the open-source community under a CDDL (Common Development and Distribution License). It offers a multitude of significant improvements over current filesystems (including Apple's own HFS-based setup):
- True end-to-end integrity by means of a 'tree-based' 128-bit checksumm system that verfies and corrects hidden data corruption anywhere in the data path...on the fly -- every block of data is checksummed and repaired as needed;
- Copy-on-write transactions eliminating disk corruption. Each block of data on a drive is checksummed continually against an established 'checksumm tree' and corrected as necessary not only on the host drive, but also on any mirrored or RAID drives that have a copy of the data. There is no need to ever FSCK (check or fix for file corruption) a ZFS filesystem drive.
- A pooled storage model that eliminates the need for drive partitions, provisioning or stranded storage, while also making use of all the combined I/O bandwidth of all devices attached to a machine;
- live disk-scrubbing -- similar to EEC memory, disk scrubbing is a complete read of all storage blocks, that is then compared to a 128-bit checksum tree, and errors corrected while the storage devices are in use;
- RAID-Z -- similar to RAID 5 but using a variable 'strip width' to avoid stripe corruption common with come common RAID 5 setups (due to loss of power between data and parity updates. (Opensolaris users have noted that "there's no read-modify-write tax, no write hole, and -- the best part -- no need for NVRAM in hardware").
- 'Snapshot'-based backup solution. A more advanced version of OS X 10.5's 'Time Machine' technology. Data is incrementally transferred to an 'image' every 10 seconds, providing a constant snapshot of your system. This snapshot can be used to fully backup machines, provide incremental backups as well as for remote imaging and replication.
ZFS represents the 'next step' in filesystems, and can only be seen as the long term successor to Apple's current HFS (Plus) implementation, according to an Apple spokesperson: "For business-critical server deployments, Snow Leopard Server adds read and write support for the high-performance, 128-bit ZFS file system, which includes advanced features such as storage pooling, data redundancy, automatic error correction, dynamic volume expansion, and snapshots".