I have created a raid5 array with 4 disks. Initially i had 3x 3tb and 1x 4tb (because 3tb was unavailable at the time). After some years i have replaced most of these disks and have come to the point where all array disks are now 4tb in size. Still my mdadm array is 3TB. Is there any way to change the mdadm array size to match the 4tb disk size w/o loosing my data? Thanks for your help!
1 Answer
If you have a write-intent bitmap, remove it
mdadm --grow /dev/mdX --bitmap none
Then grow the array
mdadm --grow /dev/mdX --size max
Finally, restore the bitmap if you were using one
mdadm --wait /dev/mdX
mdadm --grow /dev/mdX --bitmap internal
This is all from the RAID Wiki
Things are different if your RAID is on partitions rather than full disks, as you'll have to remove, resize, and then re-add each disk in turn. Wait for a full resync after each disk partition has been extended
Finally you'll need to grow the filesystem or PV that site on top of your RAID. (You can do this any time after the second step.)