CentOS 7 / 8 cannot boot with with mdadm RAID array solution

This article about migrating to a CentOS 7 /8 RAID mdadm array has a lot of info but I wanted to focus specifically on what newer versions of CentOS 7 require to boot mdadm and what changes are necessary on CentOS 7.8+

CentOS 7 / 8 mdadm RAID booting requirements

This assumes you are chrooting into an existing install or using it to get a new deployment ready.  However, these steps can fix existing mdadm installs that don't boot properly either (but you'll want to boot either into rescue or a Live environment and then chroot).

Check this if you need to learn how to chroot into your OS

1.) Install mdadm:

yum -y install mdadm

2.) Edit /etc/default grub like this

Without rd.auto=1 you will find that it won't be able to boot or assemble your RAID array.

Edit the GRUB_CMDLINE_LINUX line and add:

rd.auto=1

3.) Update your grub.cfg file

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

4.) Update your /etc/dracut.conf

Update your dracut.conf as this is critical for new kernels that you install, otherwise the initramfs will not contain mdraid and your array will be inaccessible.  You'll forget long after this, until you find your server can't boot after a kernel update!

Just uncomment and enable the "add_dracutmodules" to be like below:

add_dracutmodules+="mdraid"

5.) Update the existing initramfs files

You'll want to do this otherwise the initramfs is missing the mdadm kernel module, so your array won't be accessible and boot will fail.

For each initramfs in /boot you'll want to do this:

*Change the name of initramfs to match yours

dracut --add="mdraid" /boot/initramfs-3.10.0-1127.13.1.el7.x86_64.img 3.10.0-1127.13.1.el7.x86_64 --force

Notice that after the initramfs full name, you need to take the full kernel name and place it, which in the example above was "3.10.0-1127.13.1.el7.x86_64" this is critical as if you miss the kernel name, it will create but just won't work and you'll still be unable to boot.

 

If you've done something wrong configuring your CentOS 7 8 mdadm RAID array you'll see something like this when you boot:

Warning: /dev/disk/by-uuid/ does not exist

Entering emergency mode.


Tags:

centos, mdadm, raid, array, solutionthis, migrating, info, newer, versions, booting, requirements, assumes, chrooting, existing, install, deployment, installs, ll, chroot, os, yum, edit, etc, default, grub, rd, auto, assemble, grub_cmdline_linux, update, cfg, mkconfig, efi, redhat, dracut, conf, kernels, initramfs, contain, mdraid, inaccessible, server, kernel, uncomment, enable, quot, add_dracutmodules, updates, module, accessible, _, img, unable, ve, configuring, dev, disk, uuid, mode,

Latest Articles

  • docker / kubernetes breaks Proxmox QEMU KVM Bridge VMs
  • How To Change Storage Location in Docker.io
  • RTL8812BU and RTL8822BU Linux Driver Ubuntu Setup Archer T3U Plus
  • Kazam video blank/high size and not working when recording solution
  • Cisco UC CME How To Enable Licensed Features
  • from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packag
  • ModuleNotFoundError: No module named 'pip._internal' solution python
  • grub blank screen how to manually boot kernel and initrd Linux Ubuntu Debian Centos won't boot solution
  • Cisco Switch / Router How To Restore Factory Default Settings
  • Cisco 2900 3900 Router Password Reset How To Reset Enable Password
  • How To Install convert MBR Legacy booting GRUB to EFI from a non-EFI Linux Environment Ubuntu Mint Debian
  • Translating "cisco" ...domain server (255.255.255.255) Cisco Router/Switch Solution
  • Error opening tftp://10.0.2.2/network-confg (Permission denied) - How To Fix Cisco Router Switch Error Solution Console
  • GRUB error: invalid arch-independent ELF magic. Solution How To Fix Linux Centos Ubuntu Mint
  • How to find out which package a file belongs to in Debian Mint Ubuntu Linux
  • Centos 7 not mounting /etc/fstab partitions
  • CentOS 7 / 8 cannot boot with with mdadm RAID array solution
  • How To Add Default Gateway in Linux using the ip route command routing
  • Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist Solution for Centos8 yum package install error
  • md mdadm array inactive how to start and activate the RAID array