ZFS: What was all that fuss about?

November 2nd, 2007 by Charles Edge

ZFS was released by a team at Sun in November of 2004. The name stands for “Zettabyte File System”. ZFS is a 128-bit file system, so it can store 18 billion billion (18.4 × 1018) times more data than current 64-bit systems. We’re not going to sit here and do the math for that but you are more than welcome to figure out what the theoretical size is at that point – all we can say is that it’s friggin’ huge.

Traditional file systems reside on single devices and require a volume manager to use more than one device to generate a logical or physical volume. ZFS is built on top of virtual storage pools called zpools. A zpool is constructed of virtual devices called vdevs. Vdevs are constructed of block devices that include files, partitions, or drives. Block devices within a vdev can be configured in a variety of different manners, depending on the needs of a user. The storage capacity of all vdevs is available to all of the file system instances in the zpool. This is similar in some ways to how Xsan builds volumes, but more customizable and without a requirement for vdevs to be based on Fibre Channel storage in order to be accessible by multiple hosts.

Quotas can be set to limit the amount of space a file system instance can occupy and a reservation can be set to guarantee that space will be available to a file system instance. This gives some nice features to those wanting to limit access for some volumes while still making sure other volumes have the space that will be required for planned future possible expansions. Other features of ZFS include: snapshots, write-cache, filesystem based encryption (in Alpha stage of development) and checksumming.

While users of Leopard may be disappointed in the fact that ZFS did not make it in the final build, giving greater volume sizes and more features for volume management, rest assured that Apple will be thoroughly testing any new file systems before making them available to the public and that with something as precious as a file system, if it wasn’t ready for prime time then it’s good that it wasn’t included with Leopard. ZFS is still going through changes and is not a completed or matured project by any stretch of the imagination. In /Library/FileSystems you will see that ZFS is not present but the framework for future ZFS is present which can be seen by the introduction of some ZFS binaries to the system. So keep a look out for ZFS in the future and maybe even an SDK from SUN on using it at some point.

Be Sociable, Share!

Tags: , , , , , , , , , ,

One Response to “ZFS: What was all that fuss about?”

  1. Alex Blewitt says:

    ZFS is present in Mac OS X Leopard, just as read-only in the client system (you can download support for read/write from the Apple Developer Connection).

    Secondly, ZFS still does stand for Zettabyte File System :-) It’s not changed.

    Lastly, there are other reasons to use ZFS; one is that it can be swapped between little endian and big endian systems (e.g. PPC and Intel) without needing to adjust the data format that’s written to disk, and per-disk block checksums which guarantee detecting of (small) failures in the disk system. You can even have pseudo-raid with one disk, by asking it to compress certain file systems or to duplicate data on them. And the snapshot feature has an ability to create multiple snapshots without an extra disk attached, and has the ability to remote send the deltas between snapshots to off-site backups.

    There’s a lot to like, but as you say, it wasn’t included by default. My guess is that it’s read-only in 10.5.0 so that later (say, 10.5.5) it can be present as a RW option, but still allow you to restore/recover ZFS partitions if you need to go back to the boot disks. Maybe we’ll even see it replacing HFS+, but that won’t be until 10.6 or 10.7.