ZFS RAIDZ VDEV Extension (Day 25)
Got a new drive to add to my storage pool and TrueNAS Scale now supports RAIDZ VDEV extension. Which is a relatively new feature, introduced in TrueNAS 24.10 (Electric Eel).
Steps:
- Navigate to the storage pool
- Select "Manage Devices"
- Choose the VDEV you want to extend
- Click "Extend"
- Select the new drive
- Confirm and wait
See the docs here, the plus side of this process is that your NAS remains fully functional during the extension.
You can continue using all services while the VDEV rebuilds in the background.
Important Notes on Capacity
There's an interesting caveat with the extension process:
The expanded vdev uses the pre-expanded parity ratio, which reduces the total vdev capacity. To reset the vdev parity ratio and fully use the new capacity, manually rewrite all data in the vdev. This process takes time and is irreversible.
In practical terms, this means you won't immediately get the full theoretical capacity increase. The system recovers this "lost headroom" over time as data naturally gets modified or deleted. From the TrueNAS docs:
Extended VDEVs recover lost headroom as existing data is read and rewritten to the new parity ratio. This can occur naturally over the lifetime of the pool as you modify or delete data. To manually recover capacity, simply replicate and rewrite the data to the extended pool.
However, scripts like this exits for ZFS balancing can be done using e,g the linked one does it in place.
For those wanting to calculate potential capacity gains, TrueNAS provides a handy Extension Calculator.
Performance Impact
The extension process is fairly time-consuming - my current extension has been running for over 5 hours.
However, the entire system remains usable during this time, with all services continuing to function (that said there's not much load on the NAS, can't say the same if it was under heavy use)