
On Thu, Apr 05, 2012 at 03:38:55PM +1000, Toby Corkindale wrote:
Exactly. I think you can only get away with that if the system has filesystem-level information - which is why btrfs and zfs can do it, but it doesn't work at a block-device level with mdadm.
and even they expect disks of the same size. e.g. if you have 4x1TB drives in raidz-1 vdev(*) and replace them one-by-one with 2TB drives then ZFS won't increase the capacity of the pool until *ALL* four have been replaced. OTOH if you have just individual drives in your pool (similar to raid-0), then it recognises the increased capacity as soon as you add the new drive or replace an old one with it. or if you are replacing a mirror vdev (similar to raid-1) it recognises the increased size as soon as both mirrors are replaced. you can also add a single drive to an existing pool. (*) zfs pools ("zpools") are made up of one or more vdevs ("virtual devices") which consist of one or more physical devices. multiple physical devices in a vdev can be configured as mirrors, or as raid-z{1,2,3} (the final digit refers to the number of parity drives in the vdev, so raidz-1 is like raid5 and raidz-2 is like raid6). multiple vdevs in a pool are handled like raid-0 layered over the vdevs. so, e.g., two raidz-1 vdevs in a pool are like raid-50. and two vdevs with a single drive each are like raid-0. craig -- craig sanders <cas@taz.net.au> BOFH excuse #93: Feature not yet implemented