|
|
|
|
|
by dual_basis
2431 days ago
|
|
My biggest complaint with ZFS is the lack of flexibility. If you setup two disks in a mirrored configuration, that's the end of it - those disks will be mirrored forever. If you get another drive and want to expand storage while still having redundancy, i.e. RAID5 type setup, you can't. You can increase storage with a pair of drives, by mirroring them first and then adding them to the zpool, but this is not an option configuration from a safety standpoint. I loved the flexibility of BTRFS in this regard - you could change the duplication level at any point. BTRFS seemed to abstract the storage away beautifully - just give us your drives, any combination of sizes, tell us how many copies of your data you want to keep and we'll handle the rest. It wasn't perfect, but I loved this approach, and I feel like it could go even further, eg. calculate risk of failure probabilities and then just tell it how low you want your risk. If it can't do it with your current drive capacities it could tell you what it needs to accomplish it, and then rebalance the data once you add the drives. Got an SSD? Throw it in the pool and let it optimize for cacheing. I know bcachefs has that particular aspect covered, but there's a lot of other basic features that still need to be implemented. |
|
And there is work on it for OpenZFS: https://www.youtube.com/watch?v=Njt82e_3qVo
for zfsonlinux As far as I understand you can currently add and remove striped/mirror devices, but you cannot remove raid-z vdevs (ref: https://github.com/zfsonlinux/zfs/issues/9129) - so there is definitely work left to be done in this area.
as an aside mdadm has surprisingly fantastic features in this area and can reshape pretty much any array type to any other. i was impressed by that.