table of contents
MDADM.CONF(5) | File Formats Manual | MDADM.CONF(5) |
NAME¶
mdadm.conf - configuration for management of Software RAID with mdadmSYNOPSIS¶
/etc/mdadm/mdadm.confDESCRIPTION¶
mdadm is a tool for creating, managing, and monitoring RAID devices using the md driver in Linux. Some common tasks, such as assembling all arrays, can be simplified by describing the devices and arrays in this configuration file.SYNTAX¶
The file should be seen as a collection of words separated by white space (space, tab, or newline). Any word that beings with a hash sign (#) starts a comment and that word together with the remainder of the line is ignored.- DEVICE
- A device 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, mdadm will scan these devices (or
any devices listed on the command line).
- DEVICE /dev/hda* /dev/hdc*
- ARRAY
- The ARRAY lines identify actual arrays. The second word on
the line may be the name of the device where the array is normally
assembled, such as /dev/md1 or /dev/md/backup. If the name
does not start with a slash ('/'), it is treated as being in
/dev/md/. Alternately the word <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, mdadm will use various heuristics to determine an
appropriate name.
- uuid=
- The value should be a 128 bit uuid in hexadecimal, with punctuation interspersed if desired. This must match the uuid stored in the superblock.
- name=
- The value should be a simple textual name as was given to mdadm when the array was created. This must match the name stored in the superblock on a device for that device to be included in the array. Not all superblock formats support names.
- super-minor=
- The value is an integer which indicates the minor number that was stored in the superblock when the array was created. When an array is created as /dev/mdX, then the minor number X is stored.
- devices=
- The value is a comma separated list of device names or device name patterns. Only devices with names which match one entry in the list will be used to assemble the array. Note that the devices listed there must also be listed on a DEVICE line.
- level=
- The value is a raid level. This is not normally used to
identify an array, but is supported so that the output of
- num-devices=
- The value is the number of devices in a complete active
array. As with level= this is mainly for compatibility with the
output of
- 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: mdadm
--monitor will report an array if it is found to have fewer than this
number of spares when --monitor starts or when --oneshot is
used.
- spare-group=
- The value is a textual name for a group of arrays. All
arrays with the same spare-group name are considered to be part of
the same group. The significance of a group of arrays is that 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.
- auto=
- This option is rarely needed with mdadm-3.0, particularly
if use with the Linux kernel v2.6.28 or later. It tells mdadm
whether to use partitionable array or non-partitionable arrays and, in the
absence of udev, how many partition devices to create. From 2.6.28
all md array devices are partitionable, hence this option is not needed.
- bitmap=
- The option specifies a file in which a write-intent bitmap
should be found. When assembling the array, mdadm will provide this
file to the md driver as the bitmap file. This has the same
function as the --bitmap-file option to --assemble.
- metadata=
- Specify the metadata format that the array has. This is
mainly recognised for comparability with the output of mdadm -Es.
- 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.
- 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.
- MAILADDR
- The mailaddr line gives an E-mail address that
alerts should be sent to when mdadm is running in --monitor
mode (and was given the --scan option). There should only be one
MAILADDR line and it should have only one address.
- MAILFROM
- The mailfrom line (which can only be abbreviated to
at least 5 characters) gives an address to appear in the "From"
address for alert mails. This can be useful if you want to explicitly set
a domain, as the default from address is "root" with no domain.
All words on this line are catenated with spaces to form the address.
- PROGRAM
- The program line gives the name of a program to be
run when mdadm --monitor detects potentially interesting events on
any of the arrays that it is monitoring. This program gets run with two or
three arguments, they being the Event, the md device, and possibly the
related component device.
- CREATE
- The create line gives default values to be used when
creating arrays and device entries for arrays. These include:
- owner=
- group=
- These can give user/group ids or names to use instead of system defaults (root/wheel or root/disk).
- mode=
- An octal file mode such as 0660 can be given to override the default of 0600.
- auto=
- This corresponds to the --auto flag to mdadm. Give
yes, md, mdp, part — possibly followed
by a number of partitions — to indicate how missing device entries
should be created.
- metadata=
- The name of the metadata format to use if none is
explicitly given. This can be useful to impose a system-wide default of
version-1 superblocks.
- symlinks=no
- Normally when creating devices in /dev/md/ mdadm will create a matching symlink from /dev/ with a name starting md or md_. Give symlinks=no to suppress this symlink creation.
- HOMEHOST
- The homehost line gives a default value for the
--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 <system>, <none> and
<ignore>. If <system> is given, then the
gethostname(2) systemcall is used to get the host name. This
is the default.
- AUTO
- A list of names of metadata format can be given, each
preceded by a plus or minus sign. Also the word homehost is allowed
as is all preceded by plus or minus sign. all is usually
last.
- POLICY
- This is used to specify what automatic behavior is allowed
on devices newly appearing in the system and provides a way of marking
spares that can be moved to other arrays as well as the migration domains.
Domain can be defined through policy line by specifying a
domain name for a number of paths from /dev/disk/by-path/. A device
may belong to several domains. The domain of an array is a union of
domains of all devices in that array. A spare can be automatically moved
from one array to another if the set of the destination array's
domains ppcontains all the domains of the new disk or if
both arrays have the same spare-group.
- domain=
- any arbitrary string
- metadata=
- 0.9 1.x ddf or imsm
- path=
- file glob matching anything from /dev/disk/by-path
- type=
- either disk or part.
- action=
- include, re-add, spare, spare-same-slot, or force-spare
auto= yes, no, or homehost.
- include
- allows adding a disk to an array if metadata on that disk matches that array
- re-add
- will include the device in the array if it appears to be a current member or a member that was recently removed
- spare
- as above and additionally: if the device is bare it can become a spare if there is any array that it is a candidate for based on domains and metadata.
- spare-same-slot
- as above and additionally if given slot was used by an array that went degraded recently and the device plugged in has no metadata then it will be automatically added to that array (or it's container)
- force-spare
- as above and the disk will become a spare in remaining cases
EXAMPLE¶
DEVICE /dev/sd[bcdjkl]1spare-group=group1
spare-group=group1
auto=part
action=spare
action=include