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