10 Reasons Why ZFS Rocks - EnterpriseStorageForum.com
Hot Topics:

10 Reasons Why ZFS Rocks

Sun's (NASDAQ: JAVA) open-source ZFS file system has some amazing features. It was originally designed for Solaris and unveiled in 2005, but you'll also find it in OpenSolaris and related distributions. In the future it may well become a popular file system to run with Linux and BSD as well.

Here are the top 10 features that ZFS fans find insanely great:

1. Checksums in Metadata for Data Integrity



2. Copy on Write


3. Data Snapshots With Time Slider


TimeSlider offers a view of the file system (or a home folder), with a slider that 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.

Snapshots can also be made writable to create clones of existing file systems.

4. 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.


RAID 5 has a well-known flaw called the RAID 5 write hole. This causes a problem when a data block is written to a stripe but a power failure occurs before the corresponding parity block can be written. As a result, the data and parity for the stripe will be inconsistent. If a disk then fails, the RAID reconstruction process will result in incorrect data. The only way out of this is if an entire stripe happens to be overwritten, thus generating a correct parity block.

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.


6. SSD Hybrid Storage Pools


7. 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.

8. Data Scrubbing


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) that cause data to be stored on hard drives incorrectly.

Scrubbing is given low I/O priority so that it has a minimal effect on system performance, and can operate while the storage pool that is being scrubbed is in use.

9. 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

10. More on the Way

ZFS is still evolving, and new features will appear regularly. The roadmap for 2009 includes encryption for increased security, and data deduplication to increase storage efficiency.

If you are interested in trying ZFS out, the easiest way is to get started is to download OpenSolaris or a related distro from http://opensolaris.org/os/downloads/. There is also a ZFS for FUSE/Linux project.

Article courtesy of Enterprise Networking Planet

Follow Enterprise Storage Forum on Twitter

Tags: , , , ,

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Storage Daily
Don't miss an article. Subscribe to our newsletter below.

Most Popular Stories
