What we did...
Remove faulty hard drive (/dev/sdb) from RAID array
Code: Select all
# mdadm /dev/md0 -r /dev/sdb1
# mdadm --manage /dev/md1 --fail /dev/sdb2
# mdadm /dev/md1 -r /dev/sdb2
# mdadm /dev/md2 -r /dev/sdb3
Copy partition table from first hard drive (/dev/sda) to second new hard drive (/dev/sdb)
Code: Select all
# sfdisk -d /dev/sda | sfdisk /dev/sdb
Code: Select all
# mdadm /dev/md0 -a /dev/sdb1
# mdadm /dev/md1 -a /dev/sdb2
# mdadm /dev/md2 -a /dev/sdb3
Code: Select all
[root@centos ~]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb3[2] sda3[0]
1919302720 blocks super 1.2 [2/1] [U_]
resync=DELAYED
bitmap: 15/15 pages [60KB], 65536KB chunk
md1 : active raid1 sdb2[2] sda2[0]
523712 blocks super 1.2 [2/1] [U_]
resync=DELAYED
md0 : active raid1 sdb1[2] sda1[0]
33521664 blocks super 1.2 [2/1] [U_]
[=>...................] recovery = 8.3% (2801024/33521664) finish=3.8min speed=133382K/sec
unused devices: <none>
Code: Select all
grub2-install /dev/sdb
https://i.imgur.com/ifbNLeL.png
https://i.imgur.com/Cqk4iei.png
We tried to figure out why it could not boot up. Then we finally tried to boot from second hard drive. And it was able to boot CentOS 7.9.2009.
So it means that first hard drive (/dev/sda) bootloader is broken.
How we can fix bootloader on first hard drive? Or how to clone bootloader from second hard drive (/dev/sdb) to first hard drive (/dev/sda) since working bootloader is on second hard drive?
Code: Select all
[root@centos ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 linux_raid_member rescue:0 ecde68fc-9d21-588e-555f-b15ed14c49af
│ └─md0 swap 6b6bb481-a1cc-4d10-afcb-f76a1cab1b61 [SWAP]
├─sda2 linux_raid_member rescue:1 5816f9f5-3863-7b16-c0e3-47db6d24e07e
│ └─md1 ext3 21c76857-40c2-4c27-87d2-f90205e78870 /boot
└─sda3 linux_raid_member rescue:2 6d206d54-8978-174e-58c6-697d15f600fc
└─md2 ext4 052a070b-dc36-47c5-a7cb-d13a1f80fe1c /
sdb
├─sdb1 linux_raid_member rescue:0 ecde68fc-9d21-588e-555f-b15ed14c49af
│ └─md0 swap 6b6bb481-a1cc-4d10-afcb-f76a1cab1b61 [SWAP]
├─sdb2 linux_raid_member rescue:1 5816f9f5-3863-7b16-c0e3-47db6d24e07e
│ └─md1 ext3 21c76857-40c2-4c27-87d2-f90205e78870 /boot
└─sdb3 linux_raid_member rescue:2 6d206d54-8978-174e-58c6-697d15f600fc
└─md2 ext4 052a070b-dc36-47c5-a7cb-d13a1f80fe1c /
Code: Select all
[root@centos ~]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[2]
1919302720 blocks super 1.2 [2/2] [UU]
bitmap: 13/15 pages [52KB], 65536KB chunk
md0 : active raid1 sda1[0] sdb1[2]
33521664 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[2]
523712 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Code: Select all
[root@centos ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@centos ~]# uname -a
Linux 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Code: Select all
[root@centos ~]# cat /etc/mdadm.conf
DEVICE partitions
MAILADDR root
ARRAY /dev/md/0 metadata=1.2 UUID=ecde68fc:9d21588e:555fb15e:d14c49af name=rescue:0
ARRAY /dev/md/1 metadata=1.2 UUID=5816f9f5:38637b16:c0e347db:6d24e07e name=rescue:1
ARRAY /dev/md/2 metadata=1.2 UUID=6d206d54:8978174e:58c6697d:15f600fc name=rescue:2
Code: Select all
[root@centos ~]# cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set pager=1
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
terminal_output console
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
source ${prefix}/user.cfg
if [ -n "${GRUB2_PASSWORD}" ]; then
set superusers="root"
export superusers
password_pbkdf2 root ${GRUB2_PASSWORD}
fi
fi
### END /etc/grub.d/01_users ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-693.21.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.21.1.el7.x86_64-advanced-052a070b-dc36-47c5-a7cb-d13a1f80fe1c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
set root='mduuid/5816f9f538637b16c0e347db6d24e07e'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/5816f9f538637b16c0e347db6d24e07e' 21c76857-40c2-4c27-87d2-f90205e78870
else
search --no-floppy --fs-uuid --set=root 21c76857-40c2-4c27-87d2-f90205e78870
fi
linux16 /vmlinuz-3.10.0-693.21.1.el7.x86_64 root=UUID=052a070b-dc36-47c5-a7cb-d13a1f80fe1c ro biosdevname=0 crashkernel=auto nomodeset rd.auto=1 consoleblank=0
initrd16 /initramfs-3.10.0-693.21.1.el7.x86_64.img
}
menuentry 'CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.11.6.el7.x86_64-advanced-052a070b-dc36-47c5-a7cb-d13a1f80fe1c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
set root='mduuid/5816f9f538637b16c0e347db6d24e07e'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/5816f9f538637b16c0e347db6d24e07e' 21c76857-40c2-4c27-87d2-f90205e78870
else
search --no-floppy --fs-uuid --set=root 21c76857-40c2-4c27-87d2-f90205e78870
fi
linux16 /vmlinuz-3.10.0-693.11.6.el7.x86_64 root=UUID=052a070b-dc36-47c5-a7cb-d13a1f80fe1c ro biosdevname=0 crashkernel=auto nomodeset rd.auto=1 consoleblank=0
initrd16 /initramfs-3.10.0-693.11.6.el7.x86_64.img
}
menuentry 'CentOS Linux (0-rescue-9063ac396d784f4c997ceacdd0590c25) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-9063ac396d784f4c997ceacdd0590c25-advanced-052a070b-dc36-47c5-a7cb-d13a1f80fe1c' {
load_video
insmod gzio
insmod part_msdos
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
set root='mduuid/5816f9f538637b16c0e347db6d24e07e'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/5816f9f538637b16c0e347db6d24e07e' 21c76857-40c2-4c27-87d2-f90205e78870
else
search --no-floppy --fs-uuid --set=root 21c76857-40c2-4c27-87d2-f90205e78870
fi
linux16 /vmlinuz-0-rescue-9063ac396d784f4c997ceacdd0590c25 root=UUID=052a070b-dc36-47c5-a7cb-d13a1f80fe1c ro biosdevname=0 crashkernel=auto nomodeset rd.auto=1 consoleblank=0
initrd16 /initramfs-0-rescue-9063ac396d784f4c997ceacdd0590c25.img
}
if [ "x$default" = 'CentOS Linux (3.10.0-693.21.1.el7.x86_64) 7 (Core)' ]; then default='Advanced options for CentOS Linux>CentOS Linux (3.10.0-693.21.1.el7.x86_64) 7 (Core)'; fi;
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Code: Select all
[root@centos ~]# cat /etc/fstab
proc /proc proc defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0
Code: Select all
[root@centos ~]# ls -al /boot
total 186959
dr-xr-xr-x. 10 root root 1024 Feb 4 08:26 .
dr-xr-xr-x 19 root root 4096 Feb 4 08:53 ..
-rw------- 1 root root 437 Feb 4 06:45 .bash_history
-rw-r--r-- 1 root root 140915 Jan 4 2018 config-3.10.0-693.11.6.el7.x86_64
-rw-r--r-- 1 root root 140971 Mar 7 2018 config-3.10.0-693.21.1.el7.x86_64
drwxr-xr-x 2 root root 1024 Feb 4 04:53 dev
drwxr-xr-x. 3 root root 1024 Sep 18 2017 efi
drwxr-xr-x. 2 root root 1024 Feb 27 2018 grub
drwx------. 5 root root 1024 Feb 4 08:30 grub2
-rw-------. 1 root root 51313370 Sep 18 2017 initramfs-0-rescue-9063ac396d784f4c997ceacdd0590c25.img
-rw------- 1 root root 41220097 Feb 4 08:26 initramfs-3.10.0-693.11.6.el7.x86_64.img
-rw------- 1 root root 18230230 Feb 27 2018 initramfs-3.10.0-693.11.6.el7.x86_64kdump.img
-rw------- 1 root root 41293414 Feb 4 08:26 initramfs-3.10.0-693.21.1.el7.x86_64.img
-rw------- 1 root root 13561382 Jun 12 2021 initramfs-3.10.0-693.21.1.el7.x86_64kdump.img
drwx------ 2 root root 12288 Feb 27 2018 lost+found
drwxr-xr-x 2 root root 1024 Feb 4 04:53 proc
drwxr-xr-x 2 root root 1024 Feb 4 04:53 run
-rw-r--r-- 1 root root 293110 Jan 4 2018 symvers-3.10.0-693.11.6.el7.x86_64.gz
-rw-r--r-- 1 root root 293361 Mar 7 2018 symvers-3.10.0-693.21.1.el7.x86_64.gz
drwxr-xr-x 2 root root 1024 Feb 4 04:53 sys
-rw------- 1 root root 3232490 Jan 4 2018 System.map-3.10.0-693.11.6.el7.x86_64
-rw------- 1 root root 3237433 Mar 7 2018 System.map-3.10.0-693.21.1.el7.x86_64
-rwxr-xr-x. 1 root root 5877760 Sep 18 2017 vmlinuz-0-rescue-9063ac396d784f4c997ceacdd0590c25
-rwxr-xr-x 1 root root 5889728 Jan 4 2018 vmlinuz-3.10.0-693.11.6.el7.x86_64
-rw-r--r-- 1 root root 171 Jan 4 2018 .vmlinuz-3.10.0-693.11.6.el7.x86_64.hmac
-rwxr-xr-x 1 root root 5917504 Mar 7 2018 vmlinuz-3.10.0-693.21.1.el7.x86_64
-rw-r--r-- 1 root root 171 Mar 7 2018 .vmlinuz-3.10.0-693.21.1.el7.x86_64.hmac