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.
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 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.
the options i know are:
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.
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.