A FreeNAS appliance can act as an iTunes streaming media server, a universal plug-and-play (uPNP) server, or a web server, all using available plug-ins. The plug-ins use FreeBSD's virtual "jails," which means a problem with one plug-in won't affect anything in the rest of the system.
Perhaps the best single feature in FreeNAS is its optional use of the zettabyte file system (ZFS), first developed by Sun and now actively maintained as a FreeBSD project.
A ZFS system can hold a 16-exabyte file (about 18 million terabytes) or 200 million files. Even in a Big Data world, capacity isn't going to be a problem with ZFS.
[STORAGE RELATED: Watching CES 2013: Storage]
ZFS is a speedy performer, as we'll show with test results, but it's also extremely flexible and easy to manage. It supports up to 18.4 quintillion snapshots for a virtually unlimited amount of rolling backward and forward.
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).