cannot boot raid1 with only one disk
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools |
Fix Released
|
Undecided
|
Unassigned | ||
grub (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Hardy |
Fix Released
|
Medium
|
Unassigned | ||
initramfs-tools (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Hardy |
Fix Released
|
Medium
|
Unassigned | ||
mdadm (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Hardy |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The impact of the bug on users: Systems with root on a RAID array will not be able to boot if the array is degraded. Usrs affected by this will encounter an unusable system after a reboot (say, a kernel upgrade).
Justification for backporting the fix to the stable release: Hardy is a LTS edition. It is expected that people will continue to use this version and not upgrade to Intrepid. People who have upgrade from Dapper LTS to Hardy LTS are affected too.
TEST CASE
Build a clean system with root on RAID, with Ubuntu 8.04 LTS. Degrade the root array. Reboot and shiver.
A discussion of the regression potential of the patch and how users could get inadvertently effected.
- the only users that could be affected, as fas as know, are the ones that already made a workaround and altered their system files accordingly.
Binary package hint: mdadm
if i unplug one hd from raid1 i cannot successfully boot because raid starts only if all disks are available through
: "${MD_DEGRADED_
my workaround is:
/etc/initramfs-
#!/bin/sh
#
# Copyright <C2><A9> 2006 Martin F. Krafft <email address hidden>
# based on the scripts in the initramfs-tools package.
# released under the terms of the Artistic Licence.
#
# $Id: hook 281 2006-12-08 08:14:44Z madduck $
#
set -eu
PREREQ="udev"
prereqs()
{
echo "$PREREQ"
}
case ${1:-} in
prereqs)
prereqs
exit 0
;;
esac
MDADM=$(command -v mdadm 2>/dev/null) || :
[ -x $MDADM ] || exit 0
DESTCONFIG=
echo "MD_DEGRADED_ARGS=' '" >> $DESTCONFIG
exit 0
Changed in mdadm: | |
status: | New → Confirmed |
Changed in initramfs-tools: | |
assignee: | nobody → kirkland |
status: | New → Confirmed |
Changed in mdadm: | |
assignee: | nobody → kirkland |
importance: | Undecided → Medium |
milestone: | none → ubuntu-8.10 |
Changed in mdadm: | |
status: | Confirmed → Triaged |
Changed in initramfs-tools: | |
status: | Confirmed → In Progress |
Changed in mdadm: | |
status: | Triaged → In Progress |
Changed in initramfs-tools: | |
assignee: | nobody → kirkland |
status: | New → In Progress |
assignee: | kirkland → nobody |
status: | In Progress → Confirmed |
importance: | Undecided → Medium |
milestone: | none → ubuntu-8.10 |
Changed in initramfs-tools: | |
status: | In Progress → Fix Released |
Changed in mdadm: | |
status: | In Progress → Fix Released |
description: | updated |
Changed in initramfs-tools: | |
assignee: | nobody → kirkland |
status: | Confirmed → In Progress |
Changed in mdadm: | |
assignee: | nobody → kirkland |
milestone: | none → ubuntu-8.04.2 |
status: | Confirmed → In Progress |
Changed in initramfs-tools: | |
milestone: | none → ubuntu-8.04.2 |
Changed in grub: | |
assignee: | nobody → kirkland |
importance: | Undecided → Medium |
milestone: | none → ubuntu-8.04.2 |
status: | New → In Progress |
status: | New → Fix Released |
Changed in grub: | |
status: | In Progress → Fix Released |
Changed in initramfs-tools: | |
status: | In Progress → Fix Released |
Changed in mdadm: | |
status: | In Progress → Fix Released |
Sorry folks, being tooo fast.
This is not working if all discs are present, now i understand the include of MD_DEGRADED_ARGS
my new workaround is to add a bootmenue entry in grub
title Ubuntu, kernel 2.6.20-16-generic (raid defect) 2.6.20- 16-generic root=/dev/md1 ro raid_degraded img-2.6. 20-16-generic
root (hd0,1)
kernel /boot/vmlinuz-
initrd /boot/initrd.
and /etc/initramfs- tools/scripts/ init-premount/ raid_degraded
#!/bin/sh
set -eu
PREREQ="udev"
prereqs()
{
echo "$PREREQ"
}
case ${1:-} in
prereqs)
prereqs
exit 0
;;
*)
. /scripts/functions
;;
esac
if [ -e /scripts/ local-top/ md ]; then
log_warning_msg "old md initialisation script found, getting out of its way..."
exit 1
fi
MDADM=$(command -v mdadm)
[ -x $MDADM ] || exit 0
if grep raid_degraded /proc/cmdline 2>/dev/null; then
echo "MD_DEGRADED_ARGS=' '" >> /conf/md.conf
fi
exit 0
now if a disc is defect and i will to start only with one disc i choose raid defect from bootmenu