Bug#679214: grub-pc: Grub2 fails to boot from a degraded mdraid RAID6

Joni Orponen joni.orponen at gmail.com
Wed Jun 27 08:28:52 UTC 2012


Package: grub-pc
Version: 1.99-22.1
Severity: important
Tags: d-i

My setup:

Wheezy businesscard install daily build (2012-06-25)
MBR on disks
One partition per disk
6 disk mdraid RAID6
/ and /boot on LVM
/ and /boot as ext4 (in fact on the same partition)

The installer installs everything fine, but grub fails to boot. Grub
can see the ext4 partitions on the lvm just fine, but with various
levels of failure cannot read the contents of them (they are either
not read at all or then they are corrupted in various ways).

After booting into recovery mode and letting the raid array build
itself the system boots up just fine after the array has finished
syncing. This is an acceptable workaround for a home system, but not
really acceptable for production environments (rebooting with a
degraded array can cause major downtime while the array syncs in a
single user mode recovery environment; alternatively someone has to
rush on-site with a newer grub boot medium to boot the system
normally).

I believe this upstream bug to be the bug in question:

https://savannah.gnu.org/bugs/?35843

Upstream claims it fixed in a newer version.

I have cross-verified this myself by having had success with Fedora 17,
Arch and Gentoo and failing with both Debian (6, 7) and Ubuntu (10.04,
12.04). The difference being that Debian and Ubuntu are on grub-pc 1.9x
while both Arch and Fedora 17 are on grub-pc 2.0+ and the Gentoo in
question is on latest (circa 2012-06-25) bzr from the GNU savannah.

A proposed solution would be to either move forward to match upstream
or to go and cherry-pick and backport the relevant change in question.
I unfortunately do not have the expertise to help you with this
process.

This bug report is being sent from an unbootable test setup in Virtualbox.

I have tagged this report relevant to the Debian installer due to the
install process leaving an unbootable system without extra steps.

-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/sr0 /cdrom iso9660 ro,relatime 0 0
/dev/raid6/root / ext4 rw,relatime,user_xattr,barrier=1,stripe=512,data=ordered 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0)	/dev/disk/by-id/ata-VBOX_HARDDISK_VBa2b88522-1437d827
(hd1)	/dev/disk/by-id/ata-VBOX_HARDDISK_VBc9570229-0652b7c9
(hd2)	/dev/disk/by-id/ata-VBOX_HARDDISK_VB3cbd04d6-03d73061
(hd3)	/dev/disk/by-id/ata-VBOX_HARDDISK_VB773558b3-c023f499
(hd4)	/dev/disk/by-id/ata-VBOX_HARDDISK_VBc69b081d-32b67df7
(hd5)	/dev/disk/by-id/ata-VBOX_HARDDISK_VB61f4bc52-a54ccf46
*********************** END /boot/grub/device.map

*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
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 {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod raid
insmod raid6rec
insmod mdraid1x
insmod lvm
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(raid6-root)'
search --no-floppy --fs-uuid --set=root aac00a9a-fce6-4260-a61e-5ded48e5dcb9
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
  insmod raid
  insmod raid6rec
  insmod mdraid1x
  insmod lvm
  insmod part_msdos
  insmod part_msdos
  insmod part_msdos
  insmod part_msdos
  insmod part_msdos
  insmod part_msdos
  insmod ext2
  set root='(raid6-root)'
  search --no-floppy --fs-uuid --set=root aac00a9a-fce6-4260-a61e-5ded48e5dcb9
  set locale_dir=($root)/boot/grub/locale
  set lang=C
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod raid
insmod raid6rec
insmod mdraid1x
insmod lvm
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(raid6-root)'
search --no-floppy --fs-uuid --set=root aac00a9a-fce6-4260-a61e-5ded48e5dcb9
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod raid
	insmod raid6rec
	insmod mdraid1x
	insmod lvm
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(raid6-root)'
	search --no-floppy --fs-uuid --set=root aac00a9a-fce6-4260-a61e-5ded48e5dcb9
	echo	'Loading Linux 3.2.0-2-amd64 ...'
	linux	/boot/vmlinuz-3.2.0-2-amd64 root=/dev/mapper/raid6-root ro  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-3.2.0-2-amd64
}
menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod raid
	insmod raid6rec
	insmod mdraid1x
	insmod lvm
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(raid6-root)'
	search --no-floppy --fs-uuid --set=root aac00a9a-fce6-4260-a61e-5ded48e5dcb9
	echo	'Loading Linux 3.2.0-2-amd64 ...'
	linux	/boot/vmlinuz-3.2.0-2-amd64 root=/dev/mapper/raid6-root ro single 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-3.2.0-2-amd64
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### 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  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg

*********************** BEGIN /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
md0 : active raid6 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
      8589395968 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  3.2% (70128244/2147348992) finish=2405.1min speed=14393K/sec
      
unused devices: <none>
*********************** END /proc/mdstat

