mdadm-1.6.0
[thirdparty/mdadm.git] / mdadm.conf.5
1 .TH MDADM.CONF 5
2 .SH NAME
3 mdadm.conf \- configuration for management of Software Raid with mdadm
4 .SH SYNOPSIS
5 /etc/mdadm.conf
6 .SH DESCRIPTION
7 .PP
8 .B mdadm
9 is a tool for creating, managing, and monitoring RAID devices using the
10 .B md
11 driver in Linux.
12 .PP
13 Some common tasks, such as assembling all arrays, can be simplified
14 by describing the devices and arrays in this configuration file.
15
16 .SS SYNTAX
17 The file should be seen as a collection of words separated by white
18 space (space, tab, or newline).
19 Any word that beings with a hash sign (#) starts a comment and that
20 word together with the remainder of the line is ignored.
21
22 Any line that starts with white space (space or tab) is treated as
23 though it were a continuation of the previous line.
24
25 Empty lines are ignored, but otherwise each (non continuation) line
26 must start with a keyword as listed below.  The keywords are case
27 insensitive and can be abbreviated to 3 characters.
28
29 The keywords are:
30 .TP
31 .B DEVICE
32 A
33 .B device
34 line lists the devices (whole devices or partitions) that might contain
35 a component of an MD array.  When looking for the components of an
36 array,
37 .B mdadm
38 will scan these devices (or any devices listed on the command line).
39
40 The
41 .B device
42 line may contain a number of different devices (separated by spaces)
43 and each device name can contain wild cards as defined by
44 .BR glob (7).
45
46 Also, there may be several device lines present in the file.
47
48 Alternatively, a
49 .B device
50 line can contain the word
51 .BR partitions .
52 This will cause
53 .I mdadm
54 to read
55 .I /proc/partitions
56 and include all devices and partitions found there-in.
57 .I mdadm
58 does not use the names from
59 .I /proc/partitions
60 but only the major and minor device numbers.  It scans
61 .I /dev
62 to find the name that matches the numbers.
63
64 For example:
65 .IP
66 DEVICE /dev/hda* /dev/hdc*
67 .br
68 DEV    /dev/sd*
69 .br
70 DEVICE /dev/discs/disc*/disc
71 .br
72 DEVICE partitions
73
74 .TP
75 .B ARRAY
76 The ARRAY lines identify actual arrays.  The second word on the line
77 should be the name of the device where the array is normally
78 assembled, such as
79 .BR  /dev/md1 .
80 Subsequent words identify the array, or identify the array as a member
81 of a group. If multiple identities are given,
82 then a component device must match ALL identities to be considered a
83 match.  Each identity word has a tag, and equals sign, and some value.
84 The tags are:
85
86 .RS 4
87 .TP
88 .B uuid=
89 The value should be a 128 bit uuid in hexadecimal, with punctuation
90 interspersed if desired.  This must match the uuid stored in the
91 superblock.
92 .TP
93 .B super-minor=
94 The value is an integer which indicates the minor number that was
95 stored in the superblock when the array was created. When an array is
96 created as /dev/mdX, then the minor number X is stored.
97 .TP
98 .B devices=
99 The value is a comma separated list of device names or device name
100 patterns.
101 Only devices with names which match one entry in the list will be used
102 to assemble the array.  Note that the devices 
103 listed there must also be listed on a DEVICE line.
104 .TP
105 .B level=
106 The value is a raid level.  This is not normally used to
107 identify an array, but is supported so that the output of
108
109 .B "mdadm --examine --scan"
110
111 can be use directly in the configuration file.
112 .TP
113 .B num-devices=
114 The value is the number of devices in a complete active array.  As with
115 .B level=
116 this is mainly for compatibility with the output of
117
118 .BR "mdadm --examine --scan" .
119
120 .TP
121 .B spare-group=
122 The value is a textual name for a group of arrays.  All arrays with
123 the same
124 .B spare-group
125 name are considered to be part of the same group.  The significance of
126 a group of arrays is that
127 .B mdadm
128 will, when monitoring the arrays, move a spare drive from one array in
129 a group to another array in that group if the first array had a failed
130 or missing drive but no spare.
131
132 .TP
133 .B auto=
134 This option declares to
135 .B mdadm
136 that it should try to create the device file of the array if it
137 doesn't already exist, or exists but with the wrong device number.
138
139 The value of this option can be "yes" or "md" to indicate that a
140 traditional, non-partitionable md array should be created, or "mdp",
141 "part" or "partition" to indicate that a partitionable md array (only
142 available in linux 2.6 and later) should be used.  This later set can
143 also have a number appended to indicate how many partitions to create
144 device files for, e.g.
145 .BR auto=mdp5 .
146 The default is 4.
147 .RE
148
149 .TP
150 .B MAILADDR
151 The
152 .B mailaddr
153 line gives an E-mail address that alerts should be
154 sent to when
155 .M mdadm
156 is running in
157 .B --monitor
158 mode (and was given the
159 .B --scan
160 option).  There should only be one
161 .B MAILADDR
162 line and it should have only one address.
163
164
165 .TP
166 .B PROGRAM
167 The
168 .B program
169 line gives the name of a program to be run when
170 .B "mdadm --monitor"
171 detects potentially interesting events on any of the arrays that it
172 is monitoring.  This program gets run with two or three arguments, they
173 being the Event, the md device, and possibly the related component
174 device.
175
176 There should only be one
177 .B program
178 line and it should be give only one program.
179
180 .SH EXAMPLE
181 DEVICE /dev/sd[bcdjkl]1
182 .br
183 DEVICE /dev/hda1 /dev/hdb1
184
185 # /dev/md0 is known by it's UID.
186 .br
187 ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
188 .br
189 # /dev/md1 contains all devices with a minor number of
190 .br
191 #   1 in the superblock.
192 .br
193 ARRAY /dev/md1 superminor=1
194 .br
195 # /dev/md2 is made from precisey these two devices
196 .br
197 ARRAY /dev/md2 devices=/dev/hda1,/dev/hda2
198
199 # /dev/md4 and /dev/md5 are a spare-group and spares
200 .br
201 #  can be moved between them
202 .br
203 ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df
204 .br
205            spare-group=group1
206 .br
207 ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977
208 .br
209            spare-group=group1
210 .br
211 # /dev/md/home is created if need to be a partitionable md array
212 .br
213 # any spare device number is allocated.
214 .br
215 ARRAY /dev/md/home UUID=9187a482:5dde19d9:eea3cc4a:d646ab8b
216 .br
217            auto=part
218
219 MAILADDR root@mydomain.tld
220 .br
221 PROGRAM /usr/sbin/handle-mdadm-events
222
223
224 .SH SEE ALSO
225 .BR mdadm (8),
226 .BR md (4).
227