]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.conf.5
Fix for possible NULL pointer dereference.
[thirdparty/mdadm.git] / mdadm.conf.5
index 4807055be07026ac40e9d7ce4238d2bac95be178..002e2b37f85050c5c295c854b11c71b1624c011d 100644 (file)
@@ -1,9 +1,9 @@
-''' Copyright Neil Brown and others.
-'''   This program is free software; you can redistribute it and/or modify
-'''   it under the terms of the GNU General Public License as published by
-'''   the Free Software Foundation; either version 2 of the License, or
-'''   (at your option) any later version.
-''' See file COPYING in distribution for details.
+.\" Copyright Neil Brown and others.
+.\"   This program is free software; you can redistribute it and/or modify
+.\"   it under the terms of the GNU General Public License as published by
+.\"   the Free Software Foundation; either version 2 of the License, or
+.\"   (at your option) any later version.
+.\" See file COPYING in distribution for details.
 .TH MDADM.CONF 5
 .SH NAME
 mdadm.conf \- configuration for management of Software RAID with mdadm
 .TH MDADM.CONF 5
 .SH NAME
 mdadm.conf \- configuration for management of Software RAID with mdadm
@@ -11,7 +11,7 @@ mdadm.conf \- configuration for management of Software RAID with mdadm
 /etc/mdadm.conf
 .SH DESCRIPTION
 .PP
 /etc/mdadm.conf
 .SH DESCRIPTION
 .PP
-.B mdadm
+.I mdadm
 is a tool for creating, managing, and monitoring RAID devices using the
 .B md
 driver in Linux.
 is a tool for creating, managing, and monitoring RAID devices using the
 .B md
 driver in Linux.
@@ -40,7 +40,7 @@ A
 line lists the devices (whole devices or partitions) that might contain
 a component of an MD array.  When looking for the components of an
 array,
 line lists the devices (whole devices or partitions) that might contain
 a component of an MD array.  When looking for the components of an
 array,
-.B mdadm
+.I mdadm
 will scan these devices (or any devices listed on the command line).
 
 The
 will scan these devices (or any devices listed on the command line).
 
 The
@@ -53,9 +53,20 @@ Also, there may be several device lines present in the file.
 
 Alternatively, a
 .B device
 
 Alternatively, a
 .B device
-line can contain the word
+line can contain either of both of the  words
+.B containers
+and
 .BR partitions .
 .BR partitions .
-This will cause
+The word
+.B containers
+will cause
+.I mdadm
+to look for assembled CONTAINER arrays and included them as a source
+for assembling further arrays.
+
+The word
+.I partitions
+will cause
 .I mdadm
 to read
 .I /proc/partitions
 .I mdadm
 to read
 .I /proc/partitions
@@ -67,7 +78,7 @@ but only the major and minor device numbers.  It scans
 .I /dev
 to find the name that matches the numbers.
 
 .I /dev
 to find the name that matches the numbers.
 
-If no DEVICE line is present, then "DEVICE partitions" is assumed.
+If no DEVICE line is present, then "DEVICE partitions containers" is assumed.
 
 For example:
 .IP
 
 For example:
 .IP
@@ -75,22 +86,35 @@ DEVICE /dev/hda* /dev/hdc*
 .br
 DEV    /dev/sd*
 .br
 .br
 DEV    /dev/sd*
 .br
-DEVICE /dev/discs/disc*/disc
+DEVICE /dev/disk/by-path/pci*
 .br
 DEVICE partitions
 
 .TP
 .B ARRAY
 The ARRAY lines identify actual arrays.  The second word on the line
 .br
 DEVICE partitions
 
 .TP
 .B ARRAY
 The ARRAY lines identify actual arrays.  The second word on the line
-should be the name of the device where the array is normally
+may be the name of the device where the array is normally
 assembled, such as
 assembled, such as
-.BR  /dev/md1 .
+.B /dev/md1
+or
+.BR /dev/md/backup .
+If the name does not start with a slash
+.RB (' / '),
+it is treated as being in
+.BR /dev/md/ .
+Alternately the word
+.B <ignore>
+(complete with angle brackets) can be given in which case any array
+which matches the rest of the line will never be automatically assembled.
+If no device name is given,
+.I mdadm
+will use various heuristics to determine an appropriate name.
+
 Subsequent words identify the array, or identify the array as a member
 of a group. If multiple identities are given,
 then a component device must match ALL identities to be considered a
 match.  Each identity word has a tag, and equals sign, and some value.
 The tags are:
 Subsequent words identify the array, or identify the array as a member
 of a group. If multiple identities are given,
 then a component device must match ALL identities to be considered a
 match.  Each identity word has a tag, and equals sign, and some value.
 The tags are:
-
 .RS 4
 .TP
 .B uuid=
 .RS 4
 .TP
 .B uuid=
@@ -135,6 +159,7 @@ this is mainly for compatibility with the output of
 .TP
 .B spares=
 The value is a number of spare devices to expect the array to have.
 .TP
 .B spares=
 The value is a number of spare devices to expect the array to have.
+The sole use of this keyword and value is as follows:
 .B mdadm \-\-monitor
 will report an array if it is found to have fewer than this number of
 spares when
 .B mdadm \-\-monitor
 will report an array if it is found to have fewer than this number of
 spares when
@@ -150,17 +175,22 @@ the same
 .B spare\-group
 name are considered to be part of the same group.  The significance of
 a group of arrays is that
 .B spare\-group
 name are considered to be part of the same group.  The significance of
 a group of arrays is that
