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
Leave a Reply