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