You are on page 1of 2

10 Reasons ZFS is Insanely Great

Some of the Amazing Features in Sun's Open Source ZFS File System

Article 22457 Volume 142, Issue 2


December 7, 2009

Paul Rubens with Enterprise Networking Planet lists what he believes are the top
10 features of Sun's open source ZFS file system. Briefs taken from Rubens on
each of these features are listed below:

Checksums in Metadata for Data Integrity

The file system uses a 256-bit checksum, which is stored as metadata separate
from the data it relates to, when it writes information to disk. Unlike a simple disk
block checksum, this can detect phantom writes, misdirected reads and writes,
DMA parity errors, driver bugs and accidental overwrites as well as traditional "bit rot."

Copy on Write

Copy-on-write means that when data is changed it is not overwritten -- it is always written to a new block and
checksummed before pointers to the data are changed. The old data may be retained, creating snapshots of
the file system through time as changes are made.

Data Snapshots With Time Slider

Time Slider offers a view of the file system with a slider which can be moved back along a timeline to earlier
snapshot times. As this is done, the view changes to show the state of the file system or the contents of a
folder at the corresponding snapshot time. Recovering a file that has been overwritten by mistake or rolling
back the system after an unsuccessful update is then just a matter of moving the slider back to the appropriate
snapshot time.

Pooled Data Storage

ZFS takes available storage drives and pools them together as a single resource, called a zpool. This can be
optimized for capacity, or I/O performance, or redundancy, using striping, mirroring or some form of RAID. If
more storage is needed then more drives can simply be added to the zpool -- ZFS sees the new capacity and
starts using it automatically, balancing I/O and maximizing throughput.

RAIDZ and RAIDZ2

Users need not be concerned with the RAID 5 write hole anymore. RAIDZ gets around this problem by using a
variable width stripe, so every write is effectively a full stripe write. This, together with ZFS's copy on write
characteristic eliminates the RAID 5 write hole completely. RAIDZ2 works in a similar way, but can tolerate the
loss of two disks in the array using double parity. Setting up a RAIDZ (or RAIDZ2) array is very easy and
involves issuing one command.

SSD Hybrid Storage Pools

High performance SSDs can be added to a storage pool to create a hybrid storage pool. When these are
configured as high performance cache disks, ZFS uses them to hold frequently accessed data to improve
performance. It also uses a technology called L2 ARC (adaptive replacement cache) to write data that has to
be stored immediately. This can slowly be moved over to conventional hard drives for more permanent storage
when time and resources allow.

Capacity

ZFS is a 128-bit file system, which means that in theory it could store 256 quadrillion ZB (a ZB is a billion TB.)
In practice this is larger than would ever be necessary, for the foreseeable future at least.

Data Scrubbing

ZFS can be made to scrub all the data in a storage pool, checking each piece of data with its corresponding
checksum to verify its integrity, detect any silent data corruption, and to correct any errors in encounters where
possible.When the data is stored in a redundant fashion -- in a mirrored or RAID-type array -- it can correct any
corrupt data it detects invisibly and without any administrator intervention. Since data corruption is logged, ZFS
can bring to light defects in memory modules (or other hardware) which cause data to be stored on hard drives
incorrectly.

Simple, Efficient Administration

Using ZFS commands you can administer a system with short, efficient commands. For example, a five disk
RAIDZ array could be set up with the single command:

zpool create poolname raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0

More on the Way

ZFS is still evolving, and new features will appear regularly.

Interested in trying ZFS? Start by downloading OpenSolaris or a related distro from http://opensolaris.org
/os/downloads/.

There is also a project that has ported ZFS to the FUSE framework for the Linux operating system. Visit the
ZFS for FUSE/Linux project.

More Information

Reasons You Need to Look at ZFS - Rubens' article

ZFS: A Guide for the New User

Solaris ZFS Administration Guide

How to Work with ZFS Snapshots

Managing ZFS File Systems in Solaris Containers

Creating and Accessing ZFS Snapshots from a Windows Desktop

Things Are Getting Easier with ZFS, Live Upgrade and now, Flash Archive

You might also like