Bug 626201 - dracut fails to boot from dmraid sets on minimal installs
dracut fails to boot from dmraid sets on minimal installs
Status: CLOSED DEFERRED
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: dracut (Show other bugs)
6.0
All Linux
low Severity medium
: rc
: ---
Assigned To: Harald Hoyer
Release Test Team
:
Depends On:
Blocks: 626389
  Show dependency treegraph
 
Reported: 2010-08-22 13:29 EDT by Hans de Goede
Modified: 2010-10-20 22:28 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
When booting an IMSM/ISW RAID with dmraid but without mdadm, the mdadm package still needs to be installed on the system in a kickstart minimal install with the "noiswmd" or "rd_NO_MDIMSM" parameters specified.
Story Points: ---
Clone Of:
: 626389 (view as bug list)
Environment:
Last Closed: 2010-08-23 08:42:53 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
lsinitrd on initramfs with a minimal packageset (117.96 KB, text/plain)
2010-08-22 13:29 EDT, Hans de Goede
no flags Details
lsinitrd on initramfs with a default workstation packageset (133.41 KB, text/plain)
2010-08-22 13:30 EDT, Hans de Goede
no flags Details
dracut -v output on minimal system (6.49 MB, text/plain)
2010-08-22 13:32 EDT, Hans de Goede
no flags Details
dracut -v output on normal system (6.78 MB, text/plain)
2010-08-22 13:33 EDT, Hans de Goede
no flags Details

  None (edit)
Description Hans de Goede 2010-08-22 13:29:57 EDT
Created attachment 440235 [details]
lsinitrd on initramfs with a minimal packageset

Hi,

$subject says it all probably just some missing dependency. I'll attach lsinitrd and dracut -v --debug output for both a normal (working) and a minimal (non working) dmraid install.

Regards,

Hans
Comment 1 Hans de Goede 2010-08-22 13:30:40 EDT
Created attachment 440236 [details]
lsinitrd on initramfs with a default workstation packageset
Comment 3 Hans de Goede 2010-08-22 13:32:09 EDT
Created attachment 440237 [details]
dracut -v output on minimal system
Comment 4 Hans de Goede 2010-08-22 13:33:57 EDT
Created attachment 440239 [details]
dracut -v output on normal system
Comment 5 Harald Hoyer 2010-08-23 04:46:28 EDT
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-crypt.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-log-userspace.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-registry.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-replicator.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-repl-log-ringbuffer.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-repl-slink-blockdev.ko
-lib/modules/2.6.32-63.el6.x86_64/kernel/drivers/md/dm-zero.ko

These are the only relevant differences, I can see.
Comment 6 Harald Hoyer 2010-08-23 05:05:53 EDT
diff --git a/modules.d/90dm/installkernel b/modules.d/90dm/installkernel
index af51a22..f5a8ad9 100755
--- a/modules.d/90dm/installkernel
+++ b/modules.d/90dm/installkernel
@@ -1,9 +1,5 @@
 #!/bin/bash
 
-for i in \
-    dm-snapshot dm-delay dm-mirror dm-mod dm-queue-length \
-    dm-region-hash dm-round-robin dm-service-time dm-snapshot \
-    ; do
-    modinfo -k $kernel $i >/dev/null 2>&1 && instmods $i
-done
+instmods =drivers/md
+
 
Proposed fix
Comment 7 Phil Knirsch 2010-08-23 05:06:55 EDT
Talked with Harald about this issue. Proposing as a blocker for RHEL-6 GA as this would affect every minimal install using raid devices, leaving customers unable to boot. Fix is very easy: Simply hardwire inclusion the missing modules during initramfs generation.

Thanks & regards, Phil
Comment 8 Hans de Goede 2010-08-23 07:25:41 EDT
I've tried to reproduce this again, so that I could test the patch. And I've failed to reproduce. I don't understand how this has happened I've checked and double checked I could reproduce this before filing the bug ?

It does make sense though as I see no modules in the list of missing modules which are necessary for booting from dmraid sets. Sorry about this I suggest closing this as works for me.
Comment 9 Harald Hoyer 2010-08-23 08:16:58 EDT
Hmm, works for me, too. The only thing, which would not work is booting a isw raid without mdadm installed. This would require the following patch:


