]> git.ipfire.org Git - thirdparty/mdadm.git/blame - mdadm.conf.5
Fix tests on ->container and ->member
[thirdparty/mdadm.git] / mdadm.conf.5
CommitLineData
519561f7
NB
1.\" Copyright Neil Brown and others.
2.\" This program is free software; you can redistribute it and/or modify
3.\" it under the terms of the GNU General Public License as published by
4.\" the Free Software Foundation; either version 2 of the License, or
5.\" (at your option) any later version.
6.\" See file COPYING in distribution for details.
56eb10c0
NB
7.TH MDADM.CONF 5
8.SH NAME
93e790af 9mdadm.conf \- configuration for management of Software RAID with mdadm
56eb10c0
NB
10.SH SYNOPSIS
11/etc/mdadm.conf
12.SH DESCRIPTION
13.PP
51ac42e3 14.I mdadm
11a3e71d 15is a tool for creating, managing, and monitoring RAID devices using the
56eb10c0
NB
16.B md
17driver in Linux.
18.PP
19Some common tasks, such as assembling all arrays, can be simplified
2d465520 20by describing the devices and arrays in this configuration file.
56eb10c0
NB
21
22.SS SYNTAX
23The file should be seen as a collection of words separated by white
24space (space, tab, or newline).
11a3e71d 25Any word that beings with a hash sign (#) starts a comment and that
2d465520 26word together with the remainder of the line is ignored.
56eb10c0 27
2d465520 28Any line that starts with white space (space or tab) is treated as
56eb10c0
NB
29though it were a continuation of the previous line.
30
31Empty lines are ignored, but otherwise each (non continuation) line
2d465520 32must start with a keyword as listed below. The keywords are case
e0d19036 33insensitive and can be abbreviated to 3 characters.
56eb10c0
NB
34
35The keywords are:
36.TP
37.B DEVICE
38A
39.B device
40line lists the devices (whole devices or partitions) that might contain
41a component of an MD array. When looking for the components of an
42array,
51ac42e3 43.I mdadm
2d465520 44will scan these devices (or any devices listed on the command line).
56eb10c0
NB
45
46The
47.B device
48line may contain a number of different devices (separated by spaces)
49and each device name can contain wild cards as defined by
50.BR glob (7).
51
52Also, there may be several device lines present in the file.
53
5787fa49
NB
54Alternatively, a
55.B device
8fd8d9c4
N
56line can contain either of both of the words
57.B containers
58and
5787fa49 59.BR partitions .
8fd8d9c4
N
60The word
61.B containers
62will cause
63.I mdadm
64to look for assembled CONTAINER arrays and included them as a source
65for assembling further arrays.
66.PP
67The word
68.I partitions
69will cause
5787fa49
NB
70.I mdadm
71to read
72.I /proc/partitions
35cc5be4 73and include all devices and partitions found therein.
5787fa49
NB
74.I mdadm
75does not use the names from
76.I /proc/partitions
77but only the major and minor device numbers. It scans
78.I /dev
79to find the name that matches the numbers.
80
8fd8d9c4 81If no DEVICE line is present, then "DEVICE partitions containers" is assumed.
a99d6b66 82
11a3e71d
NB
83For example:
84.IP
85DEVICE /dev/hda* /dev/hdc*
86.br
87DEV /dev/sd*
88.br
89DEVICE /dev/discs/disc*/disc
5787fa49
NB
90.br
91DEVICE partitions
11a3e71d 92
56eb10c0
NB
93.TP
94.B ARRAY
11a3e71d 95The ARRAY lines identify actual arrays. The second word on the line
8fd8d9c4 96may be the name of the device where the array is normally
11a3e71d
NB
97assembled, such as
98.BR /dev/md1 .
112cace6
N
99Alternately the word
100.B <ignore>
101(complete with angle brackets) can be given in which case any array
102which matches the rest of the line will never be automatically assembled.
8fd8d9c4
N
103If no device name is given,
104.I mdadm
105will use various heuristic to determine an appropriate name.
106.PP
e0d19036
NB
107Subsequent words identify the array, or identify the array as a member
108of a group. If multiple identities are given,
2d465520
NB
109then a component device must match ALL identities to be considered a
110match. Each identity word has a tag, and equals sign, and some value.
111The tags are:
11a3e71d
NB
112
113.RS 4
114.TP
115.B uuid=
116The value should be a 128 bit uuid in hexadecimal, with punctuation
117interspersed if desired. This must match the uuid stored in the
118superblock.
119.TP
947fd4dd
NB
120.B name=
121The value should be a simple textual name as was given to
122.I mdadm
123when the array was created. This must match the name stored in the
124superblock on a device for that device to be included in the array.
35cc5be4 125Not all superblock formats support names.
947fd4dd 126.TP
7e23fc43 127.B super\-minor=
11a3e71d
NB
128The value is an integer which indicates the minor number that was
129stored in the superblock when the array was created. When an array is
130created as /dev/mdX, then the minor number X is stored.
131.TP
132.B devices=
56eedc1a
NB
133The value is a comma separated list of device names or device name
134patterns.
135Only devices with names which match one entry in the list will be used
136to assemble the array. Note that the devices
11a3e71d
NB
137listed there must also be listed on a DEVICE line.
138.TP
139.B level=
140The value is a raid level. This is not normally used to
141identify an array, but is supported so that the output of
142
7e23fc43 143.B "mdadm \-\-examine \-\-scan"
11a3e71d
NB
144
145can be use directly in the configuration file.
146.TP
7e23fc43 147.B num\-devices=
b83d95f3 148The value is the number of devices in a complete active array. As with
11a3e71d
NB
149.B level=
150this is mainly for compatibility with the output of
56eb10c0 151
7e23fc43 152.BR "mdadm \-\-examine \-\-scan" .
e0d19036 153
058574b1
NB
154.TP
155.B spares=
156The value is a number of spare devices to expect the array to have.
7e23fc43 157.B mdadm \-\-monitor
058574b1
NB
158will report an array if it is found to have fewer than this number of
159spares when
7e23fc43 160.B \-\-monitor
058574b1 161starts or when
7e23fc43 162.B \-\-oneshot
058574b1
NB
163is used.
164
e0d19036 165.TP
7e23fc43 166.B spare\-group=
e0d19036
NB
167The value is a textual name for a group of arrays. All arrays with
168the same
7e23fc43 169.B spare\-group
e0d19036
NB
170name are considered to be part of the same group. The significance of
171a group of arrays is that
51ac42e3 172.I mdadm
e0d19036
NB
173will, when monitoring the arrays, move a spare drive from one array in
174a group to another array in that group if the first array had a failed
175or missing drive but no spare.
dd0781e5
NB
176
177.TP
178.B auto=
179This option declares to
51ac42e3 180.I mdadm
dd0781e5
NB
181that it should try to create the device file of the array if it
182doesn't already exist, or exists but with the wrong device number.
183
184The value of this option can be "yes" or "md" to indicate that a
185traditional, non-partitionable md array should be created, or "mdp",
186"part" or "partition" to indicate that a partitionable md array (only
187available in linux 2.6 and later) should be used. This later set can
188also have a number appended to indicate how many partitions to create
189device files for, e.g.
190.BR auto=mdp5 .
191The default is 4.
7ef02d01
NB
192
193.TP
194.B bitmap=
195The option specifies a file in which a write-intent bitmap should be
196found. When assembling the array,
197.I mdadm
198will provide this file to the
199.B md
200driver as the bitmap file. This has the same function as the
7e23fc43 201.B \-\-bitmap\-file
7ef02d01 202option to
7e23fc43 203.BR \-\-assemble .
058574b1
NB
204
205.TP
206.B metadata=
207Specify the metadata format that the array has. This is mainly
208recognised for comparability with the output of
7e23fc43 209.BR "mdadm \-Es" .
058574b1 210
8fd8d9c4
N
211.TP
212.B container=
213Specify that this array is a member array of some container. The
214value given can be either a path name in /dev, or a UUID of the
215container array.
216
217.IP
218.B member=
219Specify that this array is a member array of some container. Each
220type of container has some way to enumerate member arrays, often a
221simple sequence number. The value identifies which member of a
222container the array is. It will usually accompany a 'container=' word.
11a3e71d 223.RE
e0d19036
NB
224
225.TP
226.B MAILADDR
227The
228.B mailaddr
229line gives an E-mail address that alerts should be
230sent to when
51ac42e3 231.I mdadm
e0d19036 232is running in
7e23fc43 233.B \-\-monitor
e0d19036 234mode (and was given the
7e23fc43 235.B \-\-scan
e0d19036
NB
236option). There should only be one
237.B MAILADDR
238line and it should have only one address.
239
240
4948b8f7
NB
241.TP
242.B MAILFROM
243The
244.B mailfrom
93e790af 245line (which can only be abbreviated to at least 5 characters) gives an
4948b8f7
NB
246address to appear in the "From" address for alert mails. This can be
247useful if you want to explicitly set a domain, as the default from
248address is "root" with no domain. All words on this line are
249catenated with spaces to form the address.
250
251Note that this value cannot be set via the
252.I mdadm
253commandline. It is only settable via the config file.
254
e0d19036
NB
255.TP
256.B PROGRAM
257The
258.B program
259line gives the name of a program to be run when
7e23fc43 260.B "mdadm \-\-monitor"
e0d19036
NB
261detects potentially interesting events on any of the arrays that it
262is monitoring. This program gets run with two or three arguments, they
263being the Event, the md device, and possibly the related component
264device.
265
266There should only be one
267.B program
268line and it should be give only one program.
269
5bbb4842
NB
270
271.TP
272.B CREATE
273The
274.B create
058574b1 275line gives default values to be used when creating arrays and device entries for
5bbb4842
NB
276arrays.
277These include:
278
279.RS 4
280.TP
281.B owner=
282.TP
283.B group=
284These can give user/group ids or names to use instead of system
285defaults (root/wheel or root/disk).
286.TP
287.B mode=
288An octal file mode such as 0660 can be given to override the default
289of 0600.
290.TP
291.B auto=
292This corresponds to the
7e23fc43 293.B \-\-auto
5bbb4842
NB
294flag to mdadm. Give
295.BR yes ,
296.BR md ,
297.BR mdp ,
298.B part
b3f1c093 299\(em possibly followed by a number of partitions \(em to indicate how
5bbb4842
NB
300missing device entries should be created.
301
058574b1
NB
302.TP
303.B metadata=
304The name of the metadata format to use if none is explicitly given.
305This can be useful to impose a system-wide default of version-1 superblocks.
306
38098016
NB
307.TP
308.B symlinks=no
309Normally when creating devices in
310.B /dev/md/
311.I mdadm
312will create a matching symlink from
313.B /dev/
314with a name starting
315.B md
316or
317.BR md_ .
318Give
16c4849b 319.B symlinks=no
38098016 320to suppress this symlink creation.
5bbb4842
NB
321.RE
322
6d6de2ee
NB
323.TP
324.B HOMEHOST
325The
326.B homehost
327line gives a default value for the
328.B --homehost=
329option to mdadm. There should be exactly one other word on the line.
330It should either exactly
331.B <system>
332or a host name.
333If
334.B <system>
335is given, then the
336.BR gethostname ( 2 )
337systemcall is used to get the host name.
338When arrays are created, this host name will be stored in the
339metadata. When arrays are assembled using auto-assembly, only arrays
340with this host name stored in the metadata will be considered.
5bbb4842 341
31015d57
N
342.TP
343.B AUTO
344A list of names of metadata format can be given, each preceded by a
345plus or minus sign. Also the word
346.I all
347preceded by plus or minus is allowed and is usually last.
348
349When
350.I mdadm
351is auto-assembling an array, with via
352.I --assemble
353or
354.I --incremental
355and it finds metadata of a given type, it checks that metadata type
356against those listed in this line. The first match wins, where
357.I all
358matches anything.
359If a match is found that was preceded by a plus sign, the auto
360assembly is allowed. If the match was preceded by a minus sign, the
361auto assembly is disallowed. If no match is found, the auto assembly
362is allowed.
363
364This can be used to disable all auto-assembly (so that only arrays
365explicitly listed in mdadm.conf or on the command line are assembled),
366or to disable assembly of certain metadata types which might be
367handled by other software.
368
369The known metadata types are
370.BR 0.90 ,
371.BR 1.x ,
372.BR ddf ,
373.BR imsm .
374
2d465520
NB
375.SH EXAMPLE
376DEVICE /dev/sd[bcdjkl]1
377.br
378DEVICE /dev/hda1 /dev/hdb1
379
0e69da72 380# /dev/md0 is known by its UUID.
2d465520
NB
381.br
382ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
383.br
384# /dev/md1 contains all devices with a minor number of
385.br
386# 1 in the superblock.
387.br
388ARRAY /dev/md1 superminor=1
389.br
93e790af 390# /dev/md2 is made from precisely these two devices
2d465520 391.br
a9d69660 392ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1
2d465520
NB
393
394# /dev/md4 and /dev/md5 are a spare-group and spares
395.br
396# can be moved between them
397.br
398ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df
399.br
7e23fc43 400 spare\-group=group1
2d465520
NB
401.br
402ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977
403.br
7e23fc43 404 spare\-group=group1
dd0781e5
NB
405.br
406# /dev/md/home is created if need to be a partitionable md array
407.br
408# any spare device number is allocated.
409.br
410ARRAY /dev/md/home UUID=9187a482:5dde19d9:eea3cc4a:d646ab8b
411.br
412 auto=part
2d465520
NB
413
414MAILADDR root@mydomain.tld
415.br
7e23fc43 416PROGRAM /usr/sbin/handle\-mdadm\-events
5bbb4842 417.br
7e23fc43 418CREATE group=system mode=0640 auto=part\-8
41a3b72a
NB
419.br
420HOMEHOST <system>
31015d57
N
421.br
422AUTO +1.x -all
e0d19036 423
56eb10c0 424.SH SEE ALSO
11a3e71d
NB
425.BR mdadm (8),
426.BR md (4).
56eb10c0 427