]> git.ipfire.org Git - thirdparty/mdadm.git/blame - mdadm.8
mdadm-1.5.0
[thirdparty/mdadm.git] / mdadm.8
CommitLineData
52826846 1.\" -*- nroff -*-
98c6faba 2.TH MDADM 8 "" v1.5.0
52826846 3.SH NAME
9a9dab36 4mdadm \- manage MD devices
cd29a5c8
NB
5.I aka
6Linux Software Raid.
7
52826846
NB
8.SH SYNOPSIS
9
e0d19036 10.BI mdadm " [mode] <raiddevice> [options] <component-devices>"
52826846
NB
11
12.SH DESCRIPTION
13RAID devices are virtual devices created from two or more
cd29a5c8
NB
14real block devices. This allows multiple devices (typically disk
15drives or partitions there-of) to be combined into a single device to
16hold (for example) a single filesystem.
2d465520 17Some RAID levels include redundancy and so can survive some degree of
cd29a5c8
NB
18device failure.
19
2d465520
NB
20Linux Software RAID devices are implemented through the md (Multiple
21Devices) device driver.
cd29a5c8
NB
22
23Currently, Linux supports
24.B LINEAR
25md devices,
26.B RAID0
27(striping),
28.B RAID1
29(mirroring),
d013a55e
NB
30.BR RAID4 ,
31.BR RAID5 ,
98c6faba 32.BR RAID6 ,
cd29a5c8 33and
cd29a5c8 34.BR MULTIPATH .
d013a55e
NB
35
36.B MULTIPATH is not a Software RAID mechanism, but does involve
37multiple devices. For
38.B MULTIPATH
39each device is a path to one common physical storage device.
40
52826846 41
9a9dab36 42.B mdadm
11a3e71d
NB
43is a program that can be used to create, manage, and monitor
44MD devices. As
cd29a5c8
NB
45such it provides a similar set of functionality to the
46.B raidtools
47packages.
48The key differences between
9a9dab36 49.B mdadm
cd29a5c8
NB
50and
51.B raidtools
52are:
53.IP \(bu 4
9a9dab36 54.B mdadm
cd29a5c8
NB
55is a single program and not a collection of programs.
56.IP \(bu 4
9a9dab36 57.B mdadm
cd29a5c8 58can perform (almost) all of its functions without having a
5787fa49 59configuration file and does not use one by default. Also
2d465520
NB
60.B mdadm
61helps with management of the configuration
cd29a5c8
NB
62file.
63.IP \(bu 4
9a9dab36 64.B mdadm
e0d19036 65can provide information about your arrays (through Query, Detail, and Examine)
cd29a5c8
NB
66that
67.B raidtools
68cannot.
5787fa49
NB
69.P
70.I mdadm
71does not use
72.IR /etc/raidtab ,
73the
74.B raidtools
75configuration file, at all. It has a different configuration file
76with a different format and an different purpose.
52826846
NB
77
78.SH MODES
e0d19036 79mdadm has 6 major modes of operation:
cd29a5c8
NB
80.TP
81.B Assemble
82Assemble the parts of a previously created
52826846
NB
83array into an active array. Components can be explicitly given
84or can be searched for.
9a9dab36 85.B mdadm
cd29a5c8
NB
86checks that the components
87do form a bona fide array, and can, on request, fiddle superblock
88information so as to assemble a faulty array.
89
90.TP
91.B Build
92Build a legacy array without per-device superblocks.
93
94.TP
95.B Create
96Create a new array with per-device superblocks.
97'''It can progress
98'''in several step create-add-add-run or it can all happen with one command.
99
100.TP
e0d19036
NB
101.B Manage
102This is for doing things to specific components of an array such as
103adding new spares and removing faulty devices.
cd29a5c8
NB
104
105.TP
e0d19036
NB
106.B Misc
107This mode allows operations on independent devices such as examine MD
108superblocks, erasing old superblocks and stopping active arrays.
cd29a5c8
NB
109
110.TP
111.B "Follow or Monitor"
5787fa49 112Monitor one or more md devices and act on any state changes. This is
98c6faba
NB
113only meaningful for raid1, 4, 5, 6 or multipath arrays as
114only these have interesting state. raid0 or linear never have
115missing, spare, or failed drives, so there is nothing to monitor.
5787fa49 116
cd29a5c8 117
52826846
NB
118.SH OPTIONS
119
120Available options are:
121
cd29a5c8
NB
122.TP
123.BR -A ", " --assemble
2d465520 124Assemble a pre-existing array.
52826846 125
cd29a5c8
NB
126.TP
127.BR -B ", " --build
128Build a legacy array without superblocks.
52826846 129
cd29a5c8
NB
130.TP
131.BR -C ", " --create
132Create a new array.
52826846 133
e0d19036
NB
134.TP
135.BR -Q ", " --query
136Examine a device to see
137(1) if it is an md device and (2) if it is a component of an md
138array.
139Information about what is discovered is presented.
140
cd29a5c8
NB
141.TP
142.BR -D ", " --detail
143Print detail of one or more md devices.
52826846 144
cd29a5c8
NB
145.TP
146.BR -E ", " --examine
147Print content of md superblock on device(s).
52826846 148
cd29a5c8
NB
149.TP
150.BR -F ", " --follow ", " --monitor
151Select
152.B Monitor
153mode.
52826846 154
cd29a5c8
NB
155.TP
156.BR -h ", " --help
56eedc1a
NB
157Display help message or, after above option, mode specific help
158message.
159
160.TP
161.B --help-options
162Display more detailed help about command line parsing and some commonly
163used options.
52826846 164
cd29a5c8
NB
165.TP
166.BR -V ", " --version
9a9dab36 167Print version information for mdadm.
52826846 168
cd29a5c8
NB
169.TP
170.BR -v ", " --verbose
171Be more verbose about what is happening.
52826846 172
cd29a5c8
NB
173.TP
174.BR -b ", " --brief
175Be less verbose. This is used with
176.B --detail
177and
178.BR --examine .
52826846 179
e0d19036
NB
180.TP
181.BR -f ", " --force
182Be more forceful about certain operations. See the various modes of
183the exact meaning of this option in different contexts.
184
185.TP
186.BR -c ", " --config=
187Specify the config file. Default is
188.BR /etc/mdadm.conf .
5787fa49
NB
189If the config file given is
190.B partitions
191then nothing will be read, but
192.I mdadm
193will act as though the config file contained exactly
194.B "DEVICE partitions"
195and will read
196.B /proc/partitions
197to find a list of devices to scan.
d013a55e
NB
198If the word
199.B none
200is given for the config file, then
201.I mdadm
202will act as though the config file were empty.
e0d19036
NB
203
204.TP
205.BR -s ", " --scan
206scan config file or
207.B /proc/mdstat
208for missing information.
209In general, this option gives
210.B mdadm
211permission to get any missing information, like component devices,
212array devices, array identities, and alert destination from the
213configuration file:
214.BR /etc/mdadm.conf .
215One exception is MISC mode when using
216.B --detail
217or
218.B --stop
219in which case
220.B --scan
221says to get a list of array devices from
222.BR /proc/mdstat .
223
cd29a5c8 224.SH For create or build:
52826846 225
cd29a5c8
NB
226.TP
227.BR -c ", " --chunk=
228Specify chunk size of kibibytes. The default is 64.
52826846 229
cd29a5c8
NB
230.TP
231.BR --rounding=
232Specify rounding factor for linear array (==chunk size)
52826846 233
cd29a5c8
NB
234.TP
235.BR -l ", " --level=
aa88f531
NB
236Set raid level. When used with
237.IR --create ,
98c6faba
NB
238options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
239raid5, 5, raid6, 6, multipath, mp. Obviously some of these are synonymous.
aa88f531
NB
240
241When used with
242.IR --build ,
243only linear, raid0, 0, stripe are valid.
52826846 244
cd29a5c8
NB
245.TP
246.BR -p ", " --parity=
247Set raid5 parity algorithm. Options are:
2d465520
NB
248left-asymmetric,
249left-symmetric,
250right-asymmetric,
251right-symmetric,
252la, ra, ls, rs. The default is left-symmetric.
52826846 253
cd29a5c8
NB
254.TP
255.BR --layout=
256same as --parity
52826846 257
cd29a5c8 258.TP
b83d95f3 259.BR -n ", " --raid-devices=
5787fa49
NB
260Specify the number of active devices in the array. This, plus the
261number of spare devices (see below) must equal the number of
262.I component-devices
d013a55e 263(including "\fBmissing\fP" devices)
aa88f531
NB
264that are listed on the command line. Setting a value of 1 is probably
265a mistake and so requires that
266.B --force
267be specified first. A value of 1 will then be allowed for linear,
268multipath, raid0 and raid1. It is never allowed for raid4 or raid5.
269.br
270Note that this number cannot be changed once the array has been created.
cd29a5c8
NB
271
272.TP
b83d95f3 273.BR -x ", " --spare-devices=
5787fa49
NB
274Specify the number of spare (eXtra) devices in the initial array.
275Spares can also be added
276and removed later. The number of component devices listed
277on the command line must equal the number of raid devices plus the
278number of spare devices.
279
cd29a5c8
NB
280
281.TP
282.BR -z ", " --size=
98c6faba 283Amount (in Kibibytes) of space to use from each drive in RAID1/4/5/6.
cd29a5c8
NB
284This must be a multiple of the chunk size, and must leave about 128Kb
285of space at the end of the drive for the RAID superblock.
286If this is not specified
287(as it normally is not) the smallest drive (or partition) sets the
288size, though if there is a variance among the drives of greater than 1%, a warning is
289issued.
52826846
NB
290
291.SH For assemble:
292
cd29a5c8
NB
293.TP
294.BR -u ", " --uuid=
295uuid of array to assemble. Devices which don't have this uuid are
296excluded
297
298.TP
299.BR -m ", " --super-minor=
300Minor number of device that array was created for. Devices which
301don't have this minor number are excluded. If you create an array as
2d465520 302/dev/md1, then all superblocks will contain the minor number 1, even if
cd29a5c8
NB
303the array is later assembled as /dev/md2.
304
d013a55e
NB
305Giving the literal word "dev" for
306.B --super-minor
307will cause
308.I mdadm
309to use the minor number of the md device that is being assembled.
310e.g. when assembling
311.BR /dev/md0 ,
312.M --super-minor=dev
313will look for super blocks with a minor number of 0.
314
cd29a5c8
NB
315.TP
316.BR -f ", " --force
52826846
NB
317Assemble the array even if some superblocks appear out-of-date
318
cd29a5c8
NB
319.TP
320.BR -R ", " --run
321Attempt to start the array even if fewer drives were given than are
322needed for a full array. Normally if not all drives are found and
323.B --scan
324is not used, then the array will be assembled but not started.
325With
326.B --run
327an attempt will be made to start it anyway.
52826846 328
5787fa49
NB
329.TP
330.BR -U ", " --update=
331Update the superblock on each device while assembling the array. The
feb716e9
NB
332argument given to this flag can be one of
333.BR sparc2.2 ,
334.BR summaries ,
5787fa49
NB
335or
336.BR super-minor .
337
338The
339.B sparc2.2
340option will adjust the superblock of an array what was created on a Sparc
341machine running a patched 2.2 Linux kernel. This kernel got the
342alignment of part of the superblock wrong. You can use the
343.B "--examine --sparc2.2"
344option to
345.I mdadm
346to see what effect this would have.
347
348The
349.B super-minor
350option will update the
351.B "prefered minor"
352field on each superblock to match the minor number of the array being
feb716e9 353assembled. This is not needed on 2.6 and later kernels as they make
5787fa49
NB
354this adjustment automatically.
355
feb716e9
NB
356The
357.B summaries
358option will correct the summaries in the superblock. That is the
359counts of total, working, active, failed, and spare devices.
5787fa49 360
e0d19036 361.SH For Manage mode:
52826846 362
cd29a5c8
NB
363.TP
364.BR -a ", " --add
365'''add, or
366hotadd listed devices.
52826846 367
cd29a5c8
NB
368.TP
369.BR -r ", " --remove
2d465520 370remove listed devices. They must not be active. i.e. they should
cd29a5c8 371be failed or spare devices.
52826846 372
cd29a5c8
NB
373.TP
374.BR -f ", " --fail
375mark listed devices as faulty.
52826846 376
cd29a5c8
NB
377.TP
378.BR --set-faulty
379same as --fail.
52826846 380
5787fa49
NB
381.SH For Examine mode:
382
383.TP
384.B --sparc2.2
385In an array was created on a 2.2 Linux kernel patched with RAID
386support, the superblock will have been created incorrectly, or at
387least incompatibly with 2.4 and later kernels. Using the
388.B --sparc2.2
389flag with
390.B --examine
391will fix the superblock before displaying it. If this appears to do
392the right thing, then the array can be successfully assembled using
393.BR "--assemble --update=sparc2.2" .
394
e0d19036
NB
395.SH For Misc mode:
396
cd29a5c8
NB
397.TP
398.BR -R ", " --run
399start a partially built array.
52826846 400
cd29a5c8
NB
401.TP
402.BR -S ", " --stop
403deactivate array, releasing all resources.
52826846 404
cd29a5c8
NB
405.TP
406.BR -o ", " --readonly
407mark array as readonly.
52826846 408
cd29a5c8
NB
409.TP
410.BR -w ", " --readwrite
411mark array as readwrite.
52826846 412
e0d19036
NB
413.TP
414.B --zero-superblock
415If the device contains a valid md superblock, the block is
416over-written with zeros. With
417--force
418the block where the superblock would be is over-written even if it
419doesn't appear to be valid.
52826846 420
feb716e9
NB
421.TP
422.BR -t ", " --test
423When used with
424.BR --detail ,
425the exit status of
426.I mdadm
427is set to reflect the status of the device.
428
e0d19036
NB
429.SH For Monitor mode:
430.TP
431.BR -m ", " --mail
432Give a mail address to send alerts to.
433
434.TP
435.BR -p ", " --program ", " --alert
436Give a program to be run whenever an event is detected.
437
438.TP
439.BR -d ", " --delay
440Give a delay in seconds.
441.B mdadm
442polls the md arrays and then waits this many seconds before polling
443again. The default is 60 seconds.
444
d013a55e
NB
445.TP
446.BR -f ", " --daemonise
447Tell
448.B mdadm
449to run as a background daemon if it decides to monitor anything. This
450causes it to fork and run in the child, and to disconnect form the
451terminal. The process id of the child is written to stdout.
452This is useful with
453.B --scan
454which will only continue monitoring if a mail address or alert program
455is found in the config file.
456
aa88f531
NB
457.TP
458.BR -1 ", " --oneshot
459Check arrays only once. This will generate
460.B NewArray
461events and more significantly
462.B DegradedArray
463events. Running
464.in +5
465.B " mdadm --monitor --scan -1"
466.in -5
467from a cron script will ensure regular notification of any degraded arrays.
468
98c6faba
NB
469.TP
470.BR -t ", " --test
471Generate a
472.B TestMessage
473alert for every array found at startup. This alert gets mailed and
474passed to the alert program. This can be used for testing that alert
475message to get through successfully.
476
e0d19036 477.SH ASSEMBLE MODE
52826846 478
cd29a5c8
NB
479.HP 12
480Usage:
9a9dab36 481.B mdadm --assemble
5787fa49
NB
482.I md-device options-and-component-devices...
483.HP 12
484Usage:
485.B mdadm --assemble --scan
486.I md-devices-and-options...
cd29a5c8
NB
487.HP 12
488Usage:
9a9dab36 489.B mdadm --assemble --scan
cd29a5c8 490.I options...
52826846 491
cd29a5c8 492.PP
52826846 493This usage assembles one or more raid arrays from pre-existing components.
9a9dab36 494For each array, mdadm needs to know the md device, the identity of the
e0d19036 495array, and a number of component-devices. These can be found in a number of ways.
52826846 496
5787fa49
NB
497In the first usage example (without the
498.BR --scan )
499the first device given is the md device.
500In the second usage example, all devices listed are treated as md
501devices and assembly is attempted.
502In the third (where no devices are listed) all md devices that are
503listed in the configuration file are assembled.
52826846 504
d013a55e
NB
505If precisely one device is listed, but
506.B --scan
507is not given, that
508.I mdadm
509acts as though
510.B --scan
511was given and identify information is extracted from the configuration file.
512
cd29a5c8 513The identity can be given with the
52826846 514.B --uuid
cd29a5c8
NB
515option, with the
516.B --super-minor
5787fa49 517option, can be found in the config file, or will be taken from the
e0d19036 518super block on the first component-device listed on the command line.
52826846
NB
519
520Devices can be given on the
521.B --assemble
5787fa49
NB
522command line or in the config file. Only devices which have an md
523superblock which contains the right identity will be considered for
524any array.
52826846
NB
525
526The config file is only used if explicitly named with
527.B --config
d013a55e 528or requested with (a possibly implicit)
52826846
NB
529.B --scan.
530In the later case,
9a9dab36 531.B /etc/mdadm.conf
52826846
NB
532is used.
533
534If
535.B --scan
cd29a5c8
NB
536is not given, then the config file will only be used to find the
537identity of md arrays.
52826846 538
2d465520 539Normally the array will be started after it is assembled. However if
cd29a5c8 540.B --scan
2d465520 541is not given and insufficient drives were listed to start a complete
cd29a5c8
NB
542(non-degraded) array, then the array is not started (to guard against
543usage errors). To insist that the array be started in this case (as
98c6faba 544may work for RAID1, 4, 5 or 6), give the
cd29a5c8
NB
545.B --run
546flag.
52826846 547
52826846 548
cd29a5c8 549.SH BUILD MODE
52826846 550
cd29a5c8
NB
551.HP 12
552Usage:
9a9dab36 553.B mdadm --build
cd29a5c8
NB
554.I device
555.BI --chunk= X
556.BI --level= Y
b83d95f3 557.BI --raid-devices= Z
cd29a5c8
NB
558.I devices
559
560.PP
52826846 561This usage is similar to
cd29a5c8 562.BR --create .
52826846 563The difference is that it creates a legacy array without a superblock. With
cd29a5c8 564these arrays there is no difference between initially creating the array and
52826846
NB
565subsequently assembling the array, except that hopefully there is useful
566data there in the second case.
567
cd29a5c8
NB
568The level may only be 0, raid0, or linear. All devices must be listed
569and the array will be started once complete.
570
571.SH CREATE MODE
572
573.HP 12
574Usage:
9a9dab36 575.B mdadm --create
cd29a5c8
NB
576.I device
577.BI --chunk= X
578.BI --level= Y
579.br
b83d95f3 580.BI --raid-devices= Z
cd29a5c8
NB
581.I devices
582
583.PP
584This usage will initialise a new md array, associate some devices with
585it, and activate the array.
586
587As devices are added, they are checked to see if they contain raid
2d465520 588superblocks or filesystems. They are also checked to see if the variance in
cd29a5c8
NB
589device size exceeds 1%.
590
591If any discrepancy is found, the array will not automatically be run, though
592the presence of a
593.B --run
594can override this caution.
595
2d465520 596To create a "degraded" array in which some devices are missing, simply
d013a55e 597give the word "\fBmissing\fP"
2d465520
NB
598in place of a device name. This will cause
599.B mdadm
600to leave the corresponding slot in the array empty.
601For a RAID4 or RAID5 array at most one slot can be
98c6faba 602"\fBmissing\fP"; for a RAID6 array at most two slots.
2d465520
NB
603For a RAID1 array, only one real device needs to be given. All of the
604others can be
d013a55e 605"\fBmissing\fP".
2d465520 606
feb716e9
NB
607When creating a RAID5 array,
608.B mdadm
609will automatically create a degraded array with an extra spare drive.
610This is because building the spare into a degraded array is in general faster than resyncing
611the parity on a non-degraded, but not clean, array. This feature can
612be over-ridden with the
613-I --force
614option.
615
cd29a5c8
NB
616'''If the
617'''.B --size
e0d19036 618'''option is given, it is not necessary to list any component-devices in this command.
cd29a5c8
NB
619'''They can be added later, before a
620'''.B --run.
621'''If no
622'''.B --size
623'''is given, the apparent size of the smallest drive given is used.
624
625The General Management options that are valid with --create are:
626.TP
627.B --run
628insist of running the array even if some devices look like they might
629be in use.
630
631.TP
632.B --readonly
633start the array readonly - not supported yet.
52826846 634
e0d19036 635.SH MANAGE MODE
cd29a5c8
NB
636.HP 12
637Usage:
e0d19036
NB
638.B mdadm
639.I device
640.I options... devices...
cd29a5c8
NB
641.PP
642
e0d19036
NB
643This usage will allow individual devices in an array to be failed,
644removed or added. It is possible to perform multiple operations with
645on command. For example:
646.br
5787fa49 647.B " mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 -a /dev/hda1"
e0d19036
NB
648.br
649will firstly mark
650.B /dev/hda1
651as faulty in
652.B /dev/md0
653and will then remove it from the array and finally add it back
2d465520 654in as a spare. However only one md array can be affected by a single
e0d19036
NB
655command.
656
657.SH MISC MODE
658.HP 12
659Usage:
9a9dab36 660.B mdadm
e0d19036
NB
661.I options ...
662.I devices ...
663.PP
cd29a5c8 664
e0d19036
NB
665MISC mode includes a number if distinct operations that
666operate on distinct devices. The operations are:
667.TP
668--query
669The device is examined to see if it is
670(1) an active md array, or
671(2) a component of an md array.
672The information discovered is reported.
673
674.TP
675--detail
2d465520
NB
676The device should be an active md device.
677.B mdadm
678will display a detailed description of the array.
cd29a5c8 679.B --brief
2d465520
NB
680or
681.B --scan
682will cause the output to be less detailed and the format to be
e0d19036 683suitable for inclusion in
9a9dab36 684.BR /etc/mdadm.conf .
feb716e9
NB
685The exit status of
686.I mdadm
687will normally be 0 unless
688.I mdadm
689failed to get useful information about the device(s). However if the
690.B --test
691option is given, then the exit status will be:
692.RS
693.TP
6940
695The array is functioning normally.
696.TP
6971
698The array has at least one failed device.
699.TP
7002
701The array has multiple failed devices and hence is unusable (raid4 or
702raid5).
703.TP
7044
705There was an error while trying to get information about the device.
706.RE
cd29a5c8 707
e0d19036
NB
708.TP
709--examine
2d465520
NB
710The device should be a component of an md array.
711.B mdadm
712will read the md superblock of the device and display the contents.
e0d19036
NB
713If
714.B --brief
715is given, or
716.B --scan
717then multiple devices that are components of the one array
718are grouped together and reported in a single entry suitable
719for inclusion in
720.BR /etc/mdadm.conf .
721
2d465520 722Having
e0d19036
NB
723.B --scan
724without listing any devices will cause all devices listed in the
725config file to be examined.
726
727.TP
728--stop
98c6faba
NB
729The devices should be active md arrays which will be deactivated, as
730long as they are not currently in use.
e0d19036
NB
731
732.TP
733--run
734This will fully activate a partially assembled md array.
735
736.TP
737--readonly
738This will mark an active array as read-only, providing that it is
739not currently being used.
740
741.TP
742--readwrite
743This will change a
744.B readonly
745array back to being read/write.
746
2d465520
NB
747.TP
748--scan
749For all operations except
750.BR --examine ,
751.B --scan
752will cause the operation to be applied to all arrays listed in
753.BR /proc/mdstat .
754For
755.BR --examine,
756.B --scan
757causes all devices listed in the config file to be examined.
758
759
e0d19036
NB
760.SH MONITOR MODE
761
cd29a5c8
NB
762.HP 12
763Usage:
e0d19036
NB
764.B mdadm --monitor
765.I options... devices...
766
cd29a5c8 767.PP
e0d19036
NB
768This usage causes
769.B mdadm
770to periodically poll a number of md arrays and to report on any events
771noticed.
772.B mdadm
773will never exit once it decides that there are arrays to be checked,
774so it should normally be run in the background.
775
2d465520
NB
776As well as reporting events,
777.B mdadm
778may move a spare drive from one array to another if they are in the
779same
780.B spare-group
781and if the destination array has a failed drive but not spares.
782
e0d19036
NB
783If any devices are listed on the command line,
784.B mdadm
785will only monitor those devices. Otherwise all arrays listed in the
786configuration file will be monitored. Further, if
787.B --scan
788is given, then any other md devices that appear in
789.B /proc/mdstat
790will also be monitored.
791
792The result of monitoring the arrays is the generation of events.
bd526cee 793These events are passed to a separate program (if specified) and may
2d465520 794be mailed to a given E-mail address.
e0d19036 795
bd526cee
NB
796When passing event to program, the program is run once for each event
797and is given 2 or 3 command-line arguements. The first is the
798name of the event (see below). The second is the name of the
799md device which is affected, and the third is the name of a related
800device if relevant, such as a component device that has failed.
cd29a5c8
NB
801
802If
803.B --scan
e0d19036
NB
804is given, then a program or an E-mail address must be specified on the
805command line or in the config file. If neither are available, then
806.B mdadm
807will not monitor anything.
808Without
cd29a5c8 809.B --scan
e0d19036 810.B mdadm
2d465520 811will continue monitoring as long as something was found to monitor. If
e0d19036
NB
812no program or email is given, then each event is reported to
813.BR stdout .
cd29a5c8 814
e0d19036
NB
815The different events are:
816
817.RS 4
818.TP
819.B DeviceDisappeared
2d465520 820An md array which previously was configured appears to no longer be
e0d19036
NB
821configured.
822
823.TP
824.B RebuildStarted
825An md array started reconstruction.
826
827.TP
828.BI Rebuild NN
829Where
830.I NN
831is 20, 40, 60, or 80, this indicates that rebuild has passed that many
832percentage of the total.
833
98c6faba
NB
834.TP
835.B RebuildFinished
836An md array that was rebuilding, isn't any more, either because it
837finished normally or was aborted.
838
e0d19036
NB
839.TP
840.B Fail
841An active component device of an array has been marked as faulty.
842
843.TP
844.B FailSpare
845A spare component device which was being rebuilt to replace a faulty
846device has failed.
847
848.TP
849.B SpareActive
850A spare component device which was being rebuilt to replace a faulty
851device as been successfully rebuild and has been made active.
852
853.TP
854.B NewArray
855A new md array has been detected in the
856.B /proc/mdstat
857file.
858
aa88f531
NB
859.TP
860.B DegradedArray
861A newly noticed array appears to be degraded. This message is not
862generated when
863.I mdadm
864notices a drive failure which causes degradation, but only when
865.I mdadm
866notices that an array is degraded when it first sees the array.
867
e0d19036
NB
868.TP
869.B MoveSpare
870A spare drive has been moved from one array in a
871.B spare-group
872to another to allow a failed drive to be replaced.
873
98c6faba
NB
874.TP
875.B TestMessage
876An array was found at startup, and the
877.B --test
878flag was given.
e0d19036
NB
879.RE
880
881Only
98c6faba
NB
882.B Fail ,
883.B FailSpare ,
884.B DegradedArray ,
e0d19036 885and
98c6faba 886.B TestMessage
e0d19036
NB
887cause Email to be sent. All events cause the program to be run.
888The program is run with two or three arguments, they being the event
889name, the array device and possibly a second device.
890
891Each event has an associated array device (e.g.
892.BR /dev/md1 )
893and possibly a second device. For
894.BR Fail ,
895.BR FailSpare ,
896and
897.B SpareActive
898the second device is the relevant component device.
899For
900.B MoveSpare
901the second device is the array that the spare was moved from.
902
903For
904.B mdadm
905to move spares from one array to another, the different arrays need to
906be labelled with the same
907.B spare-group
908in the configuration file. The
909.B spare-group
910name can be any string. It is only necessary that different spare
2d465520 911groups use different names.
e0d19036
NB
912
913When
9a9dab36 914.B mdadm
e0d19036
NB
915detects that an array which is in a spare group has fewer active
916devices than necessary for the complete array, and has no spare
917devices, it will look for another array in the same spare group that
918has a full complement of working drive and a spare. It will then
919attempt to remove the spare from the second drive and add it to the
920first.
921If the removal succeeds but the adding fails, then it is added back to
922the original array.
923
2d465520
NB
924.SH EXAMPLES
925
5787fa49 926.B " mdadm --query /dev/name-of-device"
2d465520 927.br
5787fa49
NB
928This will find out if a given device is a raid array, or is part of
929one, and will provide brief information about the device.
2d465520 930
5787fa49 931.B " mdadm --assemble --scan"
2d465520 932.br
5787fa49
NB
933This will assemble and start all arrays listed in the standard confile
934file. This command will typically go in a system startup file.
2d465520 935
2d465520 936.B " mdadm --stop --scan"
5787fa49
NB
937.br
938This will shut down all array that can be shut down (i.e. are not
939currently in used). This will typically going in a system shutdown script.
2d465520 940
5787fa49 941.B " mdadm --follow --scan --delay=120"
2d465520 942.br
5787fa49
NB
943If (and only if) there is an Email address or program given in the
944standard config file, then
945monitor the status of all arrays listed in that file by
946polling them ever 2 minutes.
2d465520 947
5787fa49 948.B " mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hd[ac]1"
2d465520 949.br
5787fa49 950Create /dev/md0 as a RAID1 array consisting of /dev/hda1 and /dev/hdc1.
2d465520 951
2d465520
NB
952.br
953.B " echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf"
954.br
955.B " mdadm --detail --scan >> mdadm.conf"
956.br
5787fa49
NB
957This will create a prototype config file that describes currently
958active arrays that are known to be made from partitions of IDE or SCSI drives.
2d465520
NB
959This file should be reviewed before being used as it may
960contain unwanted detail.
961
2d465520
NB
962.B " echo 'DEVICE /dev/hd[a-z] /dev/sd*[a-z]' > mdadm.conf"
963.br
5787fa49
NB
964.B " mdadm --examine --scan --config=mdadm.conf >> mdadm.conf"
965.ber
966This will find what arrays could be assembled from existign IDE and
967SCSI whole drives (not partitions) and store the information is the
968format of a config file.
2d465520
NB
969This file is very likely to contain unwanted detail, particularly
970the
971.B devices=
5787fa49
NB
972entries. It should be reviewed and edited before being used as an
973actual config file.
2d465520 974
5787fa49 975.B " mdadm --examine --brief --scan --config=partitions"
2d465520 976.br
5787fa49
NB
977.B " mdadm -Ebsc partitions"
978.br
979Create a list of devices by reading
980.BR /proc/partitions ,
981scan these for RAID superblocks, and printout a brief listing of all
982that was found.
2d465520 983
5787fa49 984.B " mdadm -Ac partitions -m 0 /dev/md0"
2d465520 985.br
5787fa49
NB
986Scan all partitions and devices listed in
987.BR /proc/partitions
988and assemble
989.B /dev/md0
990out of all such devices with a RAID superblock with a minor number of 0.
2d465520 991
d013a55e
NB
992.B " mdadm --monitor --scan --daemonise > /var/run/mdadm"
993.br
994If config file contains a mail address or alert program, run mdadm in
995the background in monitor mode monitoring all md devices. Also write
996pid of mdadm daemon to
997.BR /var/run/mdadm .
998
5787fa49 999.B " mdadm --create --help"
2d465520 1000.br
5787fa49 1001Providew help about the Create mode.
2d465520 1002
5787fa49
NB
1003.B " mdadm --config --help"
1004.br
1005Provide help about the format of the config file.
2d465520 1006
5787fa49
NB
1007.B " mdadm --help"
1008.br
1009Provide general help.
cd29a5c8 1010
cd29a5c8
NB
1011
1012.SH FILES
1013
1014.SS /proc/mdstat
1015
1016If you're using the
1017.B /proc
1018filesystem,
1019.B /proc/mdstat
2d465520
NB
1020lists all active md devices with information about them.
1021.B mdadm
1022uses this to find arrays when
1023.B --scan
1024is given in Misc mode, and to monitor array reconstruction
1025on Monitor mode.
1026
cd29a5c8 1027
9a9dab36 1028.SS /etc/mdadm.conf
cd29a5c8 1029
11a3e71d
NB
1030The config file lists which devices may be scanned to see if
1031they contain MD super block, and gives identifying information
1032(e.g. UUID) about known MD arrays. See
1033.BR mdadm.conf (5)
1034for more details.
cd29a5c8 1035
52826846 1036
2d465520
NB
1037.SH NOTE
1038.B mdadm
1039was previously known as
1040.BR mdctl .
1041
52826846 1042.SH SEE ALSO
cd29a5c8
NB
1043For information on the various levels of
1044RAID, check out:
1045
1046.IP
1047.UR http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
1048http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
1049.UE
1050.PP
1051for new releases of the RAID driver check out:
1052
1053.IP
1054.UR ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
1055ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
1056.UE
1057.PP
1058or
1059.IP
1060.UR http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
1061http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
1062.URk
1063.PP
56eb10c0
NB
1064.BR mdadm.conf (5),
1065.BR md (4).
1066.PP
52826846
NB
1067.IR raidtab (5),
1068.IR raid0run (8),
1069.IR raidstop (8),
1070.IR mkraid (8)