]> git.ipfire.org Git - thirdparty/mdadm.git/blob - tests/03r5assemV1
mdadm: improve the dlm locking mechanism for clustered raid
[thirdparty/mdadm.git] / tests / 03r5assemV1
1
2 # create a v-1 raid5 array and assemble in various ways
3
4 mdadm -CR -e1 --name one $md1 -l5 -n3 -x2 $dev0 $dev1 $dev2 $dev3 $dev4
5 tst="check raid5 ;testdev $md1 2 $mdsize1 512 ; mdadm -S $md1"
6 uuid=`mdadm -Db $md1 | sed 's/.*UUID=//'`
7 check wait
8
9 eval $tst
10
11 mdadm -A $md1 $dev0 $dev1 $dev2
12 mdadm $md1 --add $dev3 $dev4
13 check spares 2
14 eval $tst
15
16 mdadm -A $md1 -u $uuid $devlist
17 check spares 2
18 eval $tst
19
20 mdadm -A $md1 --name one $devlist
21 check spares 2
22 eval $tst
23
24
25 conf=$targetdir/mdadm.conf
26 {
27 echo DEVICE $devlist
28 echo array $md1 UUID=$uuid
29 } > $conf
30
31 mdadm -As -c $conf $md1
32 eval $tst
33
34 {
35 echo DEVICE $devlist
36 echo array $md1 name=one
37 } > $conf
38
39 mdadm -As -c $conf
40 eval $tst
41
42 {
43 echo DEVICE $devlist
44 echo array $md1 devices=$dev0,$dev1,$dev2,$dev3,$dev4
45 } > $conf
46
47 mdadm -As -c $conf
48
49 echo "DEVICE $devlist" > $conf
50 mdadm -Db $md1 >> $conf
51 eval $tst
52 mdadm --assemble --scan --config=$conf $md1
53 eval $tst
54 echo PING >&2
55
56 echo " metadata=1.0 devices=$dev0,$dev1,$dev2,$dev3,$dev4" >> $conf
57 mdadm --assemble --scan --config=$conf $md1
58 eval $tst
59
60 ### Now with a missing device
61 # We don't want the recovery to complete while we are
62 # messing about here.
63 echo 100 > /proc/sys/dev/raid/speed_limit_max
64 echo 100 > /proc/sys/dev/raid/speed_limit_min
65
66 mdadm -AR $md1 $dev0 $dev2 $dev3 $dev4 #
67 check state U_U
68 check spares 1
69 eval $tst
70
71 mdadm -A $md1 -u $uuid $devlist
72 check state U_U
73 eval $tst
74
75 mdadm -A $md1 --name=one $devlist
76 check state U_U
77 check spares 1
78 eval $tst
79
80
81 conf=$targetdir/mdadm.conf
82 {
83 echo DEVICE $devlist
84 echo array $md1 UUID=$uuid
85 } > $conf
86
87 mdadm -As -c $conf $md1
88 check state U_U
89 eval $tst
90
91 {
92 echo DEVICE $devlist
93 echo array $md1 name=one
94 } > $conf
95
96 mdadm -As -c $conf
97 check state U_U
98 eval $tst
99
100 {
101 echo DEVICE $devlist
102 echo array $md1 devices=$dev0,$dev1,$dev2
103 } > $conf
104
105 mdadm -As -c $conf
106
107 echo "DEVICE $devlist" > $conf
108 mdadm -Db $md1 >> $conf
109 check state U_U
110 eval $tst
111
112 mdadm --assemble --scan --config=$conf $md1
113 check state U_U
114 eval $tst
115
116 echo " metadata=1.0 devices=$dev0,$dev1,$dev2" >> $conf
117 mdadm --assemble --scan --config=$conf $md1
118 check state U_U
119 eval $tst
120
121 # And now assemble with -I
122 mdadm -Ss
123 mdadm -I -c $conf $dev0
124 mdadm -I -c $conf $dev1
125 mdadm -I -c $conf $dev2
126 eval $tst
127 echo 2000 > /proc/sys/dev/raid/speed_limit_max
128 echo 1000 > /proc/sys/dev/raid/speed_limit_min