[CentOS] EFI System Partition on RAID 1 array

Sat Dec 5 12:47:29 UTC 2020
Nicolas Kovacs <info at microlinux.fr>

Hi,

I'm currently writing a little documentation on how to install CentOS 7 on
manually partitioned disks, e. g. boot in Rescue Mode first, partition using
fdisk or gdisk, reboot, start the installer and use the installer to format
these partitions.

I have a total of 9 (3 x 3) situations:

  * single disk (BIOS+MBR, BIOS+GPT, UEFI)
  * RAID 1 on 2 disks (BIOS+MBR, BIOS+GPT, UEFI)
  * RAID 6 on 4 disks (BIOS+ BR, BIOS+GPT, UEFI)

Everything works fine so far and I've completed seven out of nine of these
setups. But right now I'm stuck with a problem on how to manually setup RAID 1
with UEFI.

Here's what I do.

Fire up gdisk on /dev/sda.

Create 4 RAID partitions (FD00):

  * 200 MB for /dev/md/EFI
  * 500 MB for /dev/md/boot
  * 4 GB for /dev/md/swap
  * 55 MB for /dev/md/root

Create the RAID arrays:

# mdadm --create /dev/md/EFI --level=1 --raid-devices=2 \
  --metadata=1.2 /dev/sda1 /dev/sdb1
mdadm: array /dev/md/boot started
# mdadm --create /dev/md/boot --level=1 --raid-devices=2 \
  --metadata=1.2 /dev/sda2 /dev/sdb2
mdadm: array /dev/md/boot started
# mdadm --create /dev/md/swap --level=1 --raid-devices=2 \
  --metadata=1.2 /dev/sda3 /dev/sdb3
mdadm: array /dev/md/swap started
# mdadm --create /dev/md/root --level=1 --raid-devices=2 \
  --metadata=1.2 /dev/sda4 /dev/sdb4
mdadm: array /dev/md/root started

And then I reboot, fire up the installer and assign these RAID arrays
respectively to the EFI system partition as well as /boot, swap and /.

Unfortunately I won't even reach the GRUB menu on boot. Only thing I get after
the initial reboot is the EFI shell.

Now I've tried this again, this time partitioning *and* formating using Anaconda.

  * one mountpoint for /boot/efi (RAID 1)
  * one mountpoint for /boot (RAID 1)
  * one mountpoint for swap (RAID 1)
  * one mountpoint for / (RAID 1)

After the initial reboot, everything works fine. EFI on a RAID 1 array
apparently works.

So what am I missing and/or doing wrong in my manual setup?

Cheers,

Niki
-- 
Microlinux - Solutions informatiques durables
7, place de l'église - 30730 Montpezat
Site : https://www.microlinux.fr
Blog : https://blog.microlinux.fr
Mail : info at microlinux.fr
Tél. : 04 66 63 10 32
Mob. : 06 51 80 12 12