[Bug 49914] Re: [->UUIDudev] initramfs/mdrun doesn't honor preferred minor when starting RAID volumes

Launchpad Bug Tracker 49914 at bugs.launchpad.net
Mon Jul 22 04:18:44 UTC 2013


[Expired for mdadm (Ubuntu) because there has been no activity for 60
days.]

** Changed in: mdadm (Ubuntu)
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mdadm in Ubuntu.
https://bugs.launchpad.net/bugs/49914

Title:
  [->UUIDudev] initramfs/mdrun doesn't honor preferred minor when
  starting RAID volumes

Status in “mdadm” package in Ubuntu:
  Expired

Bug description:
  On a Sun e420 during the install, I created my volumes as follows:

  /dev/sda1 /boot
  /dev/md0 /home  (/dev/sd[ab]8)
  /dev/md1 / (/dev/sd[ab]2)
  /dev/md2 /usr (/dev/sd[ab]4)
  /dev/md3 swap (/dev/sd[ab]5)
  /dev/md4 /tmp (/dev/sd[ab]6)
  /dev/md5 /var (/dev/sd[ab]7)

  and completed the install.  Upon reboot, my RAID volumes were started
  as:

  /dev/sda1 /boot
  /dev/md0 /
  /dev/md1 /usr
  /dev/md2 swap
  /dev/md3 /tmp
  /dev/md4 /var
  /dev/md5 /home

  apparently started in order of discovery (/dev/sda1 through
  /dev/sda8), not honoring the preferred minor or /etc/mdadm.conf, and
  rendering my system unbootable until I did some surgery.

  After the surgery, I patched to date (incl kernel 2.6.15-25) and did
  an event-free reboot.

  At this point, the raid volumes are:

  /dev/md0 /boot (/dev/sd[ab]1)
  /dev/md1 / (/dev/sd[ab]2)
  /dev/md2 /usr (/dev/sd[ab]4)
  /dev/md3 swap (/dev/sd[ab]5)
  /dev/md4 /tmp (/dev/sd[ab]6)
  /dev/md5 /var (/dev/sd[ab]7)
  /dev/md6 /home  (/dev/sd[ab]8)

  I created two raid volumes

  mdadm -C -l5 -c64 -n6 -x0 /dev/md11 /dev/sd[cdefgh]
  mdadm -C -l5 -c64 -n6 -x0 /dev/md12 /dev/sd[ijklmn]

  As you can see, my RAID volume components do have the preferred minor
  listed correctly prior to rebooting (the array is still building
  here):

  root at vali:~# mdadm -E /dev/sdc (d-h report similar)
  /dev/sdc:
            Magic : a92b4efc
          Version : 00.90.03
             UUID : 71063e4f:f3a0c78b:12a4584b:a8cd9402
    Creation Time : Thu Jun 15 15:21:36 2006
       Raid Level : raid5
     Raid Devices : 6
    Total Devices : 6
  Preferred Minor : 11

      Update Time : Thu Jun 15 15:28:42 2006
            State : clean
   Active Devices : 5
  Working Devices : 6
   Failed Devices : 1
    Spare Devices : 1
         Checksum : 54875fd8 - correct
           Events : 0.48

           Layout : left-symmetric
       Chunk Size : 64K

        Number   Major   Minor   RaidDevice State
  this     0       8       32        0      active sync   /dev/sdc

     0     0       8       32        0      active sync   /dev/sdc
     1     1       8       48        1      active sync   /dev/sdd
     2     2       8       64        2      active sync   /dev/sde
     3     3       8       80        3      active sync   /dev/sdf
     4     4       8       96        4      active sync   /dev/sdg
     5     5       0        0        5      faulty removed
     6     6       8      112        6      spare   /dev/sdh

  
  my mdadm.conf is set correctly:

  root at vali:~# cat /etc/mdadm/mdadm.conf
  DEVICE partitions
  DEVICE /dev/sd[cdefghijklmn]
  ARRAY /dev/md11 level=raid5 num-devices=6 UUID=71063e4f:f3a0c78b:12a4584b:a8cd9402
  ARRAY /dev/md12 level=raid5 num-devices=6 UUID=456e8cd0:0f23591b:14a0ff9f:1a302d54
  ARRAY /dev/md6 level=raid1 num-devices=2 UUID=4b33d5c5:80846d59:dba11e6d:814823f3
  ARRAY /dev/md5 level=raid1 num-devices=2 UUID=76f34ac9:d74a2d9c:d0fc0f95:eab326d2
  ARRAY /dev/md4 level=raid1 num-devices=2 UUID=0eed0b47:c6e81eea:3ed1c7a6:3ed2a756
  ARRAY /dev/md3 level=raid1 num-devices=2 UUID=1d626217:4d20944a:5dbbcb0d:dd7c6e3d
  ARRAY /dev/md2 level=raid1 num-devices=2 UUID=102303be:19a3252d:48a3f79e:33f16ce1
  ARRAY /dev/md1 level=raid1 num-devices=2 UUID=30eedd12:b5b69786:97b18df5:7efabcbf
  ARRAY /dev/md0 level=raid1 num-devices=2 UUID=9b28e9d5:944316d7:f0aacc8b:d5d82b98

  And yet when I reboot /dev/md11 is started as /dev/md7 and /dev/md12
  is started as /dev/md8.

  root at vali:~# cat /proc/mdstat
  Personalities : [raid1] [raid5]
  md8 : active raid5 sdi[0] sdn[6] sdm[4] sdl[3] sdk[2] sdj[1]
        177832000 blocks level 5, 64k chunk, algorithm 2 [6/5] [UUUUU_]
        [>....................]  recovery =  0.0% (28416/35566400) finish=561.1min speed=10520K/sec

  md7 : active raid5 sdc[0] sdh[6] sdg[4] sdf[3] sde[2] sdd[1]
        177832000 blocks level 5, 64k chunk, algorithm 2 [6/5] [UUUUU_]
        [>....................]  recovery =  0.0% (29184/35566400) finish=567.9min speed=10420K/sec

  md6 : active raid1 sda8[0] sdb8[1]
        6474112 blocks [2/2] [UU]

  md5 : active raid1 sda7[0] sdb7[1]
        14651200 blocks [2/2] [UU]

  md4 : active raid1 sda6[0] sdb6[1]
        995904 blocks [2/2] [UU]

  md3 : active raid1 sda5[0] sdb5[1]
        7815552 blocks [2/2] [UU]

  md2 : active raid1 sda4[0] sdb4[1]
        4996096 blocks [2/2] [UU]

  md1 : active raid1 sda2[0] sdb2[1]
        497920 blocks [2/2] [UU]

  md0 : active raid1 sda1[0] sdb1[1]
        120384 blocks [2/2] [UU]

  unused devices: <none>

  You'll notice that the preferred minor is set correctly:

  root at vali:~# mdadm -E /dev/sdc
  /dev/sdc:
            Magic : a92b4efc
          Version : 00.90.03
             UUID : 71063e4f:f3a0c78b:12a4584b:a8cd9402
    Creation Time : Thu Jun 15 15:21:36 2006
       Raid Level : raid5
     Raid Devices : 6
    Total Devices : 6
  Preferred Minor : 11

      Update Time : Thu Jun 15 15:28:42 2006
            State : clean
   Active Devices : 5
  Working Devices : 6
   Failed Devices : 1
    Spare Devices : 1
         Checksum : 54875fd8 - correct
           Events : 0.48

           Layout : left-symmetric
       Chunk Size : 64K

        Number   Major   Minor   RaidDevice State
  this     0       8       32        0      active sync   /dev/sdc

     0     0       8       32        0      active sync   /dev/sdc
     1     1       8       48        1      active sync   /dev/sdd
     2     2       8       64        2      active sync   /dev/sde
     3     3       8       80        3      active sync   /dev/sdf
     4     4       8       96        4      active sync   /dev/sdg
     5     5       0        0        5      faulty removed
     6     6       8      112        6      spare   /dev/sdh

  The preferred minor is available in the initramfs, so there's no
  reason it shouldn't be used to restart the arrays (for i in /dev/hd*
  /dev/sd*; do mdadm -E $i; done, etc..)

  I'm fairly certain that I've done similar non-linear md layouts in the
  past on Ubuntu (hoary/breezy), and it worked without problems,
  although I can't say that I've done any this way in Dapper.

  And before someone reads this and says I'm asking for trouble, it *is*
  possible to safely do a RAID1 /boot on Sparc without issues, but
  that's a separate issue.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/49914/+subscriptions




More information about the foundations-bugs mailing list