RAID-Z was designed as a software substitute for the expensive RAID card that has been used in traditional storage and, using its variable width stripes, to overcome the "RAID-5 write hole," writes Fishworks engineer Adam Leventhal in his blog What is RAID-Z? For all of that, however, Leventhal suggests that RAID-Z is not the mirror image of RAID-5.
Leventhal refers to his earlier blog The need for triple-parity RAID and lists the various RAID levels enumerated by several authors and summarized by himself in that blog.
Addressing the question that initiated the current blog, (what is RAID-Z?), Leventhal likes RAID-Z to RAID-3 in that both carve up logical blocks and distribute them among several disks, making it necessary to access all disks to read a single block, thus reducing the effective IOPS. RAID-5, on the other hand, aggregates unrelated blocks into fixed-width stripes protected by a parity block, putting a single block on a single disk. So, while RAID-Z's variable width stripes avoids the RAID-5 write hole, it does so at the cost of reduced IOPS, according to Leventhal.
The author notes that RAID-Z takes a significant step forward by enabling software RAID and concedes that, with the advent of flash pools and the Hybrid Storage Pool, the rate of IOPS from a single disk may not deserve the consideration it was once given.
He acknowledges that RAID-Z takes a significant step forward by enabling software RAID, though it does so at the cost of backtracking on the evolutionary hierarchy of RAID.
Leventhal would have preferred " ... a RAID variant that shuns specialized hardware like RAID-Z and yet is economical with disk IOPS like RAID-5."
More Information
The Clock is Running for RAID-6
ZFS, Virtual Devices, and Performance
10 Reasons ZFS is Insanely Great
Oracle's Sun Unified Storage Systems
Hybrid Storage Pools in CACM
Deep Dive into ZFS
ZFS, Virtual Devices, and Performance
[...read more...]