OpenZFS founding developer Matthew Ahrens merged one of the most sought-after features in ZFS history—RAIDz expansion—into master last week. The new feature allows a ZFS user to expand the size of a single RAIDz vdev. For example, you can use the new feature to turn a three-disk RAIDz1 into a four, five, or six RAIDz1.
OpenZFS is a complex filesystem, and things are necessarily going to get a bit chewy explaining how the feature works. So if you’re a ZFS newbie, you may want to refer back to our comprehensive ZFS 101 introduction.
Expanding storage in ZFS
In addition to being a filesystem, ZFS is a storage array and volume manager, meaning that you can feed it a whole pile of disk devices, not just one. The heart of a ZFS storage system is thezpool
—this is the most fundamental level of ZFS storage. The zpool
in turn contains vdevs
, and vdevs
contain actual disks within them. Writes are split into units called records
or blocks
, which are then distributed semi-evenly among the vdevs
.