Introducing ZFS AnyRaid, Sponsored by Eshtek
May 22, 2025
By Jonathan Panozzo
At the beginning of this year, we made the decision to invest a substantial chunk of capital to support an open source project for which we have great personal interest. ZFS AnyRaid will give users the ability to mix different sized drives in a pool, a highly-requested feature since our launch. Just this week, Klara, Inc. announced the details of this project on the ZFS Leadership call. The project is still in heavy development but this week's announcement puts everyone on notice that this is coming.
What's different about ZFS AnyRaid?
In traditional ZFS RAID-Z the usable space of a group of disks in a pool is limited by the size of the smallest disk. For example, if you mix 2x3TB and 2x5TB disks it will be the same as having 4x3TB disks. In addition, if you upgrade one of those 3TB disks to 5TB, you're still limited to 4x3TB disks. AnyRaid will change those rules by enabling much better flexibility than traditional ZFS methods.
Long story short: you'll be able to mix up those disks and get better usable capacity than you would have before.
Pool Layouts & Usable Space Comparisons
With ZFS AnyRaid, two new layouts will be added:
- AnyRaid-Mirror
- AnyRaid-Z1
Usable Space Comparison
For a configuration with 1x4TB, 2x6TB, and 1x8TB drives:
Layout | Usable Space |
---|---|
Mirror | 10TB |
AnyRaid-Mirror | 12TB |
RAID-Z1 | 12TB |
AnyRaid-RAID-Z1 | 16TB |
Project Phases
Phase 1 Goals
The first phase of the project focuses on these key areas:
- Indirection Map - A new layer that enables flexible data placement across drives of different sizes
- Mirror Parity - Enhanced mirroring capabilities that work with heterogeneous drive configurations
- Layout Optimization - Intelligent algorithms to maximize usable capacity with mixed drive sizes
- VDEV Expansion - The ability to expand existing virtual devices with different sized drives
Phase 2: RAID-Z Support
The second phase will extend AnyRaid capabilities to include RAID-Z configurations, bringing the same flexibility to parity-based layouts.
Project Credits
This project is being developed by Klara, Inc. with significant contributions from:
- Allan Jude - Project lead and ZFS expert
- Paul Dagnelie - Core ZFS developer
- Igor Ostapenko - Key contributor to the implementation
We're incredibly excited to sponsor this work and bring these capabilities to the HexOS community. The ability to mix drive sizes has been one of the most requested features, and we're thrilled to support the open source development that will make this possible for everyone in the ZFS ecosystem.
Stay tuned for more updates as development progresses!