On an OVH Cpanel server running CentOS 7, the server won’t boot. When accessing the server console using IPMI, I found the following error.
I booted the server into rescue mode, checked the disk partitions with the command parted -l
Disk /dev/nvme0n1: 450GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 537MB 536MB fat32 primary boot, esp 2 537MB 1073MB 536MB ext4 primary raid 3 1073MB 53.5GB 52.4GB ext4 primary raid 4 53.5GB 450GB 396GB ext4 primary raid 5 450GB 450GB 536MB linux-swap(v1) primary Disk /dev/nvme1n1: 450GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 537MB 536MB fat32 primary boot, esp 2 537MB 1073MB 536MB ext4 primary raid 3 1073MB 53.5GB 52.4GB ext4 primary raid 4 53.5GB 450GB 396GB ext4 primary raid 5 450GB 450GB 536MB linux-swap(v1) primary
The server had 2 NVMe disks configured as RAID 1 mirrors. The first partition with fat32 filesystem is used for boot.
To fix the problem, I chrooted to the server file system with the following command (this may be changed based on your server’s partition scheme).
mount /dev/md3 /mnt mount /dev/md2 /mnt/boot/ mount /dev/md4 /mnt/home mount --bind /dev /mnt/dev mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc mount --bind /dev/pts /mnt/dev/pts/ chroot /mnt
Reinstalled the kernel with
yum reinstall kernel
Then reinstalled grub loader. This server used UEFI, so used following commands
mkdir /nvme0n1p1 mkdir /nvme1n1p1 mount /dev/nvme0n1p1 /nvme0n1p1 mount /dev/nvme1n1p1 /nvme1n1p1 grub2-install --target=x86_64-efi --efi-directory=/nvme0n1p1 --bootloader-id=GRUB grub2-install --target=x86_64-efi --efi-directory=/nvme1n1p1 --bootloader-id=GRUB
grub boot loaded is installed on both disks, so server will be able to boot when either one of the disk is selected as boot device.
Back to grub