diff --git a/modules.d/90dmraid/parse-dm.sh b/modules.d/90dmraid/parse-dm.sh
index f031569..d34df10 100644
--- a/modules.d/90dmraid/parse-dm.sh
+++ b/modules.d/90dmraid/parse-dm.sh
@@ -3,3 +3,10 @@ if getarg rd_NO_DM || getarg nodmraid; then
     info "rd_NO_DM: removing DM RAID activation"
     udevproperty rd_NO_DM=1
 fi
+
+# noiswmd nodmraid for anaconda / rc.sysinit compatibility
+# note nodmraid really means nobiosraid, so we don't want MDIMSM then either
+if getarg rd_NO_MDIMSM || getarg noiswmd; then
+    info "rd_NO_MDIMSM: no MD RAID for imsm/isw raids"
+    udevproperty rd_NO_MDIMSM=1
+fi
Comment 10 Hans de Goede 2010-08-23 08:20:56 EDT
(In reply to comment #9)
> Hmm, works for me, too. The only thing, which would not work is booting a isw
> raid without mdadm installed. This would require the following patch:
> 
> 
> diff --git a/modules.d/90dmraid/parse-dm.sh b/modules.d/90dmraid/parse-dm.sh
> index f031569..d34df10 100644
> --- a/modules.d/90dmraid/parse-dm.sh
> +++ b/modules.d/90dmraid/parse-dm.sh
> @@ -3,3 +3,10 @@ if getarg rd_NO_DM || getarg nodmraid; then
>      info "rd_NO_DM: removing DM RAID activation"
>      udevproperty rd_NO_DM=1
>  fi
> +
> +# noiswmd nodmraid for anaconda / rc.sysinit compatibility
> +# note nodmraid really means nobiosraid, so we don't want MDIMSM then either
> +if getarg rd_NO_MDIMSM || getarg noiswmd; then
> +    info "rd_NO_MDIMSM: no MD RAID for imsm/isw raids"
> +    udevproperty rd_NO_MDIMSM=1
> +fi

Ah, thats it! My original testing was on an isw machine using noiswmd, my reproducer used a
nvidia raid machine as the isw one was doing production work.

noiswmd is broken in multiple ways in 6.0 anyways so better move this to 6.1
Comment 11 Harald Hoyer 2010-08-23 08:32:20 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
If you want to boot an IMSM/ISW raid with dmraid and without mdadm, you still have to install the mdadm oackage in a kickstart minimal install and have to specify "noiswmd" or "rd_NO_MDIMSM" on the kernel command line.
Comment 12 Harald Hoyer 2010-08-23 08:33:32 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If you want to boot an IMSM/ISW raid with dmraid and without mdadm, you still have to install the mdadm oackage in a kickstart minimal install and have to specify "noiswmd" or "rd_NO_MDIMSM" on the kernel command line.+If you want to boot an IMSM/ISW raid with dmraid and without mdadm, you still have to install the mdadm package in a kickstart minimal install and have to specify "noiswmd" or "rd_NO_MDIMSM" on the kernel command line.
Comment 13 Phil Knirsch 2010-08-23 08:36:27 EDT
As the original issue didn't seem to be the case the minor issue that Harald detected in comment #9 and Hans confirmed in comment #10 we'll move this to 6.1 but flag is a requiring a release note.

Removed blocker request and snap 13 target

Thanks & regards, Phil
Comment 14 Phil Knirsch 2010-08-23 08:42:53 EDT
Closed defered as we're going to fix this in 6.1, see clone bug #626389.

Keeping this tagged for 6.0 to allow release notes to pick up the text.

Thanks & regards, Phil
Comment 15 Ryan Lerch 2010-10-20 22:28:04 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If you want to boot an IMSM/ISW raid with dmraid and without mdadm, you still have to install the mdadm package in a kickstart minimal install and have to specify "noiswmd" or "rd_NO_MDIMSM" on the kernel command line.+When booting an IMSM/ISW RAID with dmraid but without mdadm, the mdadm package still needs to be installed on the system in a kickstart minimal install with the "noiswmd" or "rd_NO_MDIMSM" parameters specified.

Note You need to log in before you can comment on or make changes to this bug.