Centos 6 software raid-1 with EFI

From vpsget wiki
Revision as of 16:33, 5 March 2015 by Ndi (talk | contribs)
Jump to: navigation, search

Assuming that you are creating new OS setup. If you already have the centos installed on disk1 and want to add disk2 as software raid-1 refer to the official RHEL/centos documents you can find how to do it.

In centos 6 setup select to manually create volumes and create the identical by size partitions on both drives. The partition type should be "Software RAID" Leave the place (200-500 MB for the /boot/efi mount point on both disks , but select as mount point only for one) after that you be able to add raid devices [create the raid volumes] from the sda and sdb previously created partitions. So it should be something like this:

   Device       mountpoint         type    
-------------------------------------------- 
HardDrivers
 /dev/sda
   /dev/sda1  /boot/efi           EFI Boot [vfat] #EFI mountpoint
   /dev/sda2  {part0}             Software RAID
   /dev/sda3                      Software RAID      
   /dev/sda4  {part1}             Software RAID
 /dev/sdb
   /dev/sdb1  {same size as sda}   EFI Boot      #no mountpoint!
   /dev/sdb2  {size -eq sda part0} Software RAID
   /dev/sdb3  {size -eq sda swap}  Software RAID
   /dev/sdb4  {size -eq sda part1} Software RAID

Note that we have specified only 1 mountpoint for EFI boot.

While you creating each volume [raid device] you be able to select partiotions that will be mirrored , filesystem type and mountpoint After you add the Raid Devices and create raid partitions the next volumes should be added at the start of the list in centos 6 install GUI. So the "picture" will be like this :

    Device       mountpoint         type    
--------------------------------------------     
RAID Devices
   /dev/md0   / {part0}          ext4
   /dev/md1                      swap             
   /dev/md2   /vz                ext4       
HardDrivers
 /dev/sda
   /dev/sda1  /boot/efi           EFI Boot [vfat] #EFI mountpoint
   /dev/sda2  {part0}             Software RAID
   /dev/sda3                      Software RAID      
   /dev/sda4  {part1}             Software RAID
 /dev/sdb
   /dev/sdb1  {same size as sda}   EFI Boot      #no mountpoint!
   /dev/sdb2  {size -eq sda part0} Software RAID
   /dev/sdb3  {size -eq sda swap}  Software RAID
   /dev/sdb4  {size -eq sda part1} Software RAID


As you can see currently EFI vfat partition not mirrored. But we have created the similar partition on sda1 and sdb1 . The mountpoint was configured only for sda1 (/boot/efi). You can press "Next" and setup will continue. Once it will done login to your server .

Check mdstat:

cat /proc/mdstat 

You should see the resync process. you can watch it live with watch command:

watch cat /proc/mdstat 

Once resync will be done you can see the output like this:

cat /proc/mdstat 
Every 2.0s: cat /proc/mdstat                                                                                                                                                                                         Thu Mar  5      
Personalities : [raid1]
md2 : active raid1 sda4[0]
     1885593600 blocks super 1.1 [2/1] [U_]
     bitmap: 6/15 pages [24KB], 65536KB chunk
md0 : active raid1 sda2[0]
     51199872 blocks super 1.0 [2/1] [U_]
     bitmap: 1/1 pages [4KB], 65536KB chunk
md1 : active raid1 sdb3[1] sda3[0]
     16375808 blocks super 1.1 [2/2] [UU]
unused devices: <none>

Now you need to make manual mirror for /boot/efi. The next copmmands copy /boot/efi from sda to sdb:

dd if=/dev/sda1 of=/dev/sdb1
efibootmgr --create --disk /dev/sdb --label "CentOS Backup" --load "\\EFI\\redhat\\grub.efi"   


Now you can disable sda in BIOS/EFI and check - system should load w/o any problems.

View status of SW RAID:

 mdadm -D /dev/mdN 



Also as I can understand in case of one HDD failure - after replacement you need to initiate manual resync from survived HDD to new like this {better refer original docs}: Force Manual Resync .stop array first:

mdadm --stop /dev/mdN

Perform resync:

mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1


ad/remove from md: SDA1 hot remove

mdadm --manage /dev/mdN -r /dev/sda1
mdadm: hot removed /dev/sda1 from /dev/mdN

SDA add:

mdadm --manage /dev/mdN -a /dev/sda1
mdadm: added /dev/sda1


For more details about centos 6 software raid 1 install refer to the official guide : https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-raid-config.html