I used three machines in the preparation of this article, a SunBlade 100 with 2 GB of RAM, 2 80 GB hard disks, a dual channel SCSI HBA, an XVR-100 64 MB frame buffer, an internal IDE DVD-ROM drive and two Sun MultiPacks with 12 36 GB hard disks. Of the two x86 machines, one was a home built Pentium IV with a GB of RAM, an ATI Radeon 9100 AGP card with 128 MB of RAM, a 3Com 3C905 10/100 NIC, a Lite-On DVD-RW drive and a 120 GB Western Digital hard disk. My other machine was a Gateway GT5056 dual core Athlon 64 machine with 3 GB of RAM, 2 250 GB Western Digital SATA hard disks, a PCI Express nVidia GeForce 7300 GS video card, an Intel Pro/100 PCI NIC and an internal DVD and DVD-RW drives. During the review I also used the motherboard integrated nVidia GeForce 6100 graphics. The monitors used for both x86 machines were two ViewSonic A90 19" CRT's and a Dell 2407WFP Flat Panel LCD for the Blade 100.
Is ZFS really all that great?
Sun has made a lot of noise about ZFS and rightly so. And although the creation, modification and deletion are much easier than before, I don't think that this is the most important part of ZFS. Using Solaris Volume Manager, Solstice DiskSuite or Veritas Volume Manager is not a simple matter, especially with complex volumes. There is no doubt that ZFS eliminates a lot of pain in volume creation and management, and this is for the most part what you hear a lot about from Sun.
What has me excited about ZFS is snapshots, not that this is new to Solaris. Since Solaris 8 1/01 Release the fssnap command has been included to allow administrators to take snapshots of filesystems. While fssnap works, it requires a backing store to hold snapshots and the snapshot(s) cannot reside in the filesystem that you are trying to snapshot. Another limitation of fssnap is that it only works with ufsdump and ufsrestore, further limiting its functionality. ZFS snapshots are easier to perform from either the command line or the ZFS GUI and do not require ufsdump and ufsrestore.
Why snapshots are important
The conventional wisdom in managing a large number of machines is that you set up a tape backup strategy and routinely backup the various machines and filesystems in your environment. The problem comes when it is time to restore a file, directory, or entire system from tape. In many cases most places have never tested their backup tapes to see if they actually work! Another issue is time, recovering individual files or a filesystem from tape can take a long time, and your system is down or is reduced in functionality while the restore is taking place. Using snapshots takes only seconds and the recovery time is just as fast.
I first started working with snapshots when we purchased a NetworkAppliance Filer NAS at a previous position I worked at. The Filer uses a BSD derivative operating system and the Write Anywhere File Layout (or WAFL) filesystem, and WAFL supports snapshots down to individual files. ZFS on the other hand is not that granular and can only be used to restore (or revert) entire filesystems. While this might be viewed as a bad thing by some, I see it as a good start because it comes with the OS and works regardless of what storage is used.