When in a multipath, boot from SAN environment, update-grub will make the system unbootable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Incomplete
|
High
|
Colin Watson |
Bug Description
Binary package hint: grub2
This was discovered on a bare metal install of Lucid AMD64 10.4.1 on an Intel IMS blade,
which utilizes an integrated Promise SAN with ALUA support: Active/Standby capabilities.
To reproduce
1) Install OS to normal, non mp device
2) Once OS is installed, add appropriate multipath.conf, scsi_dh_alua to
/etc/initramfs-
2a) Install multipath-tools and multipath-
3) reboot
4) run update-grub as a result of installing a new kernel , simply adjusting the
argument list, or for no reason at all.
At this point, the scripts seem to be unable to divine what the UUID of the backing store
should be and instead insert the MP device into /boot/grub/
to handle MP so on the next boot, grub simply fails, and the system is unbootable. grub-probe
appears to be the guilty party.
A trace of update-grub with "set -x" in the supporting scripts is attached in file grub-mp-failure.log
Here are the diffs between the working grub, and the one that is unbootable. Each grub config
and initrd was checkpointed along the way and included in grub-initrd-
$ diff -u grub.cfg-
--- grub.cfg-
+++ grub.cfg.
@@ -55,19 +55,15 @@
### BEGIN /etc/grub.
menuentry 'Ubuntu, with Linux 2.6.32-26-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
- insmod ext2
- set root='(hd0,1)'
- search --no-floppy --fs-uuid --set 0cfc57d4-
- linux /boot/vmlinuz-
+ set root='(
+ linux /boot/vmlinuz-
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 2.6.32-26-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
- insmod ext2
- set root='(hd0,1)'
- search --no-floppy --fs-uuid --set 0cfc57d4-
+ set root='(
echo 'Loading Linux 2.6.32-26-generic ...'
- linux /boot/vmlinuz-
+ linux /boot/vmlinuz-
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.
}
@@ -75,15 +71,11 @@
### BEGIN /etc/grub.
menuentry "Memory test (memtest86+)" {
- insmod ext2
- set root='(hd0,1)'
- search --no-floppy --fs-uuid --set 0cfc57d4-
+ set root='(
linux16 /boot/memtest86
}
menuentry "Memory test (memtest86+, serial console 115200)" {
- insmod ext2
- set root='(hd0,1)'
- search --no-floppy --fs-uuid --set 0cfc57d4-
+ set root='(
linux16 /boot/memtest86
}
### END /etc/grub.
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: grub-common 1.98-1ubuntu9 [modified: usr/sbin/
ProcVersionSign
Uname: Linux 2.6.32-26-generic x86_64
Architecture: amd64
Date: Thu Dec 9 23:51:05 2010
ProcEnviron:
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: grub2
Changed in grub2 (Ubuntu): | |
assignee: | nobody → Serge Hallyn (serge-hallyn) |
importance: | Undecided → High |
Tried the new grub from Natty, 1.99~20101126- 1ubuntu3 with similar results.
# dpkg -i grub*deb 1.99~20101126- 1ubuntu3_ amd64.deb) ... 1.99~20101126- 1ubuntu3_ amd64.deb) ... 1ubuntu3) ... d/00_header ... d/10_linux ... d/30_os- prober ...
(Reading database ... 41361 files and directories currently installed.)
Preparing to replace grub-common 1.98-1ubuntu9 (using grub-common_
Unpacking replacement grub-common ...
Replacing files in old package grub-pc ...
Preparing to replace grub-pc 1.98-1ubuntu9 (using grub-pc_
Unpacking replacement grub-pc ...
Setting up grub-common (1.99~20101126-
Installing new version of config file /etc/grub.
Installing new version of config file /etc/grub.
Installing new version of config file /etc/grub.
Processing triggers for man-db ... 1ubuntu3) ... d/05_debian_ theme ... img.conf in favour of grub-probe: error: no such disk. 222570001552265 2d-part1 failed. grub-probe --device- map="/boot/ grub/device. map" --target=fs -v /boot/grub" to <email address hidden> grub-probe: error: no such disk.
Processing triggers for install-info ...
Processing triggers for ureadahead ...
Setting up grub-pc (1.99~20101126-
Installing new version of config file /etc/grub.
Removing update-grub hooks from /etc/kernel-
/etc/kernel/ hooks.
Replacing config file /etc/default/grub with new version
/usr/sbin/
Auto-detection of a filesystem of /dev/mapper/
Please report this together with the output of "/usr/sbin/
Generating grub.cfg ...
/usr/sbin/
dpkg: error processing grub-pc (--install):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
grub-pc