Digimer
2014-Oct-05 18:37 UTC
[CentOS] CentOS 7 - Have 2 disks, each with a biosboot partition, can only boot off one of them
Hi all, I used a kickstart script to setup a new machine of mine with RAID 1 (I couldn't get anaconda to create matching partition schemes). So I've now got /dev/sdg1 and /dev/sdh1 as 'bios_grub' (/dev/sd{a-f} are a separate array). 0 root at an-nas02:~# parted /dev/sdg print free Model: ATA ST3000NC000 (scsi) Disk /dev/sdg: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: pmbr_boot Number Start End Size File system Name Flags 17.4kB 1049kB 1031kB Free Space 1 1049kB 3146kB 2097kB bios_grub 2 3146kB 3001GB 3001GB raid 3001GB 3001GB 466kB Free Space 0 root at an-nas02:~# parted /dev/sdh print free Model: ATA ST3000NC000 (scsi) Disk /dev/sdh: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: pmbr_boot Number Start End Size File system Name Flags 17.4kB 1049kB 1031kB Free Space 1 1049kB 3146kB 2097kB bios_grub 2 3146kB 3001GB 3001GB raid 3001GB 3001GB 466kB Free Space I can only boot off of /dev/sdh, so I tried to run 'grub2-install' against /dev/sdg and it failed with this error: *** Error in `grub2-install': double free or corruption (fasttop): 0x00000000010a83b0 *** (full error: http://fpaste.org/139382/25324161/) It seems like it's blowing up on grub2-probe, as I can generate the same error. I tried specifying the device: 0 root at an-nas02:~# df -hP |grep boot /dev/mapper/an--nas02_vg0-lv_boot 506M 133M 373M 27% /boot 0 root at an-nas02:~# lvdisplay /dev/an-nas02_vg0/lv_boot |grep VG VG Name an-nas02_vg0 0 root at an-nas02:~# pvdisplay /dev/md0 | grep -e "VG Name" -e "PV Name" PV Name /dev/md0 VG Name an-nas02_vg0 0 root at an-nas02:~# cat /proc/mdstat |grep md0 md0 : active raid1 sdg2[1] sdh2[0] 0 root at an-nas02:~# ls -lah /dev/mapper/an--nas02_vg0-lv_boot lrwxrwxrwx. 1 root root 7 Oct 5 18:45 /dev/mapper/an--nas02_vg0-lv_boot -> ../dm-2 0 root at an-nas02:~# ls -lah /dev/dm-2 brw-rw----. 1 root disk 253, 2 Oct 5 18:45 /dev/dm-2 0 root at an-nas02:~# grub2-probe -d /dev/dm-2 *** Error in `grub2-probe': double free or corruption (fasttop): 0x0000000001e9cfd0 *** ======= Backtrace: ========/lib64/libc.so.6(+0x7d1ad)[0x7f9c702da1ad] <snip> Full error: http://fpaste.org/139387/41253399/ So I am wondering how I can make /dev/sdg bootable? A RAID 1 array is of limited use if I can only boot off of one of the disks. :) Thanks! -- Digimer Papers and Projects: https://alteeve.ca/w/ What if the cure for cancer is trapped in the mind of a person without access to education?
Digimer
2014-Oct-05 19:19 UTC
[CentOS] CentOS 7 - Have 2 disks, each with a biosboot partition, can only boot off one of them
On 05/10/14 02:37 PM, Digimer wrote:> Hi all, > > I used a kickstart script to setup a new machine of mine with RAID 1 > (I couldn't get anaconda to create matching partition schemes). So I've > now got /dev/sdg1 and /dev/sdh1 as 'bios_grub' (/dev/sd{a-f} are a > separate array). > > 0 root at an-nas02:~# parted /dev/sdg print free > Model: ATA ST3000NC000 (scsi) > Disk /dev/sdg: 3001GB > Sector size (logical/physical): 512B/4096B > Partition Table: gpt > Disk Flags: pmbr_boot > > Number Start End Size File system Name Flags > 17.4kB 1049kB 1031kB Free Space > 1 1049kB 3146kB 2097kB bios_grub > 2 3146kB 3001GB 3001GB raid > 3001GB 3001GB 466kB Free Space > > 0 root at an-nas02:~# parted /dev/sdh print free > Model: ATA ST3000NC000 (scsi) > Disk /dev/sdh: 3001GB > Sector size (logical/physical): 512B/4096B > Partition Table: gpt > Disk Flags: pmbr_boot > > Number Start End Size File system Name Flags > 17.4kB 1049kB 1031kB Free Space > 1 1049kB 3146kB 2097kB bios_grub > 2 3146kB 3001GB 3001GB raid > 3001GB 3001GB 466kB Free Space > > I can only boot off of /dev/sdh, so I tried to run 'grub2-install' > against /dev/sdg and it failed with this error: > > *** Error in `grub2-install': double free or corruption (fasttop): > 0x00000000010a83b0 *** > > (full error: http://fpaste.org/139382/25324161/) > > It seems like it's blowing up on grub2-probe, as I can generate the > same error. I tried specifying the device: > > 0 root at an-nas02:~# df -hP |grep boot > /dev/mapper/an--nas02_vg0-lv_boot 506M 133M 373M 27% /boot > > 0 root at an-nas02:~# lvdisplay /dev/an-nas02_vg0/lv_boot |grep VG > VG Name an-nas02_vg0 > > 0 root at an-nas02:~# pvdisplay /dev/md0 | grep -e "VG Name" -e "PV Name" > PV Name /dev/md0 > VG Name an-nas02_vg0 > > 0 root at an-nas02:~# cat /proc/mdstat |grep md0 > md0 : active raid1 sdg2[1] sdh2[0] > > 0 root at an-nas02:~# ls -lah /dev/mapper/an--nas02_vg0-lv_boot > lrwxrwxrwx. 1 root root 7 Oct 5 18:45 /dev/mapper/an--nas02_vg0-lv_boot > -> ../dm-2 > > 0 root at an-nas02:~# ls -lah /dev/dm-2 > brw-rw----. 1 root disk 253, 2 Oct 5 18:45 /dev/dm-2 > > 0 root at an-nas02:~# grub2-probe -d /dev/dm-2 > *** Error in `grub2-probe': double free or corruption (fasttop): > 0x0000000001e9cfd0 *** > ======= Backtrace: ========> /lib64/libc.so.6(+0x7d1ad)[0x7f9c702da1ad] > <snip> > > Full error: http://fpaste.org/139387/41253399/ > > So I am wondering how I can make /dev/sdg bootable? A RAID 1 array is > of limited use if I can only boot off of one of the disks. :) > > Thanks!I got the answer thanks to 'randomuser' on freenode's #centos; The problem seems to be that it couldn't handle the fact that /boot was an LV. By telling grub not to probe for an FS, it was able to finish successfully. I tested booting off both disks successfully: 0 root at an-nas02:~# grub2-install --grub-probe=/dev/null /dev/sda Installing for i386-pc platform. Installation finished. No error reported. Note that when I ran that, I had removed the other disks to prevent damage to the array I cared about, hence the s/sdg/sda/ above. -- Digimer Papers and Projects: https://alteeve.ca/w/ What if the cure for cancer is trapped in the mind of a person without access to education?