Easy Linux raid 1 to raid 5 in 5 steps without reboot

Migration from RAID1 to RAID5 turned out to be many times easier than I thought 🙄 In general they are 5 simple little wait steps and 1 a beer for courage.

For me, the system has been created RAID array md0 in which they participate 2 sda and sdb disk. I will add a 3rd sdc to them to create RAID5 from 3 disk. In general, this acrobatics is for the scientific purpose of a virtual I have not yet tested it in a real environment, but I don't expect dramas on a real machine when the time comes.

  1. We create the same file system layout as on our other disks – sfdisk -d /dev/sdb | sfdisk /dev/sdc
  2. We are upgrading our current RAID5 array – mdadm –grow /dev/md0 –level=5
  3. We add the new disk to the array – mdadm –manage /dev/md0 –add /dev/sdc . Here comes the thin point that the array is still RAID1 and will not start syncing because our new drive is spare
  4. The most important moment sdc becomes active and synchronization begins – mdadm –grow /dev/md0 –raid-devices=3 . Good time to open your beer if it is not done 😉 Do not interrupt the process under any circumstances!!!
  5. After the synchronization is over, it has to resize the partition because the loss of space in RAID1 is 1 / n and in RAID5 is 1-1 / n

The biggest bonus is that there is no need to restart the system or remove and create additional arrays.

sfdisk -d /dev/sdb | sfdisk /dev/sdc
mdadm --grow /dev/md0 --level=5
mdadm --manage /dev/md0 --add /dev/sdc
mdadm --grow /dev/md0 --raid-devices=3
resize2fs /dev/md0

Good evening 😛

Leave a Reply

Your email address will not be published. Required fields are marked *

Anti SPAM *