- 10 Hot Big Data Startups to Watch
- 11 Unique Uses for Google Glass, Demonstrated by Celebs
- How to Export Your Google Reader Account
- How to Better Engage Millennials (and Why They Aren't Really so Different)
Page 2 of 5
Data integrity is a ZFS hallmark. Instead of relying on the underlying hardware to detect errors, every block in a ZFS system uses a 256-bit checksum to validate data. In a redundant system using mirroring or RAID, ZFS automatically reconstructs any corrupted blocks without user intervention. Because ZFS continually validates data integrity on disk, a FreeNAS appliance can survive loss of power without the need to run the Unix fsck command on each volume afterward.
And ZFS is really a RAID controller, volume manager, and file system rolled into one. There's no need for separate management tools for each, as in many other enterprise storage products.
On the RAID front, FreeNAS offers lots of choices for how volumes are assembled. In addition to many RAID choices (RAID 0, 1, 5, 6, 10, 50, and 60), ZFS has two of its own methods called raidz1 and raidz2. The raidz1 option is similar to RAID5, except that it can tolerate the loss of multiple disks, thus fixing RAID5's "write hole" problem. The raidz2 option is similar to RAID6, offering double parity checking, and like raidz1 it too can handle the loss of multiple disks.
Unlike conventional volume managers and file systems, ZFS doesn't use fixed-size partitions or volumes. If current volumes don't offer enough capacity, ZFS makes it easy to add more - to a live production system, with zero downtime. During testing, we expanded a ZFS storage pool using one command, with no need to take devices or file systems offline. This expandability even extends to adding different-size disks into a storage pool (though the usual size rules with RAID still apply).
ZFS also offers optional compression of selected storage pools. This can improve performance, since the time taken to compress a pool is faster than the time to read and write uncompressed data to disk. Compression is a natural fit for storage pools with lots of text files, such as logs.
The drawbacks with using ZFS are minor, and might not even be considered drawbacks in many cases. First, because ZFS owes much of its performance to caching, it's best installed on servers with lots of RAM. While 6GB will suffice in theory, in practice ZFS systems should have more - lots more. The system iXsystems supplied had 48GB of RAM, though we've also run FreeNAS in systems with 16G and 24GB of RAM with good results. In general, though, the more ZFS can cache, the faster its I/O performance.
If available RAM is really an issue, FreeNAS also can be installed using FreeBSD's regular UFS file system with as little as 2GB of RAM.
Second, due to licensing issues ZFS runs mainly on BSD systems, though there is a Linux port available (of ZFS only, not the entire FreeNAS system). The choice of operating system is a nonissue with FreeNAS, which is a turnkey distribution built on FreeBSD. Even users unfamiliar with FreeBSD should be fine with FreeNAS, since it's managed through an intuitive and powerful Web interface.
Licensing is really only an issue for developers. ZFS' Common Development and Distribution License (CDDL) license allows free re-use of source code (including the right to convert to closed-source code), while the GNU 2.0 and 3.0 licenses in the Linux world require changes to be committed back into open-source distributions.