*********************** BEGIN LVM
  --- Volume group ---
  VG Name               raid6
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               8.00 TiB
  PE Size               4.00 MiB
  Total PE              2097020
  Alloc PE / Size       2097020 / 8.00 TiB
  Free  PE / Size       0 / 0   
  VG UUID               WV2qoh-4dW0-74xx-w0Rj-0wya-j7R6-DBfSsJ
   
  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               raid6
  PV Size               8.00 TiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2097020
  Free PE               0
  Allocated PE          2097020
  PV UUID               MQUEWz-nHOr-xLnD-NKdx-AU9F-fyEL-9dxren
   
  --- Logical volume ---
  LV Path                /dev/raid6/root
  LV Name                root
  VG Name                raid6
  LV UUID                fYhyut-5ahP-yt0w-nFET-sQFf-Zo13-kWFJjs
  LV Write Access        read/write
  LV Creation host, time d7, 2012-06-25 12:54:39 +0300
  LV Status              available
  # open                 1
  LV Size                232.83 GiB
  Current LE             59604
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/raid6/swap
  LV Name                swap
  VG Name                raid6
  LV UUID                IeRJMK-FKh4-2PSj-r2cw-G5Ho-Gt3f-iMVORL
  LV Write Access        read/write
  LV Creation host, time d7, 2012-06-25 12:54:48 +0300
  LV Status              available
  # open                 0
  LV Size                1.86 GiB
  Current LE             476
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/raid6/home
  LV Name                home
  VG Name                raid6
  LV UUID                Ff9jqj-lHZM-zptZ-czSp-075K-wBK1-jB3Oqc
  LV Write Access        read/write
  LV Creation host, time d7, 2012-06-25 12:54:54 +0300
  LV Status              available
  # open                 0
  LV Size                7.77 TiB
  Current LE             2036940
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
*********************** END LVM

*********************** BEGIN /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_CD-ROM_VB2-01700376 -> ../../sr0
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VB3cbd04d6-03d73061 -> ../../sdc
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VB3cbd04d6-03d73061-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VB61f4bc52-a54ccf46 -> ../../sdf
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VB61f4bc52-a54ccf46-part1 -> ../../sdf1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VB773558b3-c023f499 -> ../../sdd
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VB773558b3-c023f499-part1 -> ../../sdd1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VBa2b88522-1437d827 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VBa2b88522-1437d827-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VBc69b081d-32b67df7 -> ../../sde
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VBc69b081d-32b67df7-part1 -> ../../sde1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 ata-VBOX_HARDDISK_VBc9570229-0652b7c9 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 27 10:50 ata-VBOX_HARDDISK_VBc9570229-0652b7c9-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 md-name-d7:0 -> ../../md0
lrwxrwxrwx 1 root root  9 Jun 27 10:50 md-uuid-5439aa3f:bbfb2023:d96dc59c:5a80d7e4 -> ../../md0
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB3cbd04d6-03d73061 -> ../../sdc
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB3cbd04d6-03d73061-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB61f4bc52-a54ccf46 -> ../../sdf
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB61f4bc52-a54ccf46-part1 -> ../../sdf1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB773558b3-c023f499 -> ../../sdd
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VB773558b3-c023f499-part1 -> ../../sdd1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBa2b88522-1437d827 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBa2b88522-1437d827-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBc69b081d-32b67df7 -> ../../sde
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBc69b081d-32b67df7-part1 -> ../../sde1
lrwxrwxrwx 1 root root  9 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBc9570229-0652b7c9 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 27 10:50 scsi-SATA_VBOX_HARDDISK_VBc9570229-0652b7c9-part1 -> ../../sdb1
*********************** END /dev/disk/by-id

*********************** BEGIN /dev/disk/by-uuid
ls: cannot access /dev/disk/by-uuid: No such file or directory
*********************** END /dev/disk/by-uuid

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]  1.5.43
ii  grub-common            1.99-22.1
ii  grub-pc-bin            1.99-22.1
ii  grub2-common           1.99-22.1
ii  ucf                    3.0025+nmu3

grub-pc recommends no packages.

grub-pc suggests no packages.

-- debconf information:
  grub-pc/kopt_extracted: false
  grub2/kfreebsd_cmdline:
  grub2/device_map_regenerated:
* grub-pc/install_devices: /dev/disk/by-id/ata-VBOX_HARDDISK_VBa2b88522-1437d827, /dev/disk/by-id/ata-VBOX_HARDDISK_VBc9570229-0652b7c9, /dev/disk/by-id/ata-VBOX_HARDDISK_VB3cbd04d6-03d73061, /dev/disk/by-id/ata-VBOX_HARDDISK_VB773558b3-c023f499, /dev/disk/by-id/ata-VBOX_HARDDISK_VBc69b081d-32b67df7, /dev/disk/by-id/ata-VBOX_HARDDISK_VB61f4bc52-a54ccf46
  grub-pc/postrm_purge_boot_grub: false
  grub-pc/install_devices_failed_upgrade: true
  grub-pc/disk_description:
* grub2/linux_cmdline:
* grub-pc/install_devices_empty: true
  grub2/kfreebsd_cmdline_default: quiet
  grub-pc/partition_description:
  grub-pc/install_devices_failed: false
  grub-pc/install_devices_disks_changed:
* grub2/linux_cmdline_default:
  grub-pc/chainload_from_menu.lst: true
  grub-pc/mixed_legacy_and_grub2: true





More information about the Pkg-grub-devel mailing list