]> git.ipfire.org Git - thirdparty/mdadm.git/blame - mdadm.8.in
Compile-time switch to enable 0.9 metadata as default
[thirdparty/mdadm.git] / mdadm.8.in
CommitLineData
52826846 1.\" -*- nroff -*-
e43d0cda
NB
2.\" Copyright Neil Brown and others.
3.\" This program is free software; you can redistribute it and/or modify
4.\" it under the terms of the GNU General Public License as published by
5.\" the Free Software Foundation; either version 2 of the License, or
6.\" (at your option) any later version.
7.\" See file COPYING in distribution for details.
a31c140f 8.TH MDADM 8 "" v3.1.2
52826846 9.SH NAME
9a9dab36 10mdadm \- manage MD devices
cd29a5c8 11.I aka
93e790af 12Linux Software RAID
cd29a5c8 13
52826846
NB
14.SH SYNOPSIS
15
e0d19036 16.BI mdadm " [mode] <raiddevice> [options] <component-devices>"
52826846 17
2ae555c3 18.SH DESCRIPTION
52826846 19RAID devices are virtual devices created from two or more
e0fe762a 20real block devices. This allows multiple devices (typically disk
35cc5be4 21drives or partitions thereof) to be combined into a single device to
cd29a5c8 22hold (for example) a single filesystem.
2d465520 23Some RAID levels include redundancy and so can survive some degree of
cd29a5c8
NB
24device failure.
25
2d465520
NB
26Linux Software RAID devices are implemented through the md (Multiple
27Devices) device driver.
cd29a5c8
NB
28
29Currently, Linux supports
30.B LINEAR
31md devices,
32.B RAID0
33(striping),
34.B RAID1
35(mirroring),
d013a55e
NB
36.BR RAID4 ,
37.BR RAID5 ,
98c6faba 38.BR RAID6 ,
1a7dfc35 39.BR RAID10 ,
b5e64645 40.BR MULTIPATH ,
90c8d668 41.BR FAULTY ,
cd29a5c8 42and
90c8d668 43.BR CONTAINER .
d013a55e 44
a9d69660
NB
45.B MULTIPATH
46is not a Software RAID mechanism, but does involve
93e790af 47multiple devices:
d013a55e 48each device is a path to one common physical storage device.
9652457e
N
49New installations should not use md/multipath as it is not well
50supported and has no ongoing development. Use the Device Mapper based
51multipath-tools instead.
d013a55e 52
a9d69660
NB
53.B FAULTY
54is also not true RAID, and it only involves one device. It
b5e64645 55provides a layer over a true device that can be used to inject faults.
52826846 56
4cce4069 57.B CONTAINER
8fd8d9c4
N
58is different again. A
59.B CONTAINER
60is a collection of devices that are
90c8d668
N
61managed as a set. This is similar to the set of devices connected to
62a hardware RAID controller. The set of devices may contain a number
9652457e 63of different RAID arrays each utilising some (or all) of the blocks from a
90c8d668 64number of the devices in the set. For example, two devices in a 5-device set
9652457e 65might form a RAID1 using the whole devices. The remaining three might
90c8d668
N
66have a RAID5 over the first half of each device, and a RAID0 over the
67second half.
68
8fd8d9c4
N
69With a
70.BR CONTAINER ,
71there is one set of metadata that describes all of
72the arrays in the container. So when
73.I mdadm
74creates a
75.B CONTAINER
9652457e
N
76device, the device just represents the metadata. Other normal arrays (RAID1
77etc) can be created inside the container.
52826846
NB
78
79.SH MODES
8382f19b 80mdadm has several major modes of operation:
cd29a5c8
NB
81.TP
82.B Assemble
93e790af 83Assemble the components of a previously created
e0fe762a 84array into an active array. Components can be explicitly given
2ae555c3 85or can be searched for.
51ac42e3 86.I mdadm
cd29a5c8
NB
87checks that the components
88do form a bona fide array, and can, on request, fiddle superblock
89information so as to assemble a faulty array.
90
91.TP
92.B Build
e0fe762a 93Build an array that doesn't have per-device metadata (superblocks). For these
a9d69660
NB
94sorts of arrays,
95.I mdadm
96cannot differentiate between initial creation and subsequent assembly
97of an array. It also cannot perform any checks that appropriate
93e790af 98components have been requested. Because of this, the
a9d69660
NB
99.B Build
100mode should only be used together with a complete understanding of
101what you are doing.
cd29a5c8
NB
102
103.TP
104.B Create
e0fe762a
N
105Create a new array with per-device metadata (superblocks).
106Appropriate metadata is written to each device, and then the array
107comprising those devices is activated. A 'resync' process is started
108to make sure that the array is consistent (e.g. both sides of a mirror
109contain the same data) but the content of the device is left otherwise
110untouched.
111The array can be used as soon as it has been created. There is no
112need to wait for the initial resync to finish.
cd29a5c8 113
cd29a5c8
NB
114.TP
115.B "Follow or Monitor"
5787fa49 116Monitor one or more md devices and act on any state changes. This is
e0fe762a
N
117only meaningful for RAID1, 4, 5, 6, 10 or multipath arrays, as
118only these have interesting state. RAID0 or Linear never have
98c6faba 119missing, spare, or failed drives, so there is nothing to monitor.
5787fa49 120
dd0781e5
NB
121.TP
122.B "Grow"
123Grow (or shrink) an array, or otherwise reshape it in some way.
124Currently supported growth options including changing the active size
93e790af 125of component devices and changing the number of active devices in RAID
f24e2d6c
N
126levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing
127the chunk size and layout for RAID5 and RAID5, as well as adding or
128removing a write-intent bitmap.
cd29a5c8 129
8382f19b
NB
130.TP
131.B "Incremental Assembly"
132Add a single device to an appropriate array. If the addition of the
133device makes the array runnable, the array will be started.
134This provides a convenient interface to a
135.I hot-plug
136system. As each device is detected,
137.I mdadm
138has a chance to include it in some array as appropriate.
9652457e 139
8fd8d9c4
N
140If a
141.B CONTAINER
142is passed to
143.I mdadm
144in this mode, then any arrays within that container will be assembled
145and started.
8382f19b 146
2ae555c3
NB
147.TP
148.B Manage
149This is for doing things to specific components of an array such as
150adding new spares and removing faulty devices.
151
152.TP
153.B Misc
154This is an 'everything else' mode that supports operations on active
155arrays, operations on component devices such as erasing old superblocks, and
156information gathering operations.
e43d0cda
NB
157.\"This mode allows operations on independent devices such as examine MD
158.\"superblocks, erasing old superblocks and stopping active arrays.
2ae555c3 159
1f48664b
NB
160.TP
161.B Auto-detect
162This mode does not act on a specific device or array, but rather it
163requests the Linux Kernel to activate any auto-detected arrays.
52826846
NB
164.SH OPTIONS
165
2ae555c3 166.SH Options for selecting a mode are:
52826846 167
cd29a5c8 168.TP
7e23fc43 169.BR \-A ", " \-\-assemble
2d465520 170Assemble a pre-existing array.
52826846 171
cd29a5c8 172.TP
7e23fc43 173.BR \-B ", " \-\-build
cd29a5c8 174Build a legacy array without superblocks.
52826846 175
cd29a5c8 176.TP
7e23fc43 177.BR \-C ", " \-\-create
cd29a5c8 178Create a new array.
52826846 179
cd29a5c8 180.TP
7e23fc43 181.BR \-F ", " \-\-follow ", " \-\-monitor
cd29a5c8
NB
182Select
183.B Monitor
184mode.
52826846 185
dd0781e5 186.TP
7e23fc43 187.BR \-G ", " \-\-grow
dd0781e5 188Change the size or shape of an active array.
8382f19b
NB
189
190.TP
1f48664b 191.BR \-I ", " \-\-incremental
8382f19b
NB
192Add a single device into an appropriate array, and possibly start the array.
193
1f48664b
NB
194.TP
195.B \-\-auto-detect
196Request that the kernel starts any auto-detected arrays. This can only
197work if
198.I md
199is compiled into the kernel \(em not if it is a module.
200Arrays can be auto-detected by the kernel if all the components are in
201primary MS-DOS partitions with partition type
e0fe762a
N
202.BR FD ,
203and all use v0.90 metadata.
1f48664b
NB
204In-kernel autodetect is not recommended for new installations. Using
205.I mdadm
206to detect and assemble arrays \(em possibly in an
207.I initrd
208\(em is substantially more flexible and should be preferred.
209
2ae555c3
NB
210.P
211If a device is given before any options, or if the first option is
7e23fc43
PS
212.BR \-\-add ,
213.BR \-\-fail ,
2ae555c3 214or
7e23fc43 215.BR \-\-remove ,
e0fe762a 216then the MANAGE mode is assumed.
2ae555c3
NB
217Anything other than these will cause the
218.B Misc
219mode to be assumed.
dd0781e5 220
2ae555c3 221.SH Options that are not mode-specific are:
e793c2e5 222
cd29a5c8 223.TP
7e23fc43 224.BR \-h ", " \-\-help
a9d69660 225Display general help message or, after one of the above options, a
93e790af 226mode-specific help message.
56eedc1a
NB
227
228.TP
7e23fc43 229.B \-\-help\-options
56eedc1a
NB
230Display more detailed help about command line parsing and some commonly
231used options.
52826846 232
cd29a5c8 233.TP
7e23fc43 234.BR \-V ", " \-\-version
9a9dab36 235Print version information for mdadm.
52826846 236
cd29a5c8 237.TP
7e23fc43 238.BR \-v ", " \-\-verbose
22892d56
NB
239Be more verbose about what is happening. This can be used twice to be
240extra-verbose.
a9d69660 241The extra verbosity currently only affects
7e23fc43 242.B \-\-detail \-\-scan
22892d56 243and
7e23fc43 244.BR "\-\-examine \-\-scan" .
52826846 245
dab6685f 246.TP
7e23fc43 247.BR \-q ", " \-\-quiet
dab6685f 248Avoid printing purely informative messages. With this,
51ac42e3 249.I mdadm
dab6685f
NB
250will be silent unless there is something really important to report.
251
e0d19036 252.TP
7e23fc43 253.BR \-f ", " \-\-force
93e790af 254Be more forceful about certain operations. See the various modes for
e0d19036
NB
255the exact meaning of this option in different contexts.
256
257.TP
7e23fc43 258.BR \-c ", " \-\-config=
2ae555c3
NB
259Specify the config file. Default is to use
260.BR /etc/mdadm.conf ,
93e790af 261or if that is missing then
2ae555c3 262.BR /etc/mdadm/mdadm.conf .
5787fa49 263If the config file given is
93e790af 264.B "partitions"
5787fa49
NB
265then nothing will be read, but
266.I mdadm
267will act as though the config file contained exactly
8fd8d9c4 268.B "DEVICE partitions containers"
5787fa49
NB
269and will read
270.B /proc/partitions
8fd8d9c4
N
271to find a list of devices to scan, and
272.B /proc/mdstat
273to find a list of containers to examine.
d013a55e 274If the word
93e790af 275.B "none"
d013a55e
NB
276is given for the config file, then
277.I mdadm
278will act as though the config file were empty.
e0d19036
NB
279
280.TP
7e23fc43 281.BR \-s ", " \-\-scan
93e790af 282Scan config file or
e0d19036
NB
283.B /proc/mdstat
284for missing information.
285In general, this option gives
51ac42e3 286.I mdadm
93e790af
SW
287permission to get any missing information (like component devices,
288array devices, array identities, and alert destination) from the
289configuration file (see previous option);
290one exception is MISC mode when using
7e23fc43 291.B \-\-detail
e0d19036 292or
93e790af 293.B \-\-stop,
e0d19036 294in which case
7e23fc43 295.B \-\-scan
e0d19036
NB
296says to get a list of array devices from
297.BR /proc/mdstat .
298
570c0542 299.TP
d16c7af6 300.BR \-e ", " \-\-metadata=
e0fe762a 301Declare the style of RAID metadata (superblock) to be used. The
26f467a9 302default is {DEFAULT_METADATA} for
7e23fc43 303.BR \-\-create ,
53e8b987 304and to guess for other operations.
2790ffe3
GB
305The default can be overridden by setting the
306.B metadata
307value for the
308.B CREATE
309keyword in
310.BR mdadm.conf .
570c0542
NB
311
312Options are:
313.RS
26f467a9 314.ie '{DEFAULT_METADATA}'0.90'
315.IP "0, 0.90, default"
316.el
7d5c3964 317.IP "0, 0.90"
26f467a9 318..
570c0542 319Use the original 0.90 format superblock. This format limits arrays to
93e790af 32028 component devices and limits component devices of levels 1 and
570c0542 321greater to 2 terabytes.
26f467a9 322.ie '{DEFAULT_METADATA}'0.90'
323.IP "1, 1.0, 1.1, 1.2"
324.el
7d5c3964 325.IP "1, 1.0, 1.1, 1.2 default"
26f467a9 326..
570c0542 327Use the new version-1 format superblock. This has few restrictions.
93e790af 328The different sub-versions store the superblock at different locations
570c0542 329on the device, either at the end (for 1.0), at the start (for 1.1) or
26f467a9 3304K from the start (for 1.2). "1" is equivalent to "1.0".
331'if '{DEFAULT_METADATA}'1.2' "default" is equivalent to "1.2".
8fd8d9c4 332.IP ddf
e0fe762a
N
333Use the "Industry Standard" DDF (Disk Data Format) format defined by
334SNIA.
335When creating a DDF array a
8fd8d9c4
N
336.B CONTAINER
337will be created, and normal arrays can be created in that container.
338.IP imsm
4cce4069 339Use the Intel(R) Matrix Storage Manager metadata format. This creates a
8fd8d9c4 340.B CONTAINER
4cce4069
DW
341which is managed in a similar manner to DDF, and is supported by an
342option-rom on some platforms:
343.IP
344.B http://www.intel.com/design/chipsets/matrixstorage_sb.htm
345.PP
570c0542
NB
346.RE
347
41a3b72a 348.TP
7e23fc43 349.B \-\-homehost=
35cc5be4 350This will override any
41a3b72a 351.B HOMEHOST
93e790af 352setting in the config file and provides the identity of the host which
41a3b72a
NB
353should be considered the home for any arrays.
354
355When creating an array, the
356.B homehost
e0fe762a 357will be recorded in the metadata. For version-1 superblocks, it will
93e790af 358be prefixed to the array name. For version-0.90 superblocks, part of
41a3b72a
NB
359the SHA1 hash of the hostname will be stored in the later half of the
360UUID.
361
362When reporting information about an array, any array which is tagged
363for the given homehost will be reported as such.
364
365When using Auto-Assemble, only arrays tagged for the given homehost
0ac91628 366will be allowed to use 'local' names (i.e. not ending in '_' followed
e0fe762a
N
367by a digit string). See below under
368.BR "Auto Assembly" .
41a3b72a 369
2ae555c3
NB
370.SH For create, build, or grow:
371
372.TP
7e23fc43 373.BR \-n ", " \-\-raid\-devices=
2ae555c3
NB
374Specify the number of active devices in the array. This, plus the
375number of spare devices (see below) must equal the number of
376.I component-devices
377(including "\fBmissing\fP" devices)
378that are listed on the command line for
e0fe762a 379.BR \-\-create .
2ae555c3
NB
380Setting a value of 1 is probably
381a mistake and so requires that
7e23fc43 382.B \-\-force
2ae555c3 383be specified first. A value of 1 will then be allowed for linear,
e0fe762a 384multipath, RAID0 and RAID1. It is never allowed for RAID4, RAID5 or RAID6.
2ae555c3
NB
385.br
386This number can only be changed using
7e23fc43 387.B \-\-grow
e0fe762a
N
388for RAID1, RAID4, RAID5 and RAID6 arrays, and only on kernels which provide
389the necessary support.
2ae555c3
NB
390
391.TP
7e23fc43 392.BR \-x ", " \-\-spare\-devices=
2ae555c3
NB
393Specify the number of spare (eXtra) devices in the initial array.
394Spares can also be added
395and removed later. The number of component devices listed
e0fe762a 396on the command line must equal the number of RAID devices plus the
2ae555c3
NB
397number of spare devices.
398
2ae555c3 399.TP
7e23fc43 400.BR \-z ", " \-\-size=
e0fe762a 401Amount (in Kibibytes) of space to use from each drive in RAID levels 1/4/5/6.
2ae555c3
NB
402This must be a multiple of the chunk size, and must leave about 128Kb
403of space at the end of the drive for the RAID superblock.
404If this is not specified
405(as it normally is not) the smallest drive (or partition) sets the
406size, though if there is a variance among the drives of greater than 1%, a warning is
407issued.
408
409This value can be set with
7e23fc43 410.B \-\-grow
e0fe762a 411for RAID level 1/4/5/6. If the array was created with a size smaller
2ae555c3
NB
412than the currently active drives, the extra space can be accessed
413using
7e23fc43 414.BR \-\-grow .
2ae555c3
NB
415The size can be given as
416.B max
417which means to choose the largest size that fits on all current drives.
52826846 418
8fd8d9c4
N
419This value can not be used with
420.B CONTAINER
421metadata such as DDF and IMSM.
422
f24e2d6c
N
423.TP
424.BR \-Z ", " \-\-array-size=
425This is only meaningful with
426.B \-\-grow
427and its effect is not persistent: when the array is stopped an
428restarted the default array size will be restored.
429
430Setting the array-size causes the array to appear smaller to programs
431that access the data. This is particularly needed before reshaping an
432array so that it will be smaller. As the reshape is not reversible,
433but setting the size with
434.B \-\-array-size
435is, it is required that the array size is reduced as appropriate
436before the number of devices in the array is reduced.
437
cd29a5c8 438.TP
7e23fc43 439.BR \-c ", " \-\-chunk=
5f175898
N
440Specify chunk size of kibibytes. The default when creating an
441array is 512KB. To ensure compatibility with earlier versions, the
442default when Building and array with no persistent metadata is 64KB.
e0fe762a 443This is only meaningful for RAID0, RAID4, RAID5, RAID6, and RAID10.
52826846 444
cd29a5c8 445.TP
7e23fc43 446.BR \-\-rounding=
e0fe762a
N
447Specify rounding factor for a Linear array. The size of each
448component will be rounded down to a multiple of this size.
449This is a synonym for
450.B \-\-chunk
451but highlights the different meaning for Linear as compared to other
5f175898
N
452RAID levels. The default is 64K if a kernel earlier than 2.6.16 is in
453use, and is 0K (i.e. no rounding) in later kernels.
52826846 454
cd29a5c8 455.TP
7e23fc43 456.BR \-l ", " \-\-level=
e0fe762a 457Set RAID level. When used with
7e23fc43 458.BR \-\-create ,
98c6faba 459options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
8fd8d9c4
N
460raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty, container.
461Obviously some of these are synonymous.
462
463When a
464.B CONTAINER
465metadata type is requested, only the
466.B container
467level is permitted, and it does not need to be explicitly given.
aa88f531
NB
468
469When used with
7e23fc43 470.BR \-\-build ,
a9d69660 471only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
52826846 472
2ae555c3 473Not yet supported with
7e23fc43 474.BR \-\-grow .
2ae555c3 475
cd29a5c8 476.TP
7e23fc43 477.BR \-p ", " \-\-layout=
f24e2d6c
N
478This option configures the fine details of data layout for RAID5, RAID6,
479and RAID10 arrays, and controls the failure modes for
1a7dfc35
NB
480.IR faulty .
481
e0fe762a 482The layout of the RAID5 parity block can be one of
7e23fc43
PS
483.BR left\-asymmetric ,
484.BR left\-symmetric ,
485.BR right\-asymmetric ,
486.BR right\-symmetric ,
53e8b987
PS
487.BR la ", " ra ", " ls ", " rs .
488The default is
7e23fc43 489.BR left\-symmetric .
52826846 490
e0fe762a
N
491It is also possibly to cause RAID5 to use a RAID4-like layout by
492choosing
493.BR parity\-first ,
494or
495.BR parity\-last .
496
497Finally for RAID5 there are DDF\-compatible layouts,
498.BR ddf\-zero\-restart ,
499.BR ddf\-N\-restart ,
500and
501.BR ddf\-N\-continue .
502
503These same layouts are available for RAID6. There are also 4 layouts
504that will provide an intermediate stage for converting between RAID5
505and RAID6. These provide a layout which is identical to the
506corresponding RAID5 layout on the first N\-1 devices, and has the 'Q'
507syndrome (the second 'parity' block used by RAID6) on the last device.
508These layouts are:
509.BR left\-symmetric\-6 ,
510.BR right\-symmetric\-6 ,
511.BR left\-asymmetric\-6 ,
512.BR right\-asymmetric\-6 ,
513and
10adfe9a 514.BR parity\-first\-6 .
e0fe762a 515
93e790af
SW
516When setting the failure mode for level
517.I faulty,
1a7dfc35 518the options are:
7e23fc43
PS
519.BR write\-transient ", " wt ,
520.BR read\-transient ", " rt ,
521.BR write\-persistent ", " wp ,
522.BR read\-persistent ", " rp ,
523.BR write\-all ,
524.BR read\-fixable ", " rf ,
53e8b987 525.BR clear ", " flush ", " none .
b5e64645 526
93e790af 527Each failure mode can be followed by a number, which is used as a period
b5e64645
NB
528between fault generation. Without a number, the fault is generated
529once on the first relevant request. With a number, the fault will be
93e790af 530generated after that many requests, and will continue to be generated
b5e64645
NB
531every time the period elapses.
532
533Multiple failure modes can be current simultaneously by using the
7e23fc43 534.B \-\-grow
53e8b987 535option to set subsequent failure modes.
b5e64645
NB
536
537"clear" or "none" will remove any pending or periodic failure modes,
2ae555c3 538and "flush" will clear any persistent faults.
b5e64645 539
6f9a21a7 540Finally, the layout options for RAID10 are one of 'n', 'o' or 'f' followed
93e790af 541by a small number. The default is 'n2'. The supported options are:
1a7dfc35 542
93e790af 543.I 'n'
e0fe762a 544signals 'near' copies. Multiple copies of one data block are at
b578481c
NB
545similar offsets in different devices.
546
93e790af 547.I 'o'
b578481c
NB
548signals 'offset' copies. Rather than the chunks being duplicated
549within a stripe, whole stripes are duplicated but are rotated by one
550device so duplicate blocks are on different devices. Thus subsequent
551copies of a block are in the next drive, and are one chunk further
552down.
553
93e790af 554.I 'f'
1a7dfc35 555signals 'far' copies
93e790af 556(multiple copies have very different offsets).
e0fe762a 557See md(4) for more detail about 'near', 'offset', and 'far'.
1a7dfc35
NB
558
559The number is the number of copies of each datablock. 2 is normal, 3
560can be useful. This number can be at most equal to the number of
561devices in the array. It does not need to divide evenly into that
562number (e.g. it is perfectly legal to have an 'n2' layout for an array
563with an odd number of devices).
564
f24e2d6c
N
565When an array is converted between RAID5 and RAID6 an intermediate
566RAID6 layout is used in which the second parity block (Q) is always on
567the last device. To convert a RAID5 to RAID6 and leave it in this new
568layout (which does not require re-striping) use
569.BR \-\-layout=preserve .
570This will try to avoid any restriping.
571
572The converse of this is
573.B \-\-layout=normalise
574which will change a non-standard RAID6 layout into a more standard
575arrangement.
576
cd29a5c8 577.TP
7e23fc43 578.BR \-\-parity=
53e8b987 579same as
7e23fc43 580.B \-\-layout
53e8b987 581(thus explaining the p of
7e23fc43 582.BR \-p ).
52826846 583
e793c2e5 584.TP
7e23fc43 585.BR \-b ", " \-\-bitmap=
e793c2e5 586Specify a file to store a write-intent bitmap in. The file should not
53e8b987 587exist unless
7e23fc43 588.B \-\-force
53e8b987 589is also given. The same file should be provided
2ae555c3 590when assembling the array. If the word
93e790af 591.B "internal"
2ae555c3
NB
592is given, then the bitmap is stored with the metadata on the array,
593and so is replicated on all devices. If the word
93e790af 594.B "none"
2ae555c3 595is given with
7e23fc43 596.B \-\-grow
2ae555c3 597mode, then any bitmap that is present is removed.
e793c2e5 598
2ae555c3
NB
599To help catch typing errors, the filename must contain at least one
600slash ('/') if it is a real file (not 'internal' or 'none').
601
602Note: external bitmaps are only known to work on ext2 and ext3.
603Storing bitmap files on other filesystems may result in serious problems.
e793c2e5 604
cd29a5c8 605.TP
7e23fc43 606.BR \-\-bitmap\-chunk=
e0fe762a 607Set the chunksize of the bitmap. Each bit corresponds to that many
1bfdbe01
NB
608Kilobytes of storage.
609When using a file based bitmap, the default is to use the smallest
93e790af 610size that is at-least 4 and requires no more than 2^21 chunks.
2ae555c3
NB
611When using an
612.B internal
b8ab2a50
N
613bitmap, the chunksize defaults to 64Meg, or larger if necessary to
614fit the bitmap into the available space.
5787fa49 615
cd29a5c8 616.TP
7e23fc43 617.BR \-W ", " \-\-write\-mostly
e0fe762a 618subsequent devices listed in a
7e23fc43
PS
619.BR \-\-build ,
620.BR \-\-create ,
2ae555c3 621or
7e23fc43 622.B \-\-add
2ae555c3
NB
623command will be flagged as 'write-mostly'. This is valid for RAID1
624only and means that the 'md' driver will avoid reading from these
625devices if at all possible. This can be useful if mirroring over a
626slow link.
52826846 627
2ae555c3 628.TP
7e23fc43 629.BR \-\-write\-behind=
2ae555c3 630Specify that write-behind mode should be enabled (valid for RAID1
e0fe762a
N
631only). If an argument is specified, it will set the maximum number
632of outstanding writes allowed. The default value is 256.
2ae555c3
NB
633A write-intent bitmap is required in order to use write-behind
634mode, and write-behind is only attempted on drives marked as
635.IR write-mostly .
dd0781e5
NB
636
637.TP
7e23fc43 638.BR \-\-assume\-clean
dd0781e5
NB
639Tell
640.I mdadm
47d79ef8
NB
641that the array pre-existed and is known to be clean. It can be useful
642when trying to recover from a major failure as you can be sure that no
643data will be affected unless you actually write to the array. It can
644also be used when creating a RAID1 or RAID10 if you want to avoid the
b3f1c093 645initial resync, however this practice \(em while normally safe \(em is not
e0fe762a 646recommended. Use this only if you really know what you are doing.
6acad481
ME
647.IP
648When the devices that will be part of a new array were filled
649with zeros before creation the operator knows the array is
650actually clean. If that is the case, such as after running
651badblocks, this argument can be used to tell mdadm the
652facts the operator knows.
dd0781e5 653
2ae555c3 654.TP
7e23fc43 655.BR \-\-backup\-file=
53e8b987 656This is needed when
7e23fc43 657.B \-\-grow
53e8b987 658is used to increase the number of
e0fe762a
N
659raid-devices in a RAID5 if there are no spare devices available.
660See the GROW MODE section below on RAID\-DEVICES CHANGES. The file
661should be stored on a separate device, not on the RAID array being
662reshaped.
2ae555c3 663
84e11361
N
664.TP
665.BR \-\-array-size= ", " \-Z
666Set the size of the array which is seen by users of the device such as
667filesystems. This can be less that the real size, but never greater.
668The size set this way does not persist across restarts of the array.
669
670This is most useful when reducing the number of devices in a RAID5 or
671RAID6. Such arrays require the array-size to be reduced before a
672reshape can be performed that reduces the real size.
673
674A value of
675.B max
676restores the apparent size of the array to be whatever the real
677amount of available space is.
678
947fd4dd 679.TP
7e23fc43 680.BR \-N ", " \-\-name=
947fd4dd
NB
681Set a
682.B name
683for the array. This is currently only effective when creating an
e0fe762a
N
684array with a version-1 superblock, or an array in a DDF container.
685The name is a simple textual string that can be used to identify array
686components when assembling. If name is needed but not specified, it
687is taken from the basename of the device that is being created.
688e.g. when creating
689.I /dev/md/home
690the
691.B name
692will default to
693.IR home .
947fd4dd 694
dd0781e5 695.TP
7e23fc43 696.BR \-R ", " \-\-run
dd0781e5
NB
697Insist that
698.I mdadm
699run the array, even if some of the components
700appear to be active in another array or filesystem. Normally
701.I mdadm
702will ask for confirmation before including such components in an
703array. This option causes that question to be suppressed.
704
705.TP
7e23fc43 706.BR \-f ", " \-\-force
dd0781e5
NB
707Insist that
708.I mdadm
709accept the geometry and layout specified without question. Normally
710.I mdadm
711will not allow creation of an array with only one device, and will try
e0fe762a 712to create a RAID5 array with one missing drive (as this makes the
dd0781e5 713initial resync work faster). With
7e23fc43 714.BR \-\-force ,
dd0781e5
NB
715.I mdadm
716will not try to be so clever.
717
718.TP
257c1dc2
N
719.BR \-a ", " "\-\-auto{=yes,md,mdp,part,p}{NN}"
720Instruct mdadm how to create the device file if needed, possibly allocating
48f7b27a 721an unused minor number. "md" causes a non-partitionable array
257c1dc2
N
722to be used (though since Linux 2.6.28, these array devices are in fact
723partitionable). "mdp", "part" or "p" causes a partitionable array (2.6 and
2ae555c3 724later) to be used. "yes" requires the named md device to have
f9c25f1d 725a 'standard' format, and the type and minor number will be determined
257c1dc2
N
726from this. With mdadm 3.0, device creation is normally left up to
727.I udev
728so this option is unlikely to be needed.
729See DEVICE NAMES below.
48f7b27a 730
a9d69660 731The argument can also come immediately after
7e23fc43 732"\-a". e.g. "\-ap".
dd0781e5 733
53e8b987 734If
7e23fc43 735.B \-\-auto
53e8b987 736is not given on the command line or in the config file, then
75723446 737the default will be
7e23fc43 738.BR \-\-auto=yes .
75723446 739
1337546d 740If
7e23fc43 741.B \-\-scan
1337546d
NB
742is also given, then any
743.I auto=
35cc5be4 744entries in the config file will override the
7e23fc43 745.B \-\-auto
1337546d
NB
746instruction given on the command line.
747
dd0781e5
NB
748For partitionable arrays,
749.I mdadm
750will create the device file for the whole array and for the first 4
751partitions. A different number of partitions can be specified at the
752end of this option (e.g.
7e23fc43 753.BR \-\-auto=p7 ).
2ae555c3 754If the device name ends with a digit, the partition names add a 'p',
e0fe762a
N
755and a number, e.g.
756.IR /dev/md/home1p3 .
757If there is no trailing digit, then the partition names just have a
758number added, e.g.
759.IR /dev/md/scratch3 .
dd0781e5 760
48f7b27a
NB
761If the md device name is in a 'standard' format as described in DEVICE
762NAMES, then it will be created, if necessary, with the appropriate
e0fe762a
N
763device number based on that name. If the device name is not in one of these
764formats, then a unused device number will be allocated. The device
48f7b27a
NB
765number will be considered unused if there is no active array for that
766number, and there is no entry in /dev for that number and with a
e0fe762a 767non-standard name. Names that are not in 'standard' format are only
8fd8d9c4
N
768allowed in "/dev/md/".
769
f24e2d6c 770.ig XX
e0fe762a
N
771.\".TP
772.\".BR \-\-symlink = no
773.\"Normally when
774.\".B \-\-auto
775.\"causes
776.\".I mdadm
777.\"to create devices in
778.\".B /dev/md/
779.\"it will also create symlinks from
780.\".B /dev/
781.\"with names starting with
782.\".B md
783.\"or
784.\".BR md_ .
785.\"Use
786.\".B \-\-symlink=no
787.\"to suppress this, or
788.\".B \-\-symlink=yes
789.\"to enforce this even if it is suppressing
790.\".IR mdadm.conf .
791.\"
f24e2d6c 792.XX
38098016 793
52826846
NB
794.SH For assemble:
795
cd29a5c8 796.TP
7e23fc43 797.BR \-u ", " \-\-uuid=
e0fe762a 798uuid of array to assemble. Devices which don't have this uuid are
cd29a5c8
NB
799excluded
800
801.TP
7e23fc43 802.BR \-m ", " \-\-super\-minor=
cd29a5c8
NB
803Minor number of device that array was created for. Devices which
804don't have this minor number are excluded. If you create an array as
2d465520 805/dev/md1, then all superblocks will contain the minor number 1, even if
cd29a5c8
NB
806the array is later assembled as /dev/md2.
807
d013a55e 808Giving the literal word "dev" for
7e23fc43 809.B \-\-super\-minor
d013a55e
NB
810will cause
811.I mdadm
812to use the minor number of the md device that is being assembled.
813e.g. when assembling
814.BR /dev/md0 ,
51ac42e3 815.B \-\-super\-minor=dev
d013a55e
NB
816will look for super blocks with a minor number of 0.
817
e0fe762a
N
818.B \-\-super\-minor
819is only relevant for v0.90 metadata, and should not normally be used.
820Using
821.B \-\-uuid
822is much safer.
823
947fd4dd 824.TP
7e23fc43 825.BR \-N ", " \-\-name=
947fd4dd 826Specify the name of the array to assemble. This must be the name
624920bb 827that was specified when creating the array. It must either match
93e790af 828the name stored in the superblock exactly, or it must match
41a3b72a 829with the current
624920bb 830.I homehost
93e790af 831prefixed to the start of the given name.
947fd4dd 832
cd29a5c8 833.TP
7e23fc43 834.BR \-f ", " \-\-force
e0fe762a
N
835Assemble the array even if the metadata on some devices appears to be
836out-of-date. If
837.I mdadm
838cannot find enough working devices to start the array, but can find
839some devices that are recorded as having failed, then it will mark
840those devices as working so that the array can be started.
841An array which requires
842.B \-\-force
843to be started may contain data corruption. Use it carefully.
52826846 844
cd29a5c8 845.TP
7e23fc43 846.BR \-R ", " \-\-run
b8a8ccf9
NB
847Attempt to start the array even if fewer drives were given than were
848present last time the array was active. Normally if not all the
849expected drives are found and
7e23fc43 850.B \-\-scan
cd29a5c8
NB
851is not used, then the array will be assembled but not started.
852With
7e23fc43 853.B \-\-run
cd29a5c8 854an attempt will be made to start it anyway.
52826846 855
b8a8ccf9 856.TP
7e23fc43 857.B \-\-no\-degraded
b8a8ccf9 858This is the reverse of
7e23fc43 859.B \-\-run
93e790af 860in that it inhibits the startup of array unless all expected drives
b8a8ccf9 861are present. This is only needed with
93e790af
SW
862.B \-\-scan,
863and can be used if the physical connections to devices are
b8a8ccf9
NB
864not as reliable as you would like.
865
dd0781e5 866.TP
7e23fc43 867.BR \-a ", " "\-\-auto{=no,yes,md,mdp,part}"
dd0781e5
NB
868See this option under Create and Build options.
869
e793c2e5 870.TP
7e23fc43 871.BR \-b ", " \-\-bitmap=
2ae555c3
NB
872Specify the bitmap file that was given when the array was created. If
873an array has an
874.B internal
875bitmap, there is no need to specify this when assembling the array.
876
877.TP
7e23fc43 878.BR \-\-backup\-file=
2ae555c3 879If
7e23fc43 880.B \-\-backup\-file
2ae555c3
NB
881was used to grow the number of raid-devices in a RAID5, and the system
882crashed during the critical section, then the same
7e23fc43 883.B \-\-backup\-file
53e8b987 884must be presented to
7e23fc43 885.B \-\-assemble
53e8b987 886to allow possibly corrupted data to be restored.
e793c2e5 887
5787fa49 888.TP
7e23fc43 889.BR \-U ", " \-\-update=
5787fa49 890Update the superblock on each device while assembling the array. The
feb716e9
NB
891argument given to this flag can be one of
892.BR sparc2.2 ,
893.BR summaries ,
7d99579f 894.BR uuid ,
c4f12c13 895.BR name ,
0237e0ca 896.BR homehost ,
e5329c37 897.BR resync ,
586ed405 898.BR byteorder ,
bee8ec56 899.BR devicesize ,
5787fa49 900or
7e23fc43 901.BR super\-minor .
5787fa49
NB
902
903The
904.B sparc2.2
7d99579f 905option will adjust the superblock of an array what was created on a Sparc
5787fa49
NB
906machine running a patched 2.2 Linux kernel. This kernel got the
907alignment of part of the superblock wrong. You can use the
7e23fc43 908.B "\-\-examine \-\-sparc2.2"
5787fa49
NB
909option to
910.I mdadm
911to see what effect this would have.
912
913The
7e23fc43 914.B super\-minor
5787fa49 915option will update the
2ae555c3 916.B "preferred minor"
5787fa49 917field on each superblock to match the minor number of the array being
45c073c9
NB
918assembled.
919This can be useful if
7e23fc43 920.B \-\-examine
45c073c9 921reports a different "Preferred Minor" to
7e23fc43 922.BR \-\-detail .
45c073c9 923In some cases this update will be performed automatically
e0fe762a 924by the kernel driver. In particular the update happens automatically
45c073c9
NB
925at the first write to an array with redundancy (RAID level 1 or
926greater) on a 2.6 (or later) kernel.
5787fa49 927
7d99579f
NB
928The
929.B uuid
930option will change the uuid of the array. If a UUID is given with the
7e23fc43 931.B \-\-uuid
53e8b987 932option that UUID will be used as a new UUID and will
7d99579f
NB
933.B NOT
934be used to help identify the devices in the array.
53e8b987 935If no
7e23fc43 936.B \-\-uuid
53e8b987 937is given, a random UUID is chosen.
7d99579f 938
c4f12c13
NB
939The
940.B name
941option will change the
942.I name
943of the array as stored in the superblock. This is only supported for
944version-1 superblocks.
945
0237e0ca
NB
946The
947.B homehost
948option will change the
949.I homehost
950as recorded in the superblock. For version-0 superblocks, this is the
951same as updating the UUID.
952For version-1 superblocks, this involves updating the name.
953
e5329c37
NB
954The
955.B resync
956option will cause the array to be marked
957.I dirty
e0fe762a
N
958meaning that any redundancy in the array (e.g. parity for RAID5,
959copies for RAID1) may be incorrect. This will cause the RAID system
e5329c37
NB
960to perform a "resync" pass to make sure that all redundant information
961is correct.
962
586ed405
NB
963The
964.B byteorder
965option allows arrays to be moved between machines with different
966byte-order.
2ae555c3 967When assembling such an array for the first time after a move, giving
7e23fc43 968.B "\-\-update=byteorder"
586ed405
NB
969will cause
970.I mdadm
971to expect superblocks to have their byteorder reversed, and will
972correct that order before assembling the array. This is only valid
2ae555c3 973with original (Version 0.90) superblocks.
586ed405 974
feb716e9
NB
975The
976.B summaries
e0fe762a 977option will correct the summaries in the superblock. That is the
feb716e9 978counts of total, working, active, failed, and spare devices.
5787fa49 979
bee8ec56
NB
980The
981.B devicesize
982will rarely be of use. It applies to version 1.1 and 1.2 metadata
983only (where the metadata is at the start of the device) and is only
984useful when the component device has changed size (typically become
985larger). The version 1 metadata records the amount of the device that
986can be used to store data, so if a device in a version 1.1 or 1.2
987array becomes larger, the metadata will still be visible, but the
988extra space will not. In this case it might be useful to assemble the
989array with
7e23fc43 990.BR \-\-update=devicesize .
bee8ec56
NB
991This will cause
992.I mdadm
993to determine the maximum usable amount of space on each device and
994update the relevant field in the metadata.
995
d1302dd8 996.ig
41a3b72a 997.TP
7e23fc43 998.B \-\-auto\-update\-homehost
93e790af 999This flag is only meaningful with auto-assembly (see discussion below).
41a3b72a
NB
1000In that situation, if no suitable arrays are found for this homehost,
1001.I mdadm
93e790af 1002will rescan for any arrays at all and will assemble them and update the
41a3b72a 1003homehost to match the current host.
d1302dd8 1004..
41a3b72a 1005
e0d19036 1006.SH For Manage mode:
52826846 1007
cd29a5c8 1008.TP
7e23fc43 1009.BR \-a ", " \-\-add
e0fe762a
N
1010hot-add listed devices. For arrays with redundancy, the listed
1011devices become available as spares. If the array is degraded, it will
1012immediately start recovering data on to one of these spares.
52826846 1013
fe80f49b 1014.TP
7e23fc43 1015.BR \-\-re\-add
e0fe762a
N
1016re-add a device that was recently removed from an array. This is only
1017needed for arrays that have be built (i.e. with
1018.BR --build ).
1019For created arrays, devices are always re-added if that is possible.
1020When re-adding a device, if nothing has changed on the array since the
1021device was removed, no recovery is performed. Also, if the array has
1022a write-intent bitmap, then the recovery performed after a re-add will
1023be limited to those blocks which, according to the bitmap, might have
1024changed since the device was removed.
fe80f49b 1025
cd29a5c8 1026.TP
7e23fc43 1027.BR \-r ", " \-\-remove
2d465520 1028remove listed devices. They must not be active. i.e. they should
b80da661
NB
1029be failed or spare devices. As well as the name of a device file
1030(e.g.
1031.BR /dev/sda1 )
1032the words
1033.B failed
1034and
1035.B detached
1036can be given to
1037.BR \-\-remove .
1038The first causes all failed device to be removed. The second causes
93e790af 1039any device which is no longer connected to the system (i.e an 'open'
b80da661
NB
1040returns
1041.BR ENXIO )
1042to be removed. This will only succeed for devices that are spares or
1043have already been marked as failed.
52826846 1044
cd29a5c8 1045.TP
7e23fc43 1046.BR \-f ", " \-\-fail
cd29a5c8 1047mark listed devices as faulty.
b80da661
NB
1048As well as the name of a device file, the word
1049.B detached
1050can be given. This will cause any device that has been detached from
1051the system to be marked as failed. It can then be removed.
52826846 1052
cd29a5c8 1053.TP
7e23fc43 1054.BR \-\-set\-faulty
53e8b987 1055same as
7e23fc43 1056.BR \-\-fail .
52826846 1057
b3d31955
N
1058.TP
1059.BR \-\-write\-mostly
1060Subsequent devices that are added or re-added will have the 'write-mostly'
e0fe762a 1061flag set. This is only valid for RAID1 and means that the 'md' driver
b3d31955
N
1062will avoid reading from these devices if possible.
1063.TP
1064.BR \-\-readwrite
1065Subsequent devices that are added or re-added will have the 'write-mostly'
1066flag cleared.
1067
2ae555c3 1068.P
e0fe762a 1069Each of these options requires that the first device listed is the array
93e790af 1070to be acted upon, and the remainder are component devices to be added,
e0fe762a 1071removed, marked as faulty, etc. Several different operations can be
2ae555c3
NB
1072specified for different devices, e.g.
1073.in +5
7e23fc43 1074mdadm /dev/md0 \-\-add /dev/sda1 \-\-fail /dev/sdb1 \-\-remove /dev/sdb1
2ae555c3
NB
1075.in -5
1076Each operation applies to all devices listed until the next
93e790af 1077operation.
2ae555c3
NB
1078
1079If an array is using a write-intent bitmap, then devices which have
1080been removed can be re-added in a way that avoids a full
93e790af 1081reconstruction but instead just updates the blocks that have changed
2ae555c3
NB
1082since the device was removed. For arrays with persistent metadata
1083(superblocks) this is done automatically. For arrays created with
7e23fc43 1084.B \-\-build
2ae555c3 1085mdadm needs to be told that this device we removed recently with
7e23fc43 1086.BR \-\-re\-add .
2ae555c3
NB
1087
1088Devices can only be removed from an array if they are not in active
93e790af
SW
1089use, i.e. that must be spares or failed devices. To remove an active
1090device, it must first be marked as
1091.B faulty.
2ae555c3
NB
1092
1093.SH For Misc mode:
1094
1095.TP
7e23fc43 1096.BR \-Q ", " \-\-query
2ae555c3
NB
1097Examine a device to see
1098(1) if it is an md device and (2) if it is a component of an md
1099array.
1100Information about what is discovered is presented.
1101
1102.TP
7e23fc43 1103.BR \-D ", " \-\-detail
e0fe762a 1104Print details of one or more md devices.
5787fa49 1105
4cce4069
DW
1106.TP
1107.BR \-\-detail\-platform
e0fe762a 1108Print details of the platform's RAID capabilities (firmware / hardware
4cce4069
DW
1109topology) for a given metadata format.
1110
54bad364
KS
1111.TP
1112.BR \-Y ", " \-\-export
1113When used with
0d726f17
KS
1114.B \-\-detail
1115or
1116.BR \-\-examine ,
54bad364
KS
1117output will be formatted as
1118.B key=value
1119pairs for easy import into the environment.
1120
2ae555c3 1121.TP
7e23fc43 1122.BR \-E ", " \-\-examine
e0fe762a
N
1123Print contents of the metadata stored on the named device(s).
1124Note the contrast between
1125.B \-\-examine
1126and
1127.BR \-\-detail .
1128.B \-\-examine
1129applies to devices which are components of an array, while
1130.B \-\-detail
1131applies to a whole array which is currently active.
5787fa49 1132.TP
7e23fc43 1133.B \-\-sparc2.2
e0fe762a
N
1134If an array was created on a SPARC machine with a 2.2 Linux kernel
1135patched with RAID support, the superblock will have been created
1136incorrectly, or at least incompatibly with 2.4 and later kernels.
1137Using the
7e23fc43 1138.B \-\-sparc2.2
5787fa49 1139flag with
7e23fc43 1140.B \-\-examine
5787fa49
NB
1141will fix the superblock before displaying it. If this appears to do
1142the right thing, then the array can be successfully assembled using
7e23fc43 1143.BR "\-\-assemble \-\-update=sparc2.2" .
5787fa49 1144
2ae555c3 1145.TP
7e23fc43 1146.BR \-X ", " \-\-examine\-bitmap
2ae555c3 1147Report information about a bitmap file.
01d9299c 1148The argument is either an external bitmap file or an array component
e0fe762a
N
1149in case of an internal bitmap. Note that running this on an array
1150device (e.g.
1151.BR /dev/md0 )
1152does not report the bitmap for that array.
e0d19036 1153
cd29a5c8 1154.TP
7e23fc43 1155.BR \-R ", " \-\-run
e0fe762a
N
1156start a partially assembled array. If
1157.B \-\-assemble
1158did not find enough devices to fully start the array, it might leaving
1159it partially assembled. If you wish, you can then use
1160.B \-\-run
1161to start the array in degraded mode.
52826846 1162
cd29a5c8 1163.TP
7e23fc43 1164.BR \-S ", " \-\-stop
cd29a5c8 1165deactivate array, releasing all resources.
52826846 1166
cd29a5c8 1167.TP
7e23fc43 1168.BR \-o ", " \-\-readonly
cd29a5c8 1169mark array as readonly.
52826846 1170
cd29a5c8 1171.TP
7e23fc43 1172.BR \-w ", " \-\-readwrite
cd29a5c8 1173mark array as readwrite.
52826846 1174
e0d19036 1175.TP
7e23fc43 1176.B \-\-zero\-superblock
e0d19036 1177If the device contains a valid md superblock, the block is
35cc5be4 1178overwritten with zeros. With
7e23fc43 1179.B \-\-force
35cc5be4 1180the block where the superblock would be is overwritten even if it
e0d19036 1181doesn't appear to be valid.
52826846 1182
feb716e9 1183.TP
7e23fc43 1184.BR \-t ", " \-\-test
feb716e9 1185When used with
7e23fc43 1186.BR \-\-detail ,
feb716e9
NB
1187the exit status of
1188.I mdadm
e0fe762a
N
1189is set to reflect the status of the device. See below in
1190.B MISC MODE
1191for details.
feb716e9 1192
b90c0e9a 1193.TP
7e23fc43 1194.BR \-W ", " \-\-wait
b90c0e9a
NB
1195For each md device given, wait for any resync, recovery, or reshape
1196activity to finish before returning.
1197.I mdadm
1198will return with success if it actually waited for every device
1199listed, otherwise it will return failure.
1200
1770662b
DW
1201.TP
1202.BR \-\-wait\-clean
fabbfd48
DW
1203For each md device given, or each device in /proc/mdstat if
1204.B \-\-scan
1205is given, arrange for the array to be marked clean as soon as possible.
1206Also, quiesce resync so that the monitor for external metadata arrays
1207(mdmon) has an opportunity to checkpoint the resync position.
7146ec6a
DW
1208.I mdadm
1209will return with success if the array uses external metadata and we
1210successfully waited. For native arrays this returns immediately as the
1211kernel handles both dirty-clean transitions and resync checkpointing in
1212the kernel at shutdown. No action is taken if safe-mode handling is
1213disabled.
1770662b 1214
8382f19b
NB
1215.SH For Incremental Assembly mode:
1216.TP
7e23fc43 1217.BR \-\-rebuild\-map ", " \-r
8382f19b
NB
1218Rebuild the map file
1219.RB ( /var/run/mdadm/map )
1220that
1221.I mdadm
1222uses to help track which arrays are currently being assembled.
1223
1224.TP
7e23fc43 1225.BR \-\-run ", " \-R
8382f19b
NB
1226Run any array assembled as soon as a minimal number of devices are
1227available, rather than waiting until all expected devices are present.
1228
1229.TP
7e23fc43 1230.BR \-\-scan ", " \-s
8382f19b 1231Only meaningful with
7e23fc43 1232.B \-R
8382f19b
NB
1233this will scan the
1234.B map
1235file for arrays that are being incrementally assembled and will try to
1236start any that are not already started. If any such array is listed
1237in
1238.B mdadm.conf
1239as requiring an external bitmap, that bitmap will be attached first.
1240
e0d19036
NB
1241.SH For Monitor mode:
1242.TP
7e23fc43 1243.BR \-m ", " \-\-mail
e0d19036
NB
1244Give a mail address to send alerts to.
1245
1246.TP
7e23fc43 1247.BR \-p ", " \-\-program ", " \-\-alert
e0d19036
NB
1248Give a program to be run whenever an event is detected.
1249
773135f5 1250.TP
7e23fc43 1251.BR \-y ", " \-\-syslog
773135f5
NB
1252Cause all events to be reported through 'syslog'. The messages have
1253facility of 'daemon' and varying priorities.
1254
e0d19036 1255.TP
7e23fc43 1256.BR \-d ", " \-\-delay
e0d19036 1257Give a delay in seconds.
51ac42e3 1258.I mdadm
e0d19036 1259polls the md arrays and then waits this many seconds before polling
e0fe762a
N
1260again. The default is 60 seconds. Since 2.6.16, there is no need to
1261reduce this as the kernel alerts
1262.I mdadm
1263immediately when there is any change.
e0d19036 1264
9a36a9b7
ZB
1265.TP
1266.BR \-r ", " \-\-increment
1267Give a percentage increment.
1268.I mdadm
1269will generate RebuildNN events with the given percentage increment.
1270
d013a55e 1271.TP
7e23fc43 1272.BR \-f ", " \-\-daemonise
d013a55e 1273Tell
51ac42e3 1274.I mdadm
d013a55e 1275to run as a background daemon if it decides to monitor anything. This
e0fe762a 1276causes it to fork and run in the child, and to disconnect from the
d013a55e
NB
1277terminal. The process id of the child is written to stdout.
1278This is useful with
7e23fc43 1279.B \-\-scan
d013a55e
NB
1280which will only continue monitoring if a mail address or alert program
1281is found in the config file.
1282
b5e64645 1283.TP
7e23fc43 1284.BR \-i ", " \-\-pid\-file
b5e64645 1285When
51ac42e3 1286.I mdadm
b5e64645
NB
1287is running in daemon mode, write the pid of the daemon process to
1288the specified file, instead of printing it on standard output.
1289
aa88f531 1290.TP
7e23fc43 1291.BR \-1 ", " \-\-oneshot
aa88f531
NB
1292Check arrays only once. This will generate
1293.B NewArray
1294events and more significantly
1295.B DegradedArray
a9d69660
NB
1296and
1297.B SparesMissing
aa88f531
NB
1298events. Running
1299.in +5
7e23fc43 1300.B " mdadm \-\-monitor \-\-scan \-1"
aa88f531
NB
1301.in -5
1302from a cron script will ensure regular notification of any degraded arrays.
1303
98c6faba 1304.TP
7e23fc43 1305.BR \-t ", " \-\-test
98c6faba
NB
1306Generate a
1307.B TestMessage
1308alert for every array found at startup. This alert gets mailed and
1309passed to the alert program. This can be used for testing that alert
a9d69660 1310message do get through successfully.
98c6faba 1311
e0d19036 1312.SH ASSEMBLE MODE
52826846 1313
cd29a5c8
NB
1314.HP 12
1315Usage:
7e23fc43 1316.B mdadm \-\-assemble
5787fa49
NB
1317.I md-device options-and-component-devices...
1318.HP 12
1319Usage:
7e23fc43 1320.B mdadm \-\-assemble \-\-scan
e0fe762a 1321.I md-devices-and-options...
cd29a5c8
NB
1322.HP 12
1323Usage:
7e23fc43 1324.B mdadm \-\-assemble \-\-scan
e0fe762a 1325.I options...
52826846 1326
cd29a5c8 1327.PP
e0fe762a 1328This usage assembles one or more RAID arrays from pre-existing components.
9a9dab36 1329For each array, mdadm needs to know the md device, the identity of the
e0fe762a 1330array, and a number of component-devices. These can be found in a number of ways.
52826846 1331
5787fa49 1332In the first usage example (without the
7e23fc43 1333.BR \-\-scan )
5787fa49
NB
1334the first device given is the md device.
1335In the second usage example, all devices listed are treated as md
1336devices and assembly is attempted.
1337In the third (where no devices are listed) all md devices that are
e0fe762a
N
1338listed in the configuration file are assembled. If not arrays are
1339described by the configuration file, then any arrays that
1340can be found on unused devices will be assembled.
52826846 1341
d013a55e 1342If precisely one device is listed, but
7e23fc43 1343.B \-\-scan
dd0781e5 1344is not given, then
d013a55e
NB
1345.I mdadm
1346acts as though
7e23fc43 1347.B \-\-scan
93e790af 1348was given and identity information is extracted from the configuration file.
d013a55e 1349
2ae555c3 1350The identity can be given with the
7e23fc43 1351.B \-\-uuid
e0fe762a
N
1352option, the
1353.B \-\-name
1354option, or the
7e23fc43 1355.B \-\-super\-minor
93e790af
SW
1356option, will be taken from the md-device record in the config file, or
1357will be taken from the super block of the first component-device
1358listed on the command line.
52826846 1359
2ae555c3 1360Devices can be given on the
7e23fc43 1361.B \-\-assemble
e0fe762a 1362command line or in the config file. Only devices which have an md
5787fa49
NB
1363superblock which contains the right identity will be considered for
1364any array.
52826846 1365
2ae555c3 1366The config file is only used if explicitly named with
7e23fc43 1367.B \-\-config
d013a55e 1368or requested with (a possibly implicit)
7e23fc43 1369.BR \-\-scan .
52826846 1370In the later case,
9a9dab36 1371.B /etc/mdadm.conf
8fd8d9c4
N
1372or
1373.B /etc/mdadm/mdadm.conf
52826846
NB
1374is used.
1375
2ae555c3 1376If
7e23fc43 1377.B \-\-scan
cd29a5c8
NB
1378is not given, then the config file will only be used to find the
1379identity of md arrays.
52826846 1380
2d465520 1381Normally the array will be started after it is assembled. However if
7e23fc43 1382.B \-\-scan
e0fe762a
N
1383is not given and not all expected drives were listed, then the array
1384is not started (to guard against usage errors). To insist that the
1385array be started in this case (as may work for RAID1, 4, 5, 6, or 10),
1386give the
7e23fc43 1387.B \-\-run
cd29a5c8 1388flag.
52826846 1389
e0fe762a
N
1390If
1391.I udev
1392is active,
1393.I mdadm
1394does not create any entries in
dd0781e5 1395.B /dev
e0fe762a
N
1396but leaves that to
1397.IR udev .
1398It does record information in
1399.B /var/run/mdadm/map
1400which will allow
1401.I udev
1402to choose the correct name.
dd0781e5 1403
e0fe762a
N
1404If
1405.I mdadm
1406detects that udev is not configured, it will create the devices in
1407.B /dev
1408itself.
dd0781e5 1409
e0fe762a
N
1410In Linux kernels prior to version 2.6.28 there were two distinctly
1411different types of md devices that could be created: one that could be
1412partitioned using standard partitioning tools and one that could not.
1413Since 2.6.28 that distinction is no longer relevant as both type of
1414devices can be partitioned.
1415.I mdadm
1416will normally create the type that originally could not be partitioned
1417as it has a well defined major number (9).
dd0781e5 1418
e0fe762a
N
1419Prior to 2.6.28, it is important that mdadm chooses the correct type
1420of array device to use. This can be controlled with the
1421.B \-\-auto
1422option. In particular, a value of "mdp" or "part" or "p" tells mdadm
1423to use a partitionable device rather than the default.
dd0781e5 1424
e0fe762a
N
1425In the no-udev case, the value given to
1426.B \-\-auto
1427can be suffixed by a number. This tells
1428.I mdadm
1429to create that number of partition devices rather than the default of 4.
dd0781e5 1430
e0fe762a 1431The value given to
7e23fc43 1432.B \-\-auto
e0fe762a
N
1433can also be given in the configuration file as a word starting
1434.B auto=
1435on the ARRAY line for the relevant array.
52826846 1436
41a3b72a
NB
1437.SS Auto Assembly
1438When
7e23fc43 1439.B \-\-assemble
41a3b72a 1440is used with
7e23fc43 1441.B \-\-scan
41a3b72a
NB
1442and no devices are listed,
1443.I mdadm
1444will first attempt to assemble all the arrays listed in the config
1445file.
1446
e0fe762a
N
1447In no array at listed in the config (other than those marked
1448.BR <ignore> )
1449it will look through the available devices for possible arrays and
1450will try to assemble anything that it finds. Arrays which are tagged
1451as belonging to the given homehost will be assembled and started
1452normally. Arrays which do not obviously belong to this host are given
1453names that are expected not to conflict with anything local, and are
1454started "read-auto" so that nothing is written to any device until the
1455array is written to. i.e. automatic resync etc is delayed.
41a3b72a
NB
1456
1457If
1458.I mdadm
1459finds a consistent set of devices that look like they should comprise
1460an array, and if the superblock is tagged as belonging to the given
1461home host, it will automatically choose a device name and try to
1462assemble the array. If the array uses version-0.90 metadata, then the
1463.B minor
1464number as recorded in the superblock is used to create a name in
1465.B /dev/md/
1466so for example
1467.BR /dev/md/3 .
1468If the array uses version-1 metadata, then the
1469.B name
1470from the superblock is used to similarly create a name in
e0fe762a 1471.B /dev/md/
93e790af 1472(the name will have any 'host' prefix stripped first).
41a3b72a 1473
c64ba03a
N
1474This behaviour can be modified by the
1475.I AUTO
1476line in the
1477.I mdadm.conf
1478configuration file. This line can indicate that specific metadata
1479type should, or should not, be automatically assembled. If an array
1480is found which is not listed in
1481.I mdadm.conf
1482and has a metadata format that is denied by the
1483.I AUTO
1484line, then it will not be assembled.
1485The
1486.I AUTO
1487line can also request that all arrays identified as being for this
1488homehost should be assembled regardless of their metadata type.
1489See
1490.IR mdadm.conf (5)
1491for further details.
1492
d1302dd8 1493.ig
41a3b72a
NB
1494If
1495.I mdadm
1496cannot find any array for the given host at all, and if
7e23fc43 1497.B \-\-auto\-update\-homehost
41a3b72a
NB
1498is given, then
1499.I mdadm
1500will search again for any array (not just an array created for this
1501host) and will assemble each assuming
7e23fc43 1502.BR \-\-update=homehost .
41a3b72a
NB
1503This will change the host tag in the superblock so that on the next run,
1504these arrays will be found without the second pass. The intention of
1505this feature is to support transitioning a set of md arrays to using
1506homehost tagging.
1507
1508The reason for requiring arrays to be tagged with the homehost for
1509auto assembly is to guard against problems that can arise when moving
1510devices from one host to another.
d1302dd8 1511..
41a3b72a 1512
cd29a5c8 1513.SH BUILD MODE
52826846 1514
cd29a5c8
NB
1515.HP 12
1516Usage:
7e23fc43 1517.B mdadm \-\-build
93e790af 1518.I md-device
7e23fc43
PS
1519.BI \-\-chunk= X
1520.BI \-\-level= Y
1521.BI \-\-raid\-devices= Z
cd29a5c8
NB
1522.I devices
1523
1524.PP
2ae555c3 1525This usage is similar to
7e23fc43 1526.BR \-\-create .
e0fe762a 1527The difference is that it creates an array without a superblock. With
cd29a5c8 1528these arrays there is no difference between initially creating the array and
52826846
NB
1529subsequently assembling the array, except that hopefully there is useful
1530data there in the second case.
1531
e0fe762a
N
1532The level may raid0, linear, raid1, raid10, multipath, or faulty, or
1533one of their synonyms. All devices must be listed and the array will
1534be started once complete. It will often be appropriate to use
1535.B \-\-assume\-clean
1536with levels raid1 or raid10.
cd29a5c8
NB
1537
1538.SH CREATE MODE
1539
1540.HP 12
1541Usage:
7e23fc43 1542.B mdadm \-\-create
93e790af 1543.I md-device
7e23fc43
PS
1544.BI \-\-chunk= X
1545.BI \-\-level= Y
cd29a5c8 1546.br
7e23fc43 1547.BI \-\-raid\-devices= Z
e0fe762a 1548.I devices
cd29a5c8
NB
1549
1550.PP
1551This usage will initialise a new md array, associate some devices with
1552it, and activate the array.
1553
e0fe762a
N
1554The named device will normally not exist when
1555.I "mdadm \-\-create"
1556is run, but will be created by
1557.I udev
1558once the array becomes active.
dd0781e5 1559
e0fe762a
N
1560As devices are added, they are checked to see if they contain RAID
1561superblocks or filesystems. They are also checked to see if the variance in
cd29a5c8
NB
1562device size exceeds 1%.
1563
1564If any discrepancy is found, the array will not automatically be run, though
2ae555c3 1565the presence of a
7e23fc43 1566.B \-\-run
cd29a5c8
NB
1567can override this caution.
1568
2d465520 1569To create a "degraded" array in which some devices are missing, simply
d013a55e 1570give the word "\fBmissing\fP"
2d465520 1571in place of a device name. This will cause
51ac42e3 1572.I mdadm
2d465520
NB
1573to leave the corresponding slot in the array empty.
1574For a RAID4 or RAID5 array at most one slot can be
98c6faba 1575"\fBmissing\fP"; for a RAID6 array at most two slots.
2d465520
NB
1576For a RAID1 array, only one real device needs to be given. All of the
1577others can be
d013a55e 1578"\fBmissing\fP".
2d465520 1579
feb716e9 1580When creating a RAID5 array,
51ac42e3 1581.I mdadm
feb716e9 1582will automatically create a degraded array with an extra spare drive.
e0fe762a
N
1583This is because building the spare into a degraded array is in general
1584faster than resyncing the parity on a non-degraded, but not clean,
1585array. This feature can be overridden with the
7e23fc43 1586.B \-\-force
feb716e9
NB
1587option.
1588
0ee4da98 1589When creating an array with version-1 metadata a name for the array is
41a3b72a
NB
1590required.
1591If this is not given with the
7e23fc43 1592.B \-\-name
41a3b72a
NB
1593option,
1594.I mdadm
0ee4da98 1595will choose a name based on the last component of the name of the
41a3b72a
NB
1596device being created. So if
1597.B /dev/md3
1598is being created, then the name
1599.B 3
1600will be chosen.
1601If
1602.B /dev/md/home
1603is being created, then the name
1604.B home
1605will be used.
1606
e0fe762a
N
1607When creating a partition based array, using
1608.I mdadm
1609with version-1.x metadata, the partition type should be set to
e0f31f50 1610.B 0xDA
e0fe762a 1611(non fs-data). This type selection allows for greater precision since
e0f31f50
PC
1612using any other [RAID auto-detect (0xFD) or a GNU/Linux partition (0x83)],
1613might create problems in the event of array recovery through a live cdrom.
1614
3d3dd91e
NB
1615A new array will normally get a randomly assigned 128bit UUID which is
1616very likely to be unique. If you have a specific need, you can choose
1617a UUID for the array by giving the
7e23fc43 1618.B \-\-uuid=
3d3dd91e
NB
1619option. Be warned that creating two arrays with the same UUID is a
1620recipe for disaster. Also, using
7e23fc43 1621.B \-\-uuid=
3d3dd91e 1622when creating a v0.90 array will silently override any
7e23fc43 1623.B \-\-homehost=
3d3dd91e 1624setting.
e43d0cda
NB
1625.\"If the
1626.\".B \-\-size
1627.\"option is given, it is not necessary to list any component-devices in this command.
1628.\"They can be added later, before a
1629.\".B \-\-run.
1630.\"If no
1631.\".B \-\-size
1632.\"is given, the apparent size of the smallest drive given is used.
cd29a5c8 1633
8fd8d9c4
N
1634When creating an array within a
1635.B CONTAINER
1636.I mdadm
1637can be given either the list of devices to use, or simply the name of
1638the container. The former case gives control over which devices in
1639the container will be used for the array. The latter case allows
1640.I mdadm
1641to automatically choose which devices to use based on how much spare
1642space is available.
1643
53e8b987 1644The General Management options that are valid with
7e23fc43 1645.B \-\-create
53e8b987 1646are:
cd29a5c8 1647.TP
7e23fc43 1648.B \-\-run
dd0781e5 1649insist on running the array even if some devices look like they might
cd29a5c8
NB
1650be in use.
1651
1652.TP
7e23fc43 1653.B \-\-readonly
b3f1c093 1654start the array readonly \(em not supported yet.
52826846 1655
e0d19036 1656.SH MANAGE MODE
cd29a5c8
NB
1657.HP 12
1658Usage:
e0d19036
NB
1659.B mdadm
1660.I device
1661.I options... devices...
cd29a5c8
NB
1662.PP
1663
e0d19036
NB
1664This usage will allow individual devices in an array to be failed,
1665removed or added. It is possible to perform multiple operations with
e0fe762a 1666on command. For example:
e0d19036 1667.br
7e23fc43 1668.B " mdadm /dev/md0 \-f /dev/hda1 \-r /dev/hda1 \-a /dev/hda1"
e0d19036
NB
1669.br
1670will firstly mark
1671.B /dev/hda1
1672as faulty in
1673.B /dev/md0
1674and will then remove it from the array and finally add it back
2d465520 1675in as a spare. However only one md array can be affected by a single
2ae555c3 1676command.
e0d19036 1677
e0fe762a
N
1678When a device is added to an active array, mdadm checks to see if it
1679has metadata on it which suggests that it was recently a member of the
1680array. If it does, it tried to "re-add" the device. If there have
1681been no changes since the device was removed, or if the array has a
1682write-intent bitmap which has recorded whatever changes there were,
1683then the device will immediately become a full member of the array and
1684those differences recorded in the bitmap will be resolved.
1685
e0d19036
NB
1686.SH MISC MODE
1687.HP 12
1688Usage:
9a9dab36 1689.B mdadm
e0d19036 1690.I options ...
e0fe762a 1691.I devices ...
e0d19036 1692.PP
cd29a5c8 1693
b5e64645 1694MISC mode includes a number of distinct operations that
e0d19036
NB
1695operate on distinct devices. The operations are:
1696.TP
962a108f 1697.B \-\-query
e0d19036
NB
1698The device is examined to see if it is
1699(1) an active md array, or
1700(2) a component of an md array.
1701The information discovered is reported.
1702
1703.TP
962a108f 1704.B \-\-detail
2d465520 1705The device should be an active md device.
e0fe762a 1706.B mdadm
2d465520 1707will display a detailed description of the array.
7e23fc43 1708.B \-\-brief
2d465520 1709or
7e23fc43 1710.B \-\-scan
2d465520 1711will cause the output to be less detailed and the format to be
e0d19036 1712suitable for inclusion in
9a9dab36 1713.BR /etc/mdadm.conf .
feb716e9
NB
1714The exit status of
1715.I mdadm
1716will normally be 0 unless
1717.I mdadm
93e790af 1718failed to get useful information about the device(s); however, if the
7e23fc43 1719.B \-\-test
feb716e9
NB
1720option is given, then the exit status will be:
1721.RS
1722.TP
17230
1724The array is functioning normally.
1725.TP
17261
1727The array has at least one failed device.
1728.TP
17292
a77be586 1730The array has multiple failed devices such that it is unusable.
feb716e9
NB
1731.TP
17324
1733There was an error while trying to get information about the device.
1734.RE
cd29a5c8 1735
4cce4069
DW
1736.TP
1737.B \-\-detail\-platform
e0fe762a 1738Print detail of the platform's RAID capabilities (firmware / hardware
4cce4069
DW
1739topology). If the metadata is specified with
1740.B \-e
1741or
1742.B \-\-metadata=
1743then the return status will be:
1744.RS
1745.TP
17460
1747metadata successfully enumerated its platform components on this system
1748.TP
17491
1750metadata is platform independent
1751.TP
17522
1753metadata failed to find its platform components on this system
1754.RE
1755
e0d19036 1756.TP
962a108f 1757.B \-\-examine
2d465520 1758The device should be a component of an md array.
51ac42e3 1759.I mdadm
2d465520 1760will read the md superblock of the device and display the contents.
e0d19036 1761If
7e23fc43 1762.B \-\-brief
93e790af 1763or
7e23fc43 1764.B \-\-scan
93e790af 1765is given, then multiple devices that are components of the one array
e0d19036
NB
1766are grouped together and reported in a single entry suitable
1767for inclusion in
1768.BR /etc/mdadm.conf .
1769
2d465520 1770Having
7e23fc43 1771.B \-\-scan
e0d19036
NB
1772without listing any devices will cause all devices listed in the
1773config file to be examined.
1774
1775.TP
962a108f 1776.B \-\-stop
98c6faba
NB
1777The devices should be active md arrays which will be deactivated, as
1778long as they are not currently in use.
e0d19036
NB
1779
1780.TP
962a108f 1781.B \-\-run
e0d19036
NB
1782This will fully activate a partially assembled md array.
1783
1784.TP
962a108f 1785.B \-\-readonly
e0d19036
NB
1786This will mark an active array as read-only, providing that it is
1787not currently being used.
1788
1789.TP
962a108f 1790.B \-\-readwrite
e0d19036
NB
1791This will change a
1792.B readonly
1793array back to being read/write.
1794
2d465520 1795.TP
962a108f 1796.B \-\-scan
2d465520 1797For all operations except
7e23fc43
PS
1798.BR \-\-examine ,
1799.B \-\-scan
2d465520
NB
1800will cause the operation to be applied to all arrays listed in
1801.BR /proc/mdstat .
1802For
7e23fc43
PS
1803.BR \-\-examine,
1804.B \-\-scan
2d465520
NB
1805causes all devices listed in the config file to be examined.
1806
a1331cc4
N
1807.TP
1808.BR \-b ", " \-\-brief
1809Be less verbose. This is used with
1810.B \-\-detail
1811and
1812.BR \-\-examine .
1813Using
1814.B \-\-brief
1815with
1816.B \-\-verbose
1817gives an intermediate level of verbosity.
1818
e0d19036
NB
1819.SH MONITOR MODE
1820
cd29a5c8
NB
1821.HP 12
1822Usage:
7e23fc43 1823.B mdadm \-\-monitor
e0d19036
NB
1824.I options... devices...
1825
cd29a5c8 1826.PP
e0d19036 1827This usage causes
51ac42e3 1828.I mdadm
e0d19036
NB
1829to periodically poll a number of md arrays and to report on any events
1830noticed.
51ac42e3 1831.I mdadm
e0d19036
NB
1832will never exit once it decides that there are arrays to be checked,
1833so it should normally be run in the background.
1834
2d465520 1835As well as reporting events,
51ac42e3 1836.I mdadm
2d465520
NB
1837may move a spare drive from one array to another if they are in the
1838same
1839.B spare-group
a9d69660 1840and if the destination array has a failed drive but no spares.
2d465520 1841
e0d19036 1842If any devices are listed on the command line,
51ac42e3 1843.I mdadm
e0fe762a 1844will only monitor those devices. Otherwise all arrays listed in the
e0d19036 1845configuration file will be monitored. Further, if
7e23fc43 1846.B \-\-scan
e0d19036
NB
1847is given, then any other md devices that appear in
1848.B /proc/mdstat
1849will also be monitored.
1850
1851The result of monitoring the arrays is the generation of events.
bd526cee 1852These events are passed to a separate program (if specified) and may
2d465520 1853be mailed to a given E-mail address.
e0d19036 1854
93e790af
SW
1855When passing events to a program, the program is run once for each event,
1856and is given 2 or 3 command-line arguments: the first is the
1857name of the event (see below), the second is the name of the
bd526cee 1858md device which is affected, and the third is the name of a related
93e790af 1859device if relevant (such as a component device that has failed).
cd29a5c8
NB
1860
1861If
7e23fc43 1862.B \-\-scan
e0d19036
NB
1863is given, then a program or an E-mail address must be specified on the
1864command line or in the config file. If neither are available, then
51ac42e3 1865.I mdadm
e0d19036
NB
1866will not monitor anything.
1867Without
93e790af 1868.B \-\-scan,
51ac42e3 1869.I mdadm
2d465520 1870will continue monitoring as long as something was found to monitor. If
e0d19036
NB
1871no program or email is given, then each event is reported to
1872.BR stdout .
cd29a5c8 1873
e0d19036
NB
1874The different events are:
1875
1876.RS 4
1877.TP
1878.B DeviceDisappeared
2d465520 1879An md array which previously was configured appears to no longer be
773135f5 1880configured. (syslog priority: Critical)
e0d19036 1881
b8f72a62
NB
1882If
1883.I mdadm
1884was told to monitor an array which is RAID0 or Linear, then it will
1885report
1886.B DeviceDisappeared
1887with the extra information
1888.BR Wrong-Level .
1889This is because RAID0 and Linear do not support the device-failed,
1890hot-spare and resync operations which are monitored.
1891
e0d19036
NB
1892.TP
1893.B RebuildStarted
773135f5 1894An md array started reconstruction. (syslog priority: Warning)
e0d19036
NB
1895
1896.TP
1897.BI Rebuild NN
1898Where
1899.I NN
9a36a9b7
ZB
1900is a two-digit number (ie. 05, 48). This indicates that rebuild
1901has passed that many percent of the total. The events are generated
1902with fixed increment since 0. Increment size may be specified with
1903a commandline option (default is 20). (syslog priority: Warning)
e0d19036 1904
98c6faba
NB
1905.TP
1906.B RebuildFinished
1907An md array that was rebuilding, isn't any more, either because it
773135f5 1908finished normally or was aborted. (syslog priority: Warning)
98c6faba 1909
e0d19036
NB
1910.TP
1911.B Fail
773135f5
NB
1912An active component device of an array has been marked as
1913faulty. (syslog priority: Critical)
e0d19036
NB
1914
1915.TP
1916.B FailSpare
1917A spare component device which was being rebuilt to replace a faulty
93e790af 1918device has failed. (syslog priority: Critical)
e0d19036
NB
1919
1920.TP
1921.B SpareActive
1922A spare component device which was being rebuilt to replace a faulty
98b24a2a 1923device has been successfully rebuilt and has been made active.
773135f5 1924(syslog priority: Info)
e0d19036
NB
1925
1926.TP
1927.B NewArray
1928A new md array has been detected in the
1929.B /proc/mdstat
e0fe762a 1930file. (syslog priority: Info)
e0d19036 1931
aa88f531
NB
1932.TP
1933.B DegradedArray
1934A newly noticed array appears to be degraded. This message is not
1935generated when
1936.I mdadm
1937notices a drive failure which causes degradation, but only when
1938.I mdadm
1939notices that an array is degraded when it first sees the array.
93e790af 1940(syslog priority: Critical)
aa88f531 1941
e0d19036
NB
1942.TP
1943.B MoveSpare
1944A spare drive has been moved from one array in a
1945.B spare-group
1946to another to allow a failed drive to be replaced.
773135f5 1947(syslog priority: Info)
e0d19036 1948
b8f72a62
NB
1949.TP
1950.B SparesMissing
1951If
1952.I mdadm
1953has been told, via the config file, that an array should have a certain
1954number of spare devices, and
1955.I mdadm
93e790af 1956detects that it has fewer than this number when it first sees the
b8f72a62
NB
1957array, it will report a
1958.B SparesMissing
1959message.
d1732eeb 1960(syslog priority: Warning)
b8f72a62 1961
98c6faba
NB
1962.TP
1963.B TestMessage
1964An array was found at startup, and the
7e23fc43 1965.B \-\-test
98c6faba 1966flag was given.
773135f5 1967(syslog priority: Info)
e0d19036
NB
1968.RE
1969
1970Only
93e790af
SW
1971.B Fail,
1972.B FailSpare,
1973.B DegradedArray,
1974.B SparesMissing
e0d19036 1975and
98c6faba 1976.B TestMessage
e0d19036 1977cause Email to be sent. All events cause the program to be run.
93e790af 1978The program is run with two or three arguments: the event
e0d19036
NB
1979name, the array device and possibly a second device.
1980
1981Each event has an associated array device (e.g.
1982.BR /dev/md1 )
1983and possibly a second device. For
1984.BR Fail ,
1985.BR FailSpare ,
1986and
1987.B SpareActive
1988the second device is the relevant component device.
1989For
1990.B MoveSpare
1991the second device is the array that the spare was moved from.
1992
1993For
51ac42e3 1994.I mdadm
e0d19036 1995to move spares from one array to another, the different arrays need to
93e790af 1996be labeled with the same
e0d19036
NB
1997.B spare-group
1998in the configuration file. The
1999.B spare-group
93e790af 2000name can be any string; it is only necessary that different spare
2d465520 2001groups use different names.
e0d19036
NB
2002
2003When
51ac42e3 2004.I mdadm
93e790af 2005detects that an array in a spare group has fewer active
e0d19036
NB
2006devices than necessary for the complete array, and has no spare
2007devices, it will look for another array in the same spare group that
2008has a full complement of working drive and a spare. It will then
2009attempt to remove the spare from the second drive and add it to the
2010first.
2011If the removal succeeds but the adding fails, then it is added back to
2012the original array.
2013
dd0781e5
NB
2014.SH GROW MODE
2015The GROW mode is used for changing the size or shape of an active
2016array.
2017For this to work, the kernel must support the necessary change.
2ae555c3 2018Various types of growth are being added during 2.6 development,
e0fe762a 2019including restructuring a RAID5 array to have more active devices.
dd0781e5 2020
dfd4d8ee
NB
2021Currently the only support available is to
2022.IP \(bu 4
2023change the "size" attribute
2024for RAID1, RAID5 and RAID6.
2025.IP \(bu 4
f24e2d6c
N
2026increase or decrease the "raid\-devices" attribute of RAID1, RAID5,
2027and RAID6.
2028.IP \bu 4
2029change the chunk-size and layout of RAID5 and RAID6.
2030.IP \bu 4
2031convert between RAID1 and RAID5, and between RAID5 and RAID6.
dfd4d8ee 2032.IP \(bu 4
93e790af 2033add a write-intent bitmap to any array which supports these bitmaps, or
2ae555c3 2034remove a write-intent bitmap from such an array.
dfd4d8ee 2035.PP
dd0781e5 2036
8fd8d9c4
N
2037GROW mode is not currently supported for
2038.B CONTAINERS
2039or arrays inside containers.
2040
2ae555c3 2041.SS SIZE CHANGES
fe80f49b 2042Normally when an array is built the "size" it taken from the smallest
dd0781e5
NB
2043of the drives. If all the small drives in an arrays are, one at a
2044time, removed and replaced with larger drives, then you could have an
2045array of large drives with only a small amount used. In this
2046situation, changing the "size" with "GROW" mode will allow the extra
2047space to start being used. If the size is increased in this way, a
2048"resync" process will start to make sure the new parts of the array
2049are synchronised.
2050
2051Note that when an array changes size, any filesystem that may be
2052stored in the array will not automatically grow to use the space. The
2053filesystem will need to be explicitly told to use the extra space.
2054
e0fe762a
N
2055Also the size of an array cannot be changed while it has an active
2056bitmap. If an array has a bitmap, it must be removed before the size
2057can be changed. Once the change it complete a new bitmap can be created.
2058
2059.SS RAID\-DEVICES CHANGES
2ae555c3 2060
dd0781e5
NB
2061A RAID1 array can work with any number of devices from 1 upwards
2062(though 1 is not very useful). There may be times which you want to
2063increase or decrease the number of active devices. Note that this is
2064different to hot-add or hot-remove which changes the number of
2065inactive devices.
2066
2067When reducing the number of devices in a RAID1 array, the slots which
2068are to be removed from the array must already be vacant. That is, the
93e790af 2069devices which were in those slots must be failed and removed.
dd0781e5
NB
2070
2071When the number of devices is increased, any hot spares that are
a9d69660 2072present will be activated immediately.
dd0781e5 2073
f24e2d6c 2074Changing the number of active devices in a RAID5 or RAID6 is much more
2ae555c3 2075effort. Every block in the array will need to be read and written
f24e2d6c 2076back to a new location. From 2.6.17, the Linux Kernel is able to
ca4f89a3
N
2077increase the number of devices in a RAID5 safely, including restarting
2078an interrupted "reshape". From 2.6.31, the Linux Kernel is able to
f24e2d6c
N
2079increase or decrease the number of devices in a RAID5 or RAID6.
2080
2081When decreasing the number of devices, the size of the array will also
2082decrease. If there was data in the array, it could get destroyed and
2083this is not reversible. To help prevent accidents,
2084.I mdadm
2085requires that the size of the array be decreased first with
2086.BR "mdadm --grow --array-size" .
2087This is a reversible change which simply makes the end of the array
2088inaccessible. The integrity of any data can then be checked before
2089the non-reversible reduction in the number of devices is request.
2ae555c3 2090
e0fe762a 2091When relocating the first few stripes on a RAID5, it is not possible
2ae555c3
NB
2092to keep the data on disk completely consistent and crash-proof. To
2093provide the required safety, mdadm disables writes to the array while
2094this "critical section" is reshaped, and takes a backup of the data
2095that is in that section. This backup is normally stored in any spare
2096devices that the array has, however it can also be stored in a
2097separate file specified with the
7e23fc43 2098.B \-\-backup\-file
2ae555c3
NB
2099option. If this option is used, and the system does crash during the
2100critical period, the same file must be passed to
7e23fc43 2101.B \-\-assemble
2ae555c3
NB
2102to restore the backup and reassemble the array.
2103
f24e2d6c
N
2104.SS LEVEL CHANGES
2105
2106Changing the RAID level of any array happens instantaneously. However
2107in the RAID to RAID6 case this requires a non-standard layout of the
2108RAID6 data, and in the RAID6 to RAID5 case that non-standard layout is
2109required before the change can be accomplish. So while the level
2110change is instant, the accompanying layout change can take quite a
2111long time.
2112
2113.SS CHUNK-SIZE AND LAYOUT CHANGES
2114
2115Changing the chunk-size of layout without also changing the number of
2116devices as the same time will involve re-writing all blocks in-place.
2117To ensure against data loss in the case of a crash, a
2118.B --backup-file
2119must be provided for these changes. Small sections of the array will
2120be copied to the backup file while they are being rearranged.
2121
2122If the reshape is interrupted for any reason, this backup file must be
2123make available to
2124.B "mdadm --assemble"
2125so the array can be reassembled. Consequently the file cannot be
2126stored on the device being reshaped.
2127
2128
2ae555c3
NB
2129.SS BITMAP CHANGES
2130
2131A write-intent bitmap can be added to, or removed from, an active
93e790af 2132array. Either internal bitmaps, or bitmaps stored in a separate file,
fe80f49b 2133can be added. Note that if you add a bitmap stored in a file which is
e0fe762a 2134in a filesystem that is on the RAID array being affected, the system
fe80f49b
NB
2135will deadlock. The bitmap must be on a separate filesystem.
2136
8382f19b
NB
2137.SH INCREMENTAL MODE
2138
2139.HP 12
2140Usage:
7e23fc43
PS
2141.B mdadm \-\-incremental
2142.RB [ \-\-run ]
2143.RB [ \-\-quiet ]
8382f19b
NB
2144.I component-device
2145.HP 12
2146Usage:
7e23fc43 2147.B mdadm \-\-incremental \-\-rebuild
8382f19b
NB
2148.HP 12
2149Usage:
7e23fc43 2150.B mdadm \-\-incremental \-\-run \-\-scan
8382f19b 2151
8382f19b
NB
2152.PP
2153This mode is designed to be used in conjunction with a device
2154discovery system. As devices are found in a system, they can be
2155passed to
7e23fc43 2156.B "mdadm \-\-incremental"
8382f19b
NB
2157to be conditionally added to an appropriate array.
2158
8fd8d9c4
N
2159If the device passed is a
2160.B CONTAINER
2161device created by a previous call to
2162.IR mdadm ,
2163then rather than trying to add that device to an array, all the arrays
2164described by the metadata of the container will be started.
2165
8382f19b
NB
2166.I mdadm
2167performs a number of tests to determine if the device is part of an
93e790af 2168array, and which array it should be part of. If an appropriate array
8382f19b
NB
2169is found, or can be created,
2170.I mdadm
2171adds the device to the array and conditionally starts the array.
2172
2173Note that
2174.I mdadm
2175will only add devices to an array which were previously working
2176(active or spare) parts of that array. It does not currently support
2177automatic inclusion of a new drive as a spare in some array.
2178
8382f19b
NB
2179The tests that
2180.I mdadm
2181makes are as follow:
2182.IP +
2183Is the device permitted by
2184.BR mdadm.conf ?
2185That is, is it listed in a
2186.B DEVICES
2187line in that file. If
2188.B DEVICES
2189is absent then the default it to allow any device. Similar if
2190.B DEVICES
2191contains the special word
2192.B partitions
2193then any device is allowed. Otherwise the device name given to
2194.I mdadm
2195must match one of the names or patterns in a
2196.B DEVICES
2197line.
2198
2199.IP +
2200Does the device have a valid md superblock. If a specific metadata
2201version is request with
7e23fc43 2202.B \-\-metadata
8382f19b 2203or
7e23fc43 2204.B \-e
8382f19b
NB
2205then only that style of metadata is accepted, otherwise
2206.I mdadm
2207finds any known version of metadata. If no
2208.I md
2209metadata is found, the device is rejected.
2210
d1302dd8 2211.ig
8382f19b
NB
2212.IP +
2213Does the metadata match an expected array?
2214The metadata can match in two ways. Either there is an array listed
2215in
2216.B mdadm.conf
2217which identifies the array (either by UUID, by name, by device list,
93e790af 2218or by minor-number), or the array was created with a
8382f19b 2219.B homehost
93e790af 2220specified and that
8382f19b 2221.B homehost
93e790af 2222matches the one in
8382f19b
NB
2223.B mdadm.conf
2224or on the command line.
2225If
2226.I mdadm
2227is not able to positively identify the array as belonging to the
2228current host, the device will be rejected.
d1302dd8 2229..
8382f19b 2230
8382f19b 2231.I mdadm
93e790af 2232keeps a list of arrays that it has partially assembled in
8382f19b
NB
2233.B /var/run/mdadm/map
2234(or
2235.B /var/run/mdadm.map
e0fe762a
N
2236if the directory doesn't exist. Or maybe even
2237.BR /dev/.mdadm.map ).
2238If no array exists which matches
8382f19b
NB
2239the metadata on the new device,
2240.I mdadm
2241must choose a device name and unit number. It does this based on any
2242name given in
2243.B mdadm.conf
2244or any name information stored in the metadata. If this name
2245suggests a unit number, that number will be used, otherwise a free
2246unit number will be chosen. Normally
2247.I mdadm
2248will prefer to create a partitionable array, however if the
2249.B CREATE
2250line in
2251.B mdadm.conf
2252suggests that a non-partitionable array is preferred, that will be
2253honoured.
2254
e0fe762a
N
2255If the array is not found in the config file and its metadata does not
2256identify it as belonging to the "homehost", then
2257.I mdadm
2258will choose a name for the array which is certain not to conflict with
2259any array which does belong to this host. It does this be adding an
2260underscore and a small number to the name preferred by the metadata.
2261
8382f19b
NB
2262Once an appropriate array is found or created and the device is added,
2263.I mdadm
2264must decide if the array is ready to be started. It will
2265normally compare the number of available (non-spare) devices to the
2266number of devices that the metadata suggests need to be active. If
2267there are at least that many, the array will be started. This means
2268that if any devices are missing the array will not be restarted.
2269
2270As an alternative,
7e23fc43 2271.B \-\-run
8382f19b 2272may be passed to
51ac42e3 2273.I mdadm
8382f19b 2274in which case the array will be run as soon as there are enough
e0fe762a
N
2275devices present for the data to be accessible. For a RAID1, that
2276means one device will start the array. For a clean RAID5, the array
8382f19b
NB
2277will be started as soon as all but one drive is present.
2278
93e790af 2279Note that neither of these approaches is really ideal. If it can
8382f19b
NB
2280be known that all device discovery has completed, then
2281.br
7e23fc43 2282.B " mdadm \-IRs"
8382f19b
NB
2283.br
2284can be run which will try to start all arrays that are being
2285incrementally assembled. They are started in "read-auto" mode in
2286which they are read-only until the first write request. This means
2287that no metadata updates are made and no attempt at resync or recovery
2288happens. Further devices that are found before the first write can
2289still be added safely.
2290
5545fa6d
DW
2291.SH ENVIRONMENT
2292This section describes environment variables that affect how mdadm
2293operates.
2294
2295.TP
2296.B MDADM_NO_MDMON
2297Setting this value to 1 will prevent mdadm from automatically launching
2298mdmon. This variable is intended primarily for debugging mdadm/mdmon.
2299
8fd8d9c4
N
2300.TP
2301.B MDADM_NO_UDEV
2302Normally,
2303.I mdadm
2304does not create any device nodes in /dev, but leaves that task to
2305.IR udev .
2306If
2307.I udev
2308appears not to be configured, or if this environment variable is set
2309to '1', the
2310.I mdadm
2311will create and devices that are needed.
2312
2d465520
NB
2313.SH EXAMPLES
2314
7e23fc43 2315.B " mdadm \-\-query /dev/name-of-device"
2d465520 2316.br
e0fe762a 2317This will find out if a given device is a RAID array, or is part of
5787fa49 2318one, and will provide brief information about the device.
2d465520 2319
7e23fc43 2320.B " mdadm \-\-assemble \-\-scan"
2d465520 2321.br
93e790af 2322This will assemble and start all arrays listed in the standard config
5787fa49 2323file. This command will typically go in a system startup file.
2d465520 2324
7e23fc43 2325.B " mdadm \-\-stop \-\-scan"
5787fa49 2326.br
93e790af 2327This will shut down all arrays that can be shut down (i.e. are not
19f8b8fc 2328currently in use). This will typically go in a system shutdown script.
2d465520 2329
7e23fc43 2330.B " mdadm \-\-follow \-\-scan \-\-delay=120"
2d465520 2331.br
5787fa49
NB
2332If (and only if) there is an Email address or program given in the
2333standard config file, then
2334monitor the status of all arrays listed in that file by
2335polling them ever 2 minutes.
2d465520 2336
7e23fc43 2337.B " mdadm \-\-create /dev/md0 \-\-level=1 \-\-raid\-devices=2 /dev/hd[ac]1"
2d465520 2338.br
5787fa49 2339Create /dev/md0 as a RAID1 array consisting of /dev/hda1 and /dev/hdc1.
2d465520 2340
2d465520 2341.br
7e23fc43 2342.B " echo 'DEVICE /dev/hd*[0\-9] /dev/sd*[0\-9]' > mdadm.conf"
2d465520 2343.br
7e23fc43 2344.B " mdadm \-\-detail \-\-scan >> mdadm.conf"
2d465520 2345.br
5787fa49
NB
2346This will create a prototype config file that describes currently
2347active arrays that are known to be made from partitions of IDE or SCSI drives.
2d465520
NB
2348This file should be reviewed before being used as it may
2349contain unwanted detail.
2350
7e23fc43 2351.B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf"
2d465520 2352.br
7e23fc43 2353.B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf"
93e790af
SW
2354.br
2355This will find arrays which could be assembled from existing IDE and
2356SCSI whole drives (not partitions), and store the information in the
5787fa49 2357format of a config file.
2d465520
NB
2358This file is very likely to contain unwanted detail, particularly
2359the
2360.B devices=
5787fa49
NB
2361entries. It should be reviewed and edited before being used as an
2362actual config file.
2d465520 2363
7e23fc43 2364.B " mdadm \-\-examine \-\-brief \-\-scan \-\-config=partitions"
2d465520 2365.br
7e23fc43 2366.B " mdadm \-Ebsc partitions"
5787fa49
NB
2367.br
2368Create a list of devices by reading
2369.BR /proc/partitions ,
2370scan these for RAID superblocks, and printout a brief listing of all
93e790af 2371that were found.
2d465520 2372
7e23fc43 2373.B " mdadm \-Ac partitions \-m 0 /dev/md0"
2d465520 2374.br
5787fa49
NB
2375Scan all partitions and devices listed in
2376.BR /proc/partitions
2377and assemble
2378.B /dev/md0
2379out of all such devices with a RAID superblock with a minor number of 0.
2d465520 2380
7e23fc43 2381.B " mdadm \-\-monitor \-\-scan \-\-daemonise > /var/run/mdadm"
d013a55e
NB
2382.br
2383If config file contains a mail address or alert program, run mdadm in
2384the background in monitor mode monitoring all md devices. Also write
2385pid of mdadm daemon to
2386.BR /var/run/mdadm .
2387
7e23fc43 2388.B " mdadm \-Iq /dev/somedevice"
8382f19b
NB
2389.br
2390Try to incorporate newly discovered device into some array as
2391appropriate.
2392
7e23fc43 2393.B " mdadm \-\-incremental \-\-rebuild \-\-run \-\-scan"
8382f19b
NB
2394.br
2395Rebuild the array map from any current arrays, and then start any that
2396can be started.
2397
b80da661
NB
2398.B " mdadm /dev/md4 --fail detached --remove detached"
2399.br
2400Any devices which are components of /dev/md4 will be marked as faulty
2401and then remove from the array.
2402
f24e2d6c
N
2403.B " mdadm --grow /dev/md4 --level=6 --backup-file=/root/backup-md4
2404.br
2405The array
2406.B /dev/md4
2407which is currently a RAID5 array will be converted to RAID6. There
2408should normally already be a spare drive attached to the array as a
2409RAID6 needs one more drive than a matching RAID5.
2410
8fd8d9c4
N
2411.B " mdadm --create /dev/md/ddf --metadata=ddf --raid-disks 6 /dev/sd[a-f]"
2412.br
2413Create a DDF array over 6 devices.
2414
2415.B " mdadm --create /dev/md/home -n3 -l5 -z 30000000 /dev/md/ddf"
2416.br
e0fe762a 2417Create a RAID5 array over any 3 devices in the given DDF set. Use
8fd8d9c4
N
2418only 30 gigabytes of each device.
2419
2420.B " mdadm -A /dev/md/ddf1 /dev/sd[a-f]"
2421.br
2422Assemble a pre-exist ddf array.
2423
2424.B " mdadm -I /dev/md/ddf1"
2425.br
2426Assemble all arrays contained in the ddf array, assigning names as
2427appropriate.
2428
7e23fc43 2429.B " mdadm \-\-create \-\-help"
2d465520 2430.br
2ae555c3 2431Provide help about the Create mode.
2d465520 2432
7e23fc43 2433.B " mdadm \-\-config \-\-help"
5787fa49
NB
2434.br
2435Provide help about the format of the config file.
2d465520 2436
7e23fc43 2437.B " mdadm \-\-help"
5787fa49
NB
2438.br
2439Provide general help.
cd29a5c8 2440
cd29a5c8
NB
2441.SH FILES
2442
2443.SS /proc/mdstat
2444
2ae555c3
NB
2445If you're using the
2446.B /proc
cd29a5c8
NB
2447filesystem,
2448.B /proc/mdstat
2d465520 2449lists all active md devices with information about them.
51ac42e3 2450.I mdadm
2d465520 2451uses this to find arrays when
7e23fc43 2452.B \-\-scan
2d465520
NB
2453is given in Misc mode, and to monitor array reconstruction
2454on Monitor mode.
2455
9a9dab36 2456.SS /etc/mdadm.conf
cd29a5c8 2457
11a3e71d
NB
2458The config file lists which devices may be scanned to see if
2459they contain MD super block, and gives identifying information
2460(e.g. UUID) about known MD arrays. See
2461.BR mdadm.conf (5)
2462for more details.
cd29a5c8 2463
8382f19b
NB
2464.SS /var/run/mdadm/map
2465When
7e23fc43 2466.B \-\-incremental
93e790af 2467mode is used, this file gets a list of arrays currently being created.
8382f19b
NB
2468If
2469.B /var/run/mdadm
2470does not exist as a directory, then
2471.B /var/run/mdadm.map
e0fe762a
N
2472is used instead. If
2473.B /var/run
2474is not available (as may be the case during early boot),
2475.B /dev/.mdadm.map
2476is used on the basis that
2477.B /dev
2478is usually available very early in boot.
8382f19b 2479
48f7b27a
NB
2480.SH DEVICE NAMES
2481
48f7b27a 2482.I mdadm
8fd8d9c4
N
2483understand two sorts of names for array devices.
2484
2485The first is the so-called 'standard' format name, which matches the
2486names used by the kernel and which appear in
2487.IR /proc/mdstat .
2488
2489The second sort can be freely chosen, but must reside in
2490.IR /dev/md/ .
2491When giving a device name to
2492.I mdadm
2493to create or assemble an array, either full path name such as
2494.I /dev/md0
2495or
2496.I /dev/md/home
2497can be given, or just the suffix of the second sort of name, such as
2498.I home
2499can be given.
2500
2501When
2502.I mdadm
e0fe762a
N
2503chooses device names during auto-assembly or incremental assembly, it
2504will sometimes add a small sequence number to the end of the name to
2505avoid conflicted between multiple arrays that have the same name. If
8fd8d9c4
N
2506.I mdadm
2507can reasonably determine that the array really is meant for this host,
2508either by a hostname in the metadata, or by the presence of the array
e0fe762a
N
2509in /etc/mdadm.conf, then it will leave off the suffix if possible.
2510Also if the homehost is specified as
2511.B <ignore>
2512.I mdadm
2513will only use a suffix if a different array of the same name already
2514exists or is listed in the config file.
48f7b27a
NB
2515
2516The standard names for non-partitioned arrays (the only sort of md
8fd8d9c4 2517array available in 2.4 and earlier) are of the form
48f7b27a
NB
2518.IP
2519/dev/mdNN
48f7b27a
NB
2520.PP
2521where NN is a number.
2522The standard names for partitionable arrays (as available from 2.6
8fd8d9c4 2523onwards) are of the form
48f7b27a 2524.IP
48f7b27a
NB
2525/dev/md_dNN
2526.PP
2527Partition numbers should be indicated by added "pMM" to these, thus "/dev/md/d1p2".
8fd8d9c4
N
2528.PP
2529From kernel version, 2.6.28 the "non-partitioned array" can actually
2530be partitioned. So the "md_dNN" names are no longer needed, and
2531partitions such as "/dev/mdNNpXX" are possible.
52826846 2532
2d465520 2533.SH NOTE
51ac42e3 2534.I mdadm
2d465520 2535was previously known as
51ac42e3 2536.IR mdctl .
a9d69660 2537.P
51ac42e3 2538.I mdadm
a9d69660 2539is completely separate from the
51ac42e3 2540.I raidtools
a9d69660
NB
2541package, and does not use the
2542.I /etc/raidtab
2543configuration file at all.
2544
52826846 2545.SH SEE ALSO
75f74377 2546For further information on mdadm usage, MD and the various levels of
3cdfb6a7 2547RAID, see:
3cdfb6a7 2548.IP
11cd8b79 2549.B http://linux\-raid.osdl.org/
75f74377
DG
2550.PP
2551(based upon Jakob \(/Ostergaard's Software\-RAID.HOWTO)
e43d0cda
NB
2552.\".PP
2553.\"for new releases of the RAID driver check out:
2554.\"
2555.\".IP
e0fe762a 2556.\".UR ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
e43d0cda
NB
2557.\"ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
2558.\".UE
2559.\".PP
2560.\"or
2561.\".IP
2562.\".UR http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
2563.\"http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
2564.\".UE
cd29a5c8 2565.PP
2ae555c3 2566The latest version of
a9d69660
NB
2567.I mdadm
2568should always be available from
cd29a5c8 2569.IP
11cd8b79
N
2570.B http://www.kernel.org/pub/linux/utils/raid/mdadm/
2571.PP
2572Related man pages:
cd29a5c8 2573.PP
e0fe762a 2574.IR mdmon (8),
a9d69660
NB
2575.IR mdadm.conf (5),
2576.IR md (4).
56eb10c0 2577.PP
52826846
NB
2578.IR raidtab (5),
2579.IR raid0run (8),
2580.IR raidstop (8),
a9d69660 2581.IR mkraid (8).