Given I have a raid 5 of /dev/sda
, dev/sdb
, /dev/sdc
, now with the same size (said 250G)
But later, /dev/sda
failed, so I replaced it with /dev/sdd
of 500G. What happens?
If Later I replace /dev/sdb
with /dev/sde
of 500G and /dev/sdc
with /dev/sdf
of 500G then what happen?
Will my array grow it capability?
[Based on another recent question of yours, I assume you're using Linux
mdadm
for software RAID. If this is not the case, feel free to ignore this.]The size of your RAID5 array will not grow automatically after you have replaced all the 250G drives in the array (one at a time, of course!) with 500G drives. You will need to tell
mdadm
to grow the array, using the--grow
operation. Something like the following should grow the array to fill the new larger drives:When you are using mismatched drives, the new (larger) drives will have un-utilised space on them. You are usually free to use this space for other partitions or arrays.
When you have upgraded all your drives to drives of the same size, what you can do with it depends on a lot of factors, like the method you've used for RAID etc. With any decent RAID controller, you can expand your array to fill the full size of all the disks. The same might also be true depending on your soft-raid options. Windows, for example, can't expand a RAID array, but I assume from your disk descriptions you're using *nix, which I'm not so familiar with.
I don't have personal experience with RAID5, but the Linux RAID Wiki has a detailed instruction guide:
https://raid.wiki.kernel.org/index.php/Growing#Expanding_existing_partitions