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?