2001-08-23 04:33:20 +02:00
|
|
|
.\" -*- nroff -*-
|
2002-04-04 03:58:32 +02:00
|
|
|
.TH MDADM 8
|
2001-08-23 04:33:20 +02:00
|
|
|
.SH NAME
|
2002-03-08 01:03:52 +01:00
|
|
|
mdadm \- manage MD devices
|
2002-03-07 00:17:40 +01:00
|
|
|
.I aka
|
|
|
|
Linux Software Raid.
|
|
|
|
|
2001-08-23 04:33:20 +02:00
|
|
|
.SH SYNOPSIS
|
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.BI mdadm " [mode] <raiddevice> [options] <component-devices>"
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
RAID devices are virtual devices created from two or more
|
2002-03-07 00:17:40 +01:00
|
|
|
real block devices. This allows multiple devices (typically disk
|
|
|
|
drives or partitions there-of) to be combined into a single device to
|
|
|
|
hold (for example) a single filesystem.
|
|
|
|
Some RAID levels included redundancy and so can survive some degree of
|
|
|
|
device failure.
|
|
|
|
|
|
|
|
Linux Software RAID devices are implemented through the md (Multiple Devices) device driver.
|
|
|
|
|
|
|
|
Currently, Linux supports
|
|
|
|
.B LINEAR
|
|
|
|
md devices,
|
|
|
|
.B RAID0
|
|
|
|
(striping),
|
|
|
|
.B RAID1
|
|
|
|
(mirroring),
|
|
|
|
.B RAID4
|
|
|
|
and
|
|
|
|
.B RAID5.
|
|
|
|
|
|
|
|
Recent kernels (2002) also support a mode known as
|
|
|
|
.BR MULTIPATH .
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-04-04 03:58:32 +02:00
|
|
|
only provides limited support for MULTIPATH as yet.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-03-20 23:39:50 +01:00
|
|
|
is a program that can be used to create, manage, and monitor
|
|
|
|
MD devices. As
|
2002-03-07 00:17:40 +01:00
|
|
|
such it provides a similar set of functionality to the
|
|
|
|
.B raidtools
|
|
|
|
packages.
|
|
|
|
The key differences between
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-03-07 00:17:40 +01:00
|
|
|
and
|
|
|
|
.B raidtools
|
|
|
|
are:
|
|
|
|
.IP \(bu 4
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-03-07 00:17:40 +01:00
|
|
|
is a single program and not a collection of programs.
|
|
|
|
.IP \(bu 4
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-03-07 00:17:40 +01:00
|
|
|
can perform (almost) all of its functions without having a
|
2002-03-08 01:03:52 +01:00
|
|
|
configuration file. Also mdadm helps with management of the configuration
|
2002-03-07 00:17:40 +01:00
|
|
|
file.
|
|
|
|
.IP \(bu 4
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-04-04 03:58:32 +02:00
|
|
|
can provide information about your arrays (through Query, Detail, and Examine)
|
2002-03-07 00:17:40 +01:00
|
|
|
that
|
|
|
|
.B raidtools
|
|
|
|
cannot.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
.SH MODES
|
2002-04-04 03:58:32 +02:00
|
|
|
mdadm has 6 major modes of operation:
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.B Assemble
|
|
|
|
Assemble the parts of a previously created
|
2001-08-23 04:33:20 +02:00
|
|
|
array into an active array. Components can be explicitly given
|
|
|
|
or can be searched for.
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-03-07 00:17:40 +01:00
|
|
|
checks that the components
|
|
|
|
do form a bona fide array, and can, on request, fiddle superblock
|
|
|
|
information so as to assemble a faulty array.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B Build
|
|
|
|
Build a legacy array without per-device superblocks.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B Create
|
|
|
|
Create a new array with per-device superblocks.
|
|
|
|
'''It can progress
|
|
|
|
'''in several step create-add-add-run or it can all happen with one command.
|
|
|
|
|
|
|
|
.TP
|
2002-04-04 03:58:32 +02:00
|
|
|
.B Manage
|
|
|
|
This is for doing things to specific components of an array such as
|
|
|
|
adding new spares and removing faulty devices.
|
2002-03-07 00:17:40 +01:00
|
|
|
|
|
|
|
.TP
|
2002-04-04 03:58:32 +02:00
|
|
|
.B Misc
|
|
|
|
This mode allows operations on independent devices such as examine MD
|
|
|
|
superblocks, erasing old superblocks and stopping active arrays.
|
2002-03-07 00:17:40 +01:00
|
|
|
|
|
|
|
.TP
|
|
|
|
.B "Follow or Monitor"
|
|
|
|
Monitor one or more md devices and act on any state changes.
|
|
|
|
|
2001-08-23 04:33:20 +02:00
|
|
|
.SH OPTIONS
|
|
|
|
|
|
|
|
Available options are:
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -A ", " --assemble
|
|
|
|
Assemble an existing array.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -B ", " --build
|
|
|
|
Build a legacy array without superblocks.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -C ", " --create
|
|
|
|
Create a new array.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.TP
|
|
|
|
.BR -Q ", " --query
|
|
|
|
Examine a device to see
|
|
|
|
(1) if it is an md device and (2) if it is a component of an md
|
|
|
|
array.
|
|
|
|
Information about what is discovered is presented.
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -D ", " --detail
|
|
|
|
Print detail of one or more md devices.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -E ", " --examine
|
|
|
|
Print content of md superblock on device(s).
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -F ", " --follow ", " --monitor
|
|
|
|
Select
|
|
|
|
.B Monitor
|
|
|
|
mode.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -h ", " --help
|
|
|
|
Display help message or, after above option, mode specific help message.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -V ", " --version
|
2002-03-08 01:03:52 +01:00
|
|
|
Print version information for mdadm.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -v ", " --verbose
|
|
|
|
Be more verbose about what is happening.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -b ", " --brief
|
|
|
|
Be less verbose. This is used with
|
|
|
|
.B --detail
|
|
|
|
and
|
|
|
|
.BR --examine .
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.TP
|
|
|
|
.BR -f ", " --force
|
|
|
|
Be more forceful about certain operations. See the various modes of
|
|
|
|
the exact meaning of this option in different contexts.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -c ", " --config=
|
|
|
|
Specify the config file. Default is
|
|
|
|
.BR /etc/mdadm.conf .
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -s ", " --scan
|
|
|
|
scan config file or
|
|
|
|
.B /proc/mdstat
|
|
|
|
for missing information.
|
|
|
|
In general, this option gives
|
|
|
|
.B mdadm
|
|
|
|
permission to get any missing information, like component devices,
|
|
|
|
array devices, array identities, and alert destination from the
|
|
|
|
configuration file:
|
|
|
|
.BR /etc/mdadm.conf .
|
|
|
|
One exception is MISC mode when using
|
|
|
|
.B --detail
|
|
|
|
or
|
|
|
|
.B --stop
|
|
|
|
in which case
|
|
|
|
.B --scan
|
|
|
|
says to get a list of array devices from
|
|
|
|
.BR /proc/mdstat .
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.SH For create or build:
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -c ", " --chunk=
|
|
|
|
Specify chunk size of kibibytes. The default is 64.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR --rounding=
|
|
|
|
Specify rounding factor for linear array (==chunk size)
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -l ", " --level=
|
|
|
|
Set raid level. Options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid5, 4,
|
|
|
|
raid5, 5. Obviously some of these are synonymous.
|
|
|
|
Only the first 4 are valid when Building.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -p ", " --parity=
|
|
|
|
Set raid5 parity algorithm. Options are:
|
|
|
|
{left,right}-{,a}symmetric, la, ra, ls, rs. The default is left-symmetric.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR --layout=
|
|
|
|
same as --parity
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -n ", " --raid-disks=
|
|
|
|
number of active devices in array.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -x ", " --spare-disks=
|
|
|
|
number of spare (eXtra) disks in initial array. Spares can be added
|
|
|
|
and removed later.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -z ", " --size=
|
|
|
|
Amount (in Kibibytes) of space to use from each drive in RAID1/4/5.
|
|
|
|
This must be a multiple of the chunk size, and must leave about 128Kb
|
|
|
|
of space at the end of the drive for the RAID superblock.
|
|
|
|
If this is not specified
|
|
|
|
(as it normally is not) the smallest drive (or partition) sets the
|
|
|
|
size, though if there is a variance among the drives of greater than 1%, a warning is
|
|
|
|
issued.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
.SH For assemble:
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -u ", " --uuid=
|
|
|
|
uuid of array to assemble. Devices which don't have this uuid are
|
|
|
|
excluded
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -m ", " --super-minor=
|
|
|
|
Minor number of device that array was created for. Devices which
|
|
|
|
don't have this minor number are excluded. If you create an array as
|
|
|
|
/dev/md1, then all superblock will contain the minor number 1, even if
|
|
|
|
the array is later assembled as /dev/md2.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -f ", " --force
|
2001-08-23 04:33:20 +02:00
|
|
|
Assemble the array even if some superblocks appear out-of-date
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -R ", " --run
|
|
|
|
Attempt to start the array even if fewer drives were given than are
|
|
|
|
needed for a full array. Normally if not all drives are found and
|
|
|
|
.B --scan
|
|
|
|
is not used, then the array will be assembled but not started.
|
|
|
|
With
|
|
|
|
.B --run
|
|
|
|
an attempt will be made to start it anyway.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.SH For Manage mode:
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -a ", " --add
|
|
|
|
'''add, or
|
|
|
|
hotadd listed devices.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -r ", " --remove
|
|
|
|
remove listed devices. The must not be active. i.e. they should
|
|
|
|
be failed or spare devices.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -f ", " --fail
|
|
|
|
mark listed devices as faulty.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR --set-faulty
|
|
|
|
same as --fail.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.SH For Misc mode:
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -R ", " --run
|
|
|
|
start a partially built array.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -S ", " --stop
|
|
|
|
deactivate array, releasing all resources.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -o ", " --readonly
|
|
|
|
mark array as readonly.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.TP
|
|
|
|
.BR -w ", " --readwrite
|
|
|
|
mark array as readwrite.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.TP
|
|
|
|
.B --zero-superblock
|
|
|
|
If the device contains a valid md superblock, the block is
|
|
|
|
over-written with zeros. With
|
|
|
|
--force
|
|
|
|
the block where the superblock would be is over-written even if it
|
|
|
|
doesn't appear to be valid.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.SH For Monitor mode:
|
|
|
|
.TP
|
|
|
|
.BR -m ", " --mail
|
|
|
|
Give a mail address to send alerts to.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -p ", " --program ", " --alert
|
|
|
|
Give a program to be run whenever an event is detected.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR -d ", " --delay
|
|
|
|
Give a delay in seconds.
|
|
|
|
.B mdadm
|
|
|
|
polls the md arrays and then waits this many seconds before polling
|
|
|
|
again. The default is 60 seconds.
|
|
|
|
|
|
|
|
.SH ASSEMBLE MODE
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm --assemble
|
2002-03-07 00:17:40 +01:00
|
|
|
.I device options...
|
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm --assemble --scan
|
2002-03-07 00:17:40 +01:00
|
|
|
.I options...
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.PP
|
2001-08-23 04:33:20 +02:00
|
|
|
This usage assembles one or more raid arrays from pre-existing components.
|
2002-03-08 01:03:52 +01:00
|
|
|
For each array, mdadm needs to know the md device, the identity of the
|
2002-04-04 03:58:32 +02:00
|
|
|
array, and a number of component-devices. These can be found in a number of ways.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
The md device is either given before
|
|
|
|
.B --scan
|
|
|
|
or is found from the config file. In the latter case, multiple md devices
|
2002-03-08 01:03:52 +01:00
|
|
|
can be started with a single mdadm command.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
The identity can be given with the
|
2001-08-23 04:33:20 +02:00
|
|
|
.B --uuid
|
2002-03-07 00:17:40 +01:00
|
|
|
option, with the
|
|
|
|
.B --super-minor
|
|
|
|
option, can be found in in the config file, or will be taken from the
|
2002-04-04 03:58:32 +02:00
|
|
|
super block on the first component-device listed on the command line.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
Devices can be given on the
|
|
|
|
.B --assemble
|
2002-03-07 00:17:40 +01:00
|
|
|
command line or from the config file. Only devices which have an md
|
|
|
|
superblock which contains the right identity will be considered for any device.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
The config file is only used if explicitly named with
|
|
|
|
.B --config
|
|
|
|
or requested with
|
|
|
|
.B --scan.
|
|
|
|
In the later case,
|
2002-03-08 01:03:52 +01:00
|
|
|
.B /etc/mdadm.conf
|
2001-08-23 04:33:20 +02:00
|
|
|
is used.
|
|
|
|
|
|
|
|
If
|
|
|
|
.B --scan
|
2002-03-07 00:17:40 +01:00
|
|
|
is not given, then the config file will only be used to find the
|
|
|
|
identity of md arrays.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
Normally the array will be started after it is assembled. However is
|
|
|
|
.B --scan
|
|
|
|
is not given and insufficient drives were lists to start a complete
|
|
|
|
(non-degraded) array, then the array is not started (to guard against
|
|
|
|
usage errors). To insist that the array be started in this case (as
|
|
|
|
may work for RAID1 or RAID5), give the
|
|
|
|
.B --run
|
|
|
|
flag.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.SH BUILD MODE
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm --build
|
2002-03-07 00:17:40 +01:00
|
|
|
.I device
|
|
|
|
.BI --chunk= X
|
|
|
|
.BI --level= Y
|
|
|
|
.BI --raid-disks= Z
|
|
|
|
.I devices
|
|
|
|
|
|
|
|
.PP
|
2001-08-23 04:33:20 +02:00
|
|
|
This usage is similar to
|
2002-03-07 00:17:40 +01:00
|
|
|
.BR --create .
|
2001-08-23 04:33:20 +02:00
|
|
|
The difference is that it creates a legacy array without a superblock. With
|
2002-03-07 00:17:40 +01:00
|
|
|
these arrays there is no difference between initially creating the array and
|
2001-08-23 04:33:20 +02:00
|
|
|
subsequently assembling the array, except that hopefully there is useful
|
|
|
|
data there in the second case.
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
The level may only be 0, raid0, or linear. All devices must be listed
|
|
|
|
and the array will be started once complete.
|
|
|
|
|
|
|
|
.SH CREATE MODE
|
|
|
|
|
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm --create
|
2002-03-07 00:17:40 +01:00
|
|
|
.I device
|
|
|
|
.BI --chunk= X
|
|
|
|
.BI --level= Y
|
|
|
|
.br
|
|
|
|
.BI --raid-disks= Z
|
|
|
|
.I devices
|
|
|
|
|
|
|
|
.PP
|
|
|
|
This usage will initialise a new md array, associate some devices with
|
|
|
|
it, and activate the array.
|
|
|
|
|
|
|
|
As devices are added, they are checked to see if they contain raid
|
|
|
|
superblocks or filesystems. They are also check to see if the variance in
|
|
|
|
device size exceeds 1%.
|
|
|
|
|
|
|
|
If any discrepancy is found, the array will not automatically be run, though
|
|
|
|
the presence of a
|
|
|
|
.B --run
|
|
|
|
can override this caution.
|
|
|
|
|
|
|
|
'''If the
|
|
|
|
'''.B --size
|
2002-04-04 03:58:32 +02:00
|
|
|
'''option is given, it is not necessary to list any component-devices in this command.
|
2002-03-07 00:17:40 +01:00
|
|
|
'''They can be added later, before a
|
|
|
|
'''.B --run.
|
|
|
|
'''If no
|
|
|
|
'''.B --size
|
|
|
|
'''is given, the apparent size of the smallest drive given is used.
|
|
|
|
|
|
|
|
The General Management options that are valid with --create are:
|
|
|
|
.TP
|
|
|
|
.B --run
|
|
|
|
insist of running the array even if some devices look like they might
|
|
|
|
be in use.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B --readonly
|
|
|
|
start the array readonly - not supported yet.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.SH MANAGE MODE
|
2002-03-07 00:17:40 +01:00
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-04-04 03:58:32 +02:00
|
|
|
.B mdadm
|
|
|
|
.I device
|
|
|
|
.I options... devices...
|
2002-03-07 00:17:40 +01:00
|
|
|
.PP
|
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
This usage will allow individual devices in an array to be failed,
|
|
|
|
removed or added. It is possible to perform multiple operations with
|
|
|
|
on command. For example:
|
|
|
|
.br
|
|
|
|
mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 /a /dev/hda1
|
|
|
|
.br
|
|
|
|
will firstly mark
|
|
|
|
.B /dev/hda1
|
|
|
|
as faulty in
|
|
|
|
.B /dev/md0
|
|
|
|
and will then remove it from the array and finally add it back
|
|
|
|
in as a spare. However only one md array can be affect by a single
|
|
|
|
command.
|
|
|
|
|
|
|
|
.SH MISC MODE
|
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-04-04 03:58:32 +02:00
|
|
|
.I options ...
|
|
|
|
.I devices ...
|
|
|
|
.PP
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
MISC mode includes a number if distinct operations that
|
|
|
|
operate on distinct devices. The operations are:
|
|
|
|
.TP
|
|
|
|
--query
|
|
|
|
The device is examined to see if it is
|
|
|
|
(1) an active md array, or
|
|
|
|
(2) a component of an md array.
|
|
|
|
The information discovered is reported.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
--detail
|
|
|
|
The device should be an active md device. mdadm will display
|
|
|
|
a detailed description of the array.
|
2002-03-07 00:17:40 +01:00
|
|
|
.B --brief
|
2002-04-04 03:58:32 +02:00
|
|
|
will cause the output to be less detailed and format to be
|
|
|
|
suitable for inclusion in
|
2002-03-08 01:03:52 +01:00
|
|
|
.BR /etc/mdadm.conf .
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
.TP
|
|
|
|
--examine
|
|
|
|
The device should be a component of an md array. mdadm will
|
|
|
|
read the md superblock of the device and display the contents.
|
|
|
|
If
|
|
|
|
.B --brief
|
|
|
|
is given, or
|
|
|
|
.B --scan
|
|
|
|
then multiple devices that are components of the one array
|
|
|
|
are grouped together and reported in a single entry suitable
|
|
|
|
for inclusion in
|
|
|
|
.BR /etc/mdadm.conf .
|
|
|
|
|
|
|
|
Have
|
|
|
|
.B --scan
|
|
|
|
without listing any devices will cause all devices listed in the
|
|
|
|
config file to be examined.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
--stop
|
|
|
|
This devices should active md arrays which will be deactivated, if
|
|
|
|
they are not currently in use.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
--run
|
|
|
|
This will fully activate a partially assembled md array.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
--readonly
|
|
|
|
This will mark an active array as read-only, providing that it is
|
|
|
|
not currently being used.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
--readwrite
|
|
|
|
This will change a
|
|
|
|
.B readonly
|
|
|
|
array back to being read/write.
|
|
|
|
|
|
|
|
.SH MONITOR MODE
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.HP 12
|
|
|
|
Usage:
|
2002-04-04 03:58:32 +02:00
|
|
|
.B mdadm --monitor
|
|
|
|
.I options... devices...
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
.PP
|
2002-04-04 03:58:32 +02:00
|
|
|
This usage causes
|
|
|
|
.B mdadm
|
|
|
|
to periodically poll a number of md arrays and to report on any events
|
|
|
|
noticed.
|
|
|
|
.B mdadm
|
|
|
|
will never exit once it decides that there are arrays to be checked,
|
|
|
|
so it should normally be run in the background.
|
|
|
|
|
|
|
|
If any devices are listed on the command line,
|
|
|
|
.B mdadm
|
|
|
|
will only monitor those devices. Otherwise all arrays listed in the
|
|
|
|
configuration file will be monitored. Further, if
|
|
|
|
.B --scan
|
|
|
|
is given, then any other md devices that appear in
|
|
|
|
.B /proc/mdstat
|
|
|
|
will also be monitored.
|
|
|
|
|
|
|
|
The result of monitoring the arrays is the generation of events.
|
|
|
|
These events are passed to a separate program (is specified) and may
|
|
|
|
be mail to a given E-mail address.
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
|
|
|
|
If
|
|
|
|
.B --scan
|
2002-04-04 03:58:32 +02:00
|
|
|
is given, then a program or an E-mail address must be specified on the
|
|
|
|
command line or in the config file. If neither are available, then
|
|
|
|
.B mdadm
|
|
|
|
will not monitor anything.
|
|
|
|
Without
|
2002-03-07 00:17:40 +01:00
|
|
|
.B --scan
|
2002-04-04 03:58:32 +02:00
|
|
|
.B mdadm
|
|
|
|
will continue monitoring along as something was found to monitor. If
|
|
|
|
no program or email is given, then each event is reported to
|
|
|
|
.BR stdout .
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2002-04-04 03:58:32 +02:00
|
|
|
The different events are:
|
|
|
|
|
|
|
|
.RS 4
|
|
|
|
.TP
|
|
|
|
.B DeviceDisappeared
|
|
|
|
An md array which previously was configured appear to no longer be
|
|
|
|
configured.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B RebuildStarted
|
|
|
|
An md array started reconstruction.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BI Rebuild NN
|
|
|
|
Where
|
|
|
|
.I NN
|
|
|
|
is 20, 40, 60, or 80, this indicates that rebuild has passed that many
|
|
|
|
percentage of the total.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B Fail
|
|
|
|
An active component device of an array has been marked as faulty.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B FailSpare
|
|
|
|
A spare component device which was being rebuilt to replace a faulty
|
|
|
|
device has failed.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B SpareActive
|
|
|
|
A spare component device which was being rebuilt to replace a faulty
|
|
|
|
device as been successfully rebuild and has been made active.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B NewArray
|
|
|
|
A new md array has been detected in the
|
|
|
|
.B /proc/mdstat
|
|
|
|
file.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.B MoveSpare
|
|
|
|
A spare drive has been moved from one array in a
|
|
|
|
.B spare-group
|
|
|
|
to another to allow a failed drive to be replaced.
|
|
|
|
|
|
|
|
.RE
|
|
|
|
|
|
|
|
Only
|
|
|
|
.B Fail
|
|
|
|
and
|
|
|
|
.B FailSpare
|
|
|
|
cause Email to be sent. All events cause the program to be run.
|
|
|
|
The program is run with two or three arguments, they being the event
|
|
|
|
name, the array device and possibly a second device.
|
|
|
|
|
|
|
|
Each event has an associated array device (e.g.
|
|
|
|
.BR /dev/md1 )
|
|
|
|
and possibly a second device. For
|
|
|
|
.BR Fail ,
|
|
|
|
.BR FailSpare ,
|
|
|
|
and
|
|
|
|
.B SpareActive
|
|
|
|
the second device is the relevant component device.
|
|
|
|
For
|
|
|
|
.B MoveSpare
|
|
|
|
the second device is the array that the spare was moved from.
|
|
|
|
|
|
|
|
For
|
|
|
|
.B mdadm
|
|
|
|
to move spares from one array to another, the different arrays need to
|
|
|
|
be labelled with the same
|
|
|
|
.B spare-group
|
|
|
|
in the configuration file. The
|
|
|
|
.B spare-group
|
|
|
|
name can be any string. It is only necessary that different spare
|
|
|
|
groups use different name.
|
|
|
|
|
|
|
|
When
|
2002-03-08 01:03:52 +01:00
|
|
|
.B mdadm
|
2002-04-04 03:58:32 +02:00
|
|
|
detects that an array which is in a spare group has fewer active
|
|
|
|
devices than necessary for the complete array, and has no spare
|
|
|
|
devices, it will look for another array in the same spare group that
|
|
|
|
has a full complement of working drive and a spare. It will then
|
|
|
|
attempt to remove the spare from the second drive and add it to the
|
|
|
|
first.
|
|
|
|
If the removal succeeds but the adding fails, then it is added back to
|
|
|
|
the original array.
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
|
|
|
|
'''.SH BUGS
|
|
|
|
'''no known bugs.
|
|
|
|
|
|
|
|
.SH FILES
|
|
|
|
|
|
|
|
.SS /proc/mdstat
|
|
|
|
|
|
|
|
If you're using the
|
|
|
|
.B /proc
|
|
|
|
filesystem,
|
|
|
|
.B /proc/mdstat
|
|
|
|
gives you informations about md devices status.
|
|
|
|
This file is not currently used by
|
2002-03-08 01:03:52 +01:00
|
|
|
.BR mdadm .
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2002-03-08 01:03:52 +01:00
|
|
|
.SS /etc/mdadm.conf
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2002-03-20 23:39:50 +01:00
|
|
|
The config file lists which devices may be scanned to see if
|
|
|
|
they contain MD super block, and gives identifying information
|
|
|
|
(e.g. UUID) about known MD arrays. See
|
|
|
|
.BR mdadm.conf (5)
|
|
|
|
for more details.
|
2002-03-07 00:17:40 +01:00
|
|
|
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
.SH TODO
|
|
|
|
|
2002-03-07 00:17:40 +01:00
|
|
|
Finish and document Follow mode.
|
2001-08-23 04:33:20 +02:00
|
|
|
|
|
|
|
.SH SEE ALSO
|
2002-03-07 00:17:40 +01:00
|
|
|
For information on the various levels of
|
|
|
|
RAID, check out:
|
|
|
|
|
|
|
|
.IP
|
|
|
|
.UR http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
|
|
|
|
http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
|
|
|
|
.UE
|
|
|
|
.PP
|
|
|
|
for new releases of the RAID driver check out:
|
|
|
|
|
|
|
|
.IP
|
|
|
|
.UR ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
|
|
|
|
ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
|
|
|
|
.UE
|
|
|
|
.PP
|
|
|
|
or
|
|
|
|
.IP
|
|
|
|
.UR http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
|
|
|
|
http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
|
|
|
|
.URk
|
|
|
|
.PP
|
2002-03-15 06:21:36 +01:00
|
|
|
.BR mdadm.conf (5),
|
|
|
|
.BR md (4).
|
|
|
|
.PP
|
2001-08-23 04:33:20 +02:00
|
|
|
.IR raidtab (5),
|
|
|
|
.IR raid0run (8),
|
|
|
|
.IR raidstop (8),
|
|
|
|
.IR mkraid (8)
|