-.B mdadm
+.I mdadm
 will, when monitoring the arrays, move a spare drive from one array in
 a group to another array in that group if the first array had a failed
 or missing drive but no spare.
 
 .TP
 .B auto=
 will, when monitoring the arrays, move a spare drive from one array in
 a group to another array in that group if the first array had a failed
 or missing drive but no spare.
 
 .TP
 .B auto=
-This option declares to
-.B mdadm
-that it should try to create the device file of the array if it
-doesn't already exist, or exists but with the wrong device number.
+This option is rarely needed with mdadm-3.0, particularly if use with
+the Linux kernel v2.6.28 or later.
+It tells
+.I mdadm
+whether to use partitionable array or non-partitionable arrays and,
+in the absence of
+.IR udev ,
+how many partition devices to create.  From 2.6.28 all md array
+devices are partitionable, hence this option is not needed.
 
 The value of this option can be "yes" or "md" to indicate that a
 traditional, non-partitionable md array should be created, or "mdp",
 
 The value of this option can be "yes" or "md" to indicate that a
 traditional, non-partitionable md array should be created, or "mdp",
@@ -189,6 +219,18 @@ Specify the metadata format that the array has.  This is mainly
 recognised for comparability with the output of
 .BR "mdadm \-Es" .
 
 recognised for comparability with the output of
 .BR "mdadm \-Es" .
 
+.TP
+.B container=
+Specify that this array is a member array of some container.  The
+value given can be either a path name in /dev, or a UUID of the
+container array.
+
+.TP
+.B member=
+Specify that this array is a member array of some container.  Each
+type of container has some way to enumerate member arrays, often a
+simple sequence number.  The value identifies which member of a
+container the array is.  It will usually accompany a "container=" word.
 .RE
 
 .TP
 .RE
 
 .TP
@@ -197,7 +239,7 @@ The
 .B mailaddr
 line gives an E-mail address that alerts should be
 sent to when
 .B mailaddr
 line gives an E-mail address that alerts should be
 sent to when
-.M mdadm
+.I mdadm
 is running in
 .B \-\-monitor
 mode (and was given the
 is running in
 .B \-\-monitor
 mode (and was given the
@@ -289,13 +331,85 @@ Give
 to suppress this symlink creation.
 .RE
 
 to suppress this symlink creation.
 .RE
 
+.TP
+.B HOMEHOST
+The
+.B homehost
+line gives a default value for the
+.B --homehost=
+option to mdadm.  There should normally be only one other word on the line.
+It should either be a host name, or one of the special words
+.B <system>
+and
+.BR <ignore> .
+If
+.B <system>
+is given, then the
+.BR gethostname ( 2 )
+systemcall is used to get the host name.
+
+If
+.B <ignore>
+is given, then a flag is set so that when arrays are being
+auto-assembled the checking of the recorded
+.I homehost
+is disabled.
+If
+.B <ignore>
+is given it is also possible to give an explicit name which will be
+used when creating arrays.  This is the only case when there can be
+more that one other word on the
+.B HOMEHOST
+line.
+
+When arrays are created, this host name will be stored in the
+metadata.  When arrays are assembled using auto-assembly, arrays which
+do not record the correct homehost name in their metadata will be
+assembled using a "foreign" name.  A "foreign" name alway ends with a
+digit string preceded by an underscore to differentiate it
+from any possible local name. e.g.
+.B /dev/md/1_1
+or
+.BR /dev/md/home_0 .
+.TP
+.B AUTO
+A list of names of metadata format can be given, each preceded by a
+plus or minus sign.  Also the word
+.I all
+preceded by plus or minus is allowed and is usually last.
+
+When
+.I mdadm
+is auto-assembling an array, with via
+.I --assemble
+or
+.I --incremental
+and it finds metadata of a given type, it checks that metadata type
+against those listed in this line.  The first match wins, where
+.I all
+matches anything.
+If a match is found that was preceded by a plus sign, the auto
+assembly is allowed.  If the match was preceded by a minus sign, the
+auto assembly is disallowed.  If no match is found, the auto assembly
+is allowed.
+
+This can be used to disable all auto-assembly (so that only arrays
+explicitly listed in mdadm.conf or on the command line are assembled),
+or to disable assembly of certain metadata types which might be
+handled by other software.
+
+The known metadata types are
+.BR 0.90 ,
+.BR 1.x ,
+.BR ddf ,
+.BR imsm .
 
 .SH EXAMPLE
 DEVICE /dev/sd[bcdjkl]1
 .br
 DEVICE /dev/hda1 /dev/hdb1
 
 
 .SH EXAMPLE
 DEVICE /dev/sd[bcdjkl]1
 .br
 DEVICE /dev/hda1 /dev/hdb1
 
-# /dev/md0 is known by its UID.
+# /dev/md0 is known by its UUID.
 .br
 ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
 .br
 .br
 ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
 .br
@@ -336,6 +450,8 @@ PROGRAM /usr/sbin/handle\-mdadm\-events
 CREATE group=system mode=0640 auto=part\-8
 .br
 HOMEHOST <system>
 CREATE group=system mode=0640 auto=part\-8
 .br
 HOMEHOST <system>
+.br
+AUTO +1.x -all
 
 .SH SEE ALSO
 .BR mdadm (8),
 
 .SH SEE ALSO
 .BR mdadm (8),