mdadm - sort drive order

Pete Huckelba redhat at stata.com
Sat May 22 14:44:01 UTC 2010


I have a raid 6 array where the drive order is driving me crazy:

Personalities : [raid6] [raid5] [raid4] [raid1]
md0 : active raid1 sdf1[2](S) sde1[1] sdd1[0] sdc1[3](S) sdb1[4](S) 
sda1[5](S)
       1052160 blocks [2/2] [UU]

md1 : active raid6 sdf2[5](S) sde2[4] sdd2[3] sdc2[2] sdb2[1] sda2[0]
       3156480 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

md2 : active raid6 sdf3[5](S) sde3[4] sdd3[3] sdc3[2] sdb3[1] sda3[0]
       921608448 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

md3 : active raid6 sdf5[5](S) sde5[4] sdd5[3] sdc5[2] sdb5[0] sda5[1]
       614389248 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

md5 : active raid6 sdf7[5](S) sde7[4] sdd7[3] sdc7[2] sdb7[0] sda7[1]
       307194624 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

md6 : active raid6 sdf8[5](S) sde8[4] sdd8[3] sdc8[2] sdb8[0] sda8[1]
       466382592 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

md4 : active raid6 sdf6[5](S) sde6[4] sdd6[3] sdc6[2] sdb6[0] sda6[1]
       614389248 blocks level 6, 256k chunk, algorithm 2 [5/5] [UUUUU]

unused devices: <none>

Obviously, md0 is raid 1 with multiple failover devices, md1-6 are the 
raid 6 in question.  Note how md1-2 designate sdb2-3[1] and sda2-3[0] 
while md3-6 designate sdb*[0] and sda*[1].  While I presume I can 
fail/remove/add the partitions in question by hand to get them in order 
(IE: sda*[0] and sdb*[1]), syncing several TB of data is a long process. 
  Is there an easier way to change this order or am I being overly 
concerned with a trivial matter?  If needed, mdadm.conf was created by 
anaconda as seen here:

# mdadm.conf written out by anaconda
DEVICE partitions
MAILADDR root
ARRAY /dev/md4 level=raid6 num-devices=6 
uuid=389d58ca:7927bde0:4149c722:85a03481
ARRAY /dev/md6 level=raid6 num-devices=6 
uuid=b31e2df3:14169935:f4c587be:06aa90f4
ARRAY /dev/md5 level=raid6 num-devices=6 
uuid=b9d8043d:64d1baf7:ab2833fc:5c80aeaa
ARRAY /dev/md3 level=raid6 num-devices=6 
uuid=7e71923f:32252f42:ac66fc1f:c0030f6c
ARRAY /dev/md2 level=raid6 num-devices=6 
uuid=14889f60:c9eac083:8dce6adc:499ea54e
ARRAY /dev/md0 level=raid1 num-devices=6 
uuid=efbcdb06:9209f0e4:511b811b:cd488921
ARRAY /dev/md1 level=raid6 num-devices=6 
uuid=de28887d:724c84e9:493f2cfc:edaa78c7


I presume I can just hit mdadm.conf and specify the arrays like:

ARRAY /dev/md2 level=raid6 num-devices=6 spares=1 
devices=/dev/sda3[0],/dev/sdb3[1],/dev/sdc3[2],/dev/sdd3[3],/dev/sde3[4]

but does mdadm respect the order in which devices are listed?  I am also 
not certain if I should list the spare in that array.  Thanks for any 
insight.

-Pete


More information about the users mailing list