You can expand mirrored vedev based arrays, but you do it by adding vdevs, so you are looking at adding TWO drives at a time. You can also (sorta) expand Z1 arrays by adding whole additional vdevs, or by replacing each drive in the array one at a time.
Data Hoarder
We are digital librarians. Among us are represented the various reasons to keep data -- legal requirements, competitive requirements, uncertainty of permanence of cloud services, distaste for transmitting your data externally (e.g. government or corporate espionage), cultural and familial archivists, internet collapse preppers, and people who do it themselves so they're sure it's done right. Everyone has their reasons for curating the data they have decided to keep (either forever or For A Damn Long Time (tm) ). Along the way we have sought out like-minded individuals to exchange strategies, war stories, and cautionary tales of failures.
As a point of reference, there’s a newer ZFS feature that will allow you to expand RAIDZ pools without creating new vdevs. Note, however, it doesn’t let you add or remove parity to change the RAIDZ level.
It’s rather new and will take some time for implementation into NAS platforms like TrueNAS.
the options i know are:
- unraid (costs moneybut is the simplest to setup and comes with a bunch of extra features, app store etc)
- btrfs (though raid5/6 aren't considered ready for production use)
- mergerfs with snapraid (technically not real time but it's the most flexible)
As it was said, you may try unRAID which would handle even the different size drives.
As alternative, it looks like mdadm should fit your requirements. You can use smth like openmediavault for that.