Bug 724909

Summary: mkinitrd doesn't assemble non root and non resume devices
Product: [openSUSE] openSUSE 12.1 Reporter: Konrad Wolski <konwol123>
Component: InstallationAssignee: Neil Brown <nfbrown>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: bruno, mmarek
Version: Beta 1   
Target Milestone: ---   
Hardware: All   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: screenshot from error

Description Konrad Wolski 2011-10-18 15:16:17 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0b12) Gecko/20110222 Firefox/4.0b12

Install with following devices on software raid:

boot on md0 (mirroring)
root on lvm
swap on lvm

lvm made on md1 (stripping).

Just after reboot, boot can't be mounted because md0 isn't assembled by mkinitrd. As a workaround I commented the line in /etc/fstab so boot doesn't get mounted at all. This forces me to assemble and mount the filesystem before updating anything on /boot. I guess this will happen with other devices besides root and resume as well.

From initrd md script I see only /dev/md1 is assembled because it is a device with root filesystem. /dev/md0 isn't written anywhere on initrd. 

It occurs on both OpenSUSE 11.4 and 12.1 Beta. I didn't check other versions.

Reproducible: Always

Steps to Reproduce:
1. Install with software raid as described, just after reboot emergency console is enabled because a device from /etc/fstab can't be mounted.
Comment 1 Michal Marek 2011-10-19 08:40:35 UTC
mkinitrd is not supposed to mount /boot. This must be a problem with the /etc/init.d/boot.md script. Can you attach your /etc/mdadm.conf?
Comment 2 Konrad Wolski 2011-10-20 11:23:50 UTC
I confirm this is not mkinitrd bug. initialization procedure from root filesystem is already started.

This is inside mdadm.conf from initrd:

---
ARRAY /dev/md1 metadata=1.0 name=linux.site:1 UUID=06cdbfe8:2ad84215:e4d13bef:adcf1ada
---

after dump into console:

---
DEVICE containers partitions
ARRAY /dev/md0 UUID=8770a2e2:3a6793f5:4844a902:2442e0a9
ARRAY /dev/md1 UUID=06cdbfe8:2ad84215:e4d13bef:adcf1ada
---

my fstab looks like this:

---
/dev/vg1/swap        swap                 swap       defaults              0 0
/dev/vg1/root        /                    ext4       noatime,acl,user_xattr 1 1
#/dev/md0             /boot                ext4       noatime,acl,user_xattr 1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
---

Mind the commented /dev/md0 to continue the installation. I don't know where to look further.
Comment 3 Konrad Wolski 2011-10-20 11:26:18 UTC
Created attachment 457836 [details]
screenshot from error

Just after reboot, error message and dump into console.
Comment 4 Neil Brown 2011-10-25 01:13:44 UTC
Thanks for the extra info.

It looks like /etc/init.d/boot.md is suffering an extended delay.  It is started but it never completes.

The only thing I can see that would cause a delay is the 'udevadm settle',
though I don't know why that would take long.

Can you please edit /sys/config/mdadm and change

MDADM_DEVICE_TIMEOUT="60"

which should be the last line, to

MDADM_DEVICE_TIMEOUT="0"

and see if that avoids the problem.

Thanks.
Comment 5 Neil Brown 2011-10-25 03:28:03 UTC
Actually another possibility is that the mdadm.conf has the wrong uuid, or something like that.
Could you also report the output of

  mdadm -Es
Comment 6 Bruno Friedmann 2011-11-07 13:16:01 UTC
I've been hit by the same trouble. 
Resolved by replacing /dev/md[1-9] /boot line in /etc/fstab by it's UUID equivalent fix all trouble 

Now I've 
UUID=f25ecb65-b690-4c17-8572-fb7a74a1f546  /boot                ext4       noatime,acl,user_xattr,barrier=1 1 2

The uuid is coming from /dev/disk/by-uuid


mdadm -D /dev/md127
/dev/md127:
        Version : 1.0
  Creation Time : Thu Sep 29 22:07:37 2011
     Raid Level : raid1
     Array Size : 522228 (510.07 MiB 534.76 MB)
  Used Dev Size : 522228 (510.07 MiB 534.76 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Nov  7 14:13:19 2011
          State : active 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0


           Name : c-3po.vellerat.ioda.net:0  (local to host c-3po.vellerat.ioda.net)
           UUID : 1cdea130:9d2278c2:bb07c86a:6f6a19d0
         Events : 44

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       8       19        1      active sync   /dev/sdb3

ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Nov  7 10:20 85b92a0b-6396-45f4-b38b-bbbe02b4baad -> ../../dm-5
lrwxrwxrwx 1 root root  9 Nov  7 10:20 87714b7e-f290-40cf-a81f-4382b0008ed2 -> ../../md1
lrwxrwxrwx 1 root root 10 Nov  7 10:20 87f37dc4-4230-41b9-8e96-91c1e497ce63 -> ../../dm-6
lrwxrwxrwx 1 root root 10 Nov  7 10:20 88E1-2172 -> ../../sda1
lrwxrwxrwx 1 root root 10 Nov  7 10:20 8936-6563 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Nov  7 10:20 8A6A-6C62 -> ../../sda2
lrwxrwxrwx 1 root root 10 Nov  7 10:20 8AC5-6A8E -> ../../sdb2
lrwxrwxrwx 1 root root 10 Nov  7 10:20 9423b814-5af0-4897-b63c-5265d89cb93a -> ../../dm-3
lrwxrwxrwx 1 root root 10 Nov  7 10:20 a354e007-c302-43ed-875a-356aab4fca5b -> ../../dm-4
lrwxrwxrwx 1 root root 10 Nov  7 10:20 b87758f9-2405-450d-a10c-f29ca45a918a -> ../../dm-2
lrwxrwxrwx 1 root root 10 Nov  7 10:20 cbf0d682-a327-455a-afe9-5d00a7b2ca97 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Nov  7 10:20 eed040a2-eeef-4f23-9e8a-7f92b6c20726 -> ../../dm-7
lrwxrwxrwx 1 root root 11 Nov  7 10:20 f25ecb65-b690-4c17-8572-fb7a74a1f546 -> ../../md127


systemctl status md.service 
md.service - LSB: Multiple Device RAID
          Loaded: loaded (/etc/init.d/boot.md)
          Active: active (exited) since Mon, 07 Nov 2011 10:20:34 +0100; 3h 54min ago
         Process: 625 ExecStart=/etc/init.d/boot.md start (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/md.service

cat /etc/mdadm.conf 
DEVICE containers partitions
ARRAY /dev/md127 UUID=e190f191:81ca35c2:702c3f03:77903280
ARRAY /dev/md1 UUID=3efb3f60:bfb4210f:8ca3dc5d:f474fc7c
Comment 7 Neil Brown 2012-01-03 02:31:06 UTC
I believe this is the same bug as bug 738588
That one is fixed by a systemd update which is due out soon.
There are instruction in that bug for how to install the update before it is release.

If you try that and it doesn't fix the problem for you, please re-open this bug.

Thanks.

*** This bug has been marked as a duplicate of bug 738588 ***