What Is ZFS?
ZFS is an open-source file system designed by Sun Microsystems. The ZFS filesystem takes on a lot of responsibility—more so than most file systems. Among ZFS’s bag of tricks are advanced journaling and self-healing features designed to help prevent accidental data corruption, snapshotting, and data compression and deduplication features.
You can have these things without ZFS, but what makes this file system special is that all of these features are built into ZFS instead. Instead of coming from third-party software, all of these features are handled natively by the file system itself. These features can make it harder to lose data, which is a relief for ZFS users. However, when data loss happens, these same features can add extra hurdles to jump over for our ZFS data recovery experts.
What Is RAID-Z?
One feature in particular makes ZFS an incredibly useful file system for RAID servers. ZFS’s RAID-Z capabilities allow it to behave like its own RAID controller and manage separate storage devices into efficient and redundant RAID arrays.
Like ZFS’s other advanced features, RAID-Z is baked into the file system. In many ways, RAID-Z is a bit like Windows Storage Spaces, which uses software to link multiple drives into a RAID array instead of a physical RAID controller. RAID-Z can set up a multi-drive logical volume that plays by the same rules as any standard or nested RAID level. You can also set up more esoteric volumes, like arrays with triple parity, or volumes in which part of the data is mirrored like a RAID-1 and part has RAID-5 or RAID-6-like parity.
And, also like Storage Spaces, you can make a RAID-Z array using things other than hard drives or SSDs… like USB flash drives. (Of course, there’s very little reason you’d want to do this, other than the novelty…)
As a result of ZFS itself handling all the dirty work of the RAID array, the actual hardware RAID controller in the Dell PowerVault server chassis didn’t have to do anything special to connect the drives in each server—hence why the controller was set to JBOD mode.