4 ms·
It only works with 3+ disks. All data needs to be on two disks. e.g. you have 3 100GB drives, total capacity in raid 1 is 150GB. If you replace a broken one w
by rubenbe 2y ago
It only works with 3+ disks. All data needs to be on two disks.
e.g. you have 3 100GB drives, total capacity in raid 1 is 150GB.
If you replace a broken one with a 200GB one, the total capacity will be increased to 200GB.
- assbuttbuttass 2y agoMy understanding is that RAID1 is just a mirror, and all disks have identical contents. Are you talking about something else?
- tuetuopay 2y agoTraditional RAID1 will mirror whole drives, yes. BTRFS RAID1 will mirror chunks of data (iirc 1GB) on two drives. So you can have e.g. two 1TB drive and a 2TB one just fine.
- assbuttbuttass 2y agoThanks, that makes sense. I think the bcachefs --replicas option does something similar
- magicalhippo 2y agoYou can do this with ZFS, you just have to do it manually, ie by partitioning up the disks in say 100GB or 1TB partitions, then construct vdevs using these partitions. You can then extend the pool by adding more such partition-based vdevs as you replace disks, just add the new partitions and add new vdevs. So if you have a 1TB disk, a 2TB disk and a 4 TB disk, you could have mirrors (d1p1,d3p1), (d2p1,d3p2), (d2p2,d3p3) with a total of 3TB mirrored, and 1 TB available. If you swap the 1TB for a 2TB disk, partition it, replacing the old d1p1 partition with the new and resilver, and once that's done you can add the mirror (d1p2,d3p4) and get the full 4TB redundant storage. Not a great solution though, as it requires a lot of manual work, and especially write performance will suffer because ZFS will treat the vdevs as being separate and issue IOs in parallel to them, overloading the underlying devices.