2007-06-07

Sun's Zettabyte File System - ZFS

A weak point of Unix and Linux operating systems is the File System.

Defining and managing disks is difficult and requires expertise to configure and manage external storage; it is a complex and error prone task. But what is most serious is File System corruptions, inability to rebuild and/or excessive time to recover, problems present even when using newer File Systems - Journal/Log-based File Systems.


Sun's Zettabyte File System, ZFS, is a fresh approach at how data is structured and stored on a disk, or set of disks, while addressing ease of use and File System integrity. The salient features of ZFS include:

  • Integrity. The system does not overwrite data, it saves new data first and then deletes the data it replaces. It includes also several built-in checks to prevent data corruption.
  • Capacity. Find at wikipedia.com a good reference to the capacity metrics of ZFS. "ZFS is a 128-bit file system, so it can store 18 billion billion (18.4 x 10^18) times more data than current 64-bit systems." The limitations of ZFS are such that they will unlikely be encountered in practice. The capacity limit for one ZFS storage pool, zpool, is 2^128 = 3.4 x 10^38 bytes. The limit of zpools is 2^64 = 1.8 x 10^19.
  • Snapshot. In-place-copies of the File System can be taken at anytime, with minimum overhead, and available concurrently as required thus facilitating access to on-line previous File copies and for Backups. This is such a useful feature and it appears uses the same/similar approach as the highly successful Netapp's storage units using WAFL File System.
  • Quotas. The system supports quotas at a File System level.
  • Management. ZFS uses the concept of pooled storage; simply plug in additional drives, without worrying about storage parameters such as volumes or partitions. This approach significantly reduces the labour required to define, expand as needed and manage storage.
  • Architecture. ZFS implementations exist for SPARC and for Intel/AMD x86.
  • Implementations. Initially it was available as part of Solaris, but now a Linux implementation is available and most recently it is rumored to be included in the upcoming Mac OS X 10.5, Leopard.
Here is a link to Jeff Bonwick's blog. Jeff is the project lead for ZFS at Sun.

Should you be interested in more detail, read it here and see it here.
+---------- quantities   of   bytes -------------+
name prefix +----standard---+ historical

kilobyte kb 1000^1 = 10^3 1024^1
megabyte mb 1000^2 = 10^6 1024^2
gigabyte gb 1000^3 = 10^9 1024^3
terabyte tb 1000^4 = 10^12 1024^4
petabyte pb 1000^5 = 10^15 1024^5
exabyte eb 1000^6 = 10^18 1024^6
zettabyte zb 1000^7 = 10^21 1024^7
yottabyte yb 1000^8 = 10^24 1024^8

No comments: