summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-06-14 02:59:32 +0000
committerNeil Brown <neilb@suse.de>2005-06-14 02:59:32 +0000
commitb3cf4b9613f04294d56165f884e05076498715dc (patch)
tree93345437c489bd202c5cc945cd6e18d604d84c73
parentd74c6de8d18ae40a6dec8e8ef804f72ce2b60f21 (diff)
downloadmdadm-b3cf4b9613f04294d56165f884e05076498715dc.tar.gz
mdadm-b3cf4b9613f04294d56165f884e05076498715dc.tar.xz
mdadm-b3cf4b9613f04294d56165f884e05076498715dc.zip
Lots of little manpage updates.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
-rw-r--r--ChangeLog1
-rw-r--r--md.483
-rw-r--r--mdadm.8166
-rw-r--r--mdadm.conf.52
4 files changed, 157 insertions, 95 deletions
diff --git a/ChangeLog b/ChangeLog
index 5359e09..88fbcba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,7 @@ Changes Prior to 1.12.0 release
- Replace sprintf calls with snprintf (to quiet diet-libc)
- Add man page for mdassemble
- Fix compilation with tinyc
+ - Lot of minor manpage updates
Changes Prior to 1.11.0 release
- Fix embarassing bug which causes --add to always fail.
diff --git a/md.4 b/md.4
index 4643dd2..80d0c51 100644
--- a/md.4
+++ b/md.4
@@ -16,7 +16,7 @@ Array of Independent Devices.
.B md
supports RAID levels 1 (mirroring) 4 (striped array with parity
device), 5 (striped array with distributed parity information) and 6
-(striped array with distributed dual redundancy information.) If a
+(striped array with distributed dual redundancy information.) If
some number of underlying devices fails while using one of these
levels, the array will continue to function; this number is one for
RAID levels 4 and 5, two for RAID level 6, and all but one (N-1) for
@@ -24,12 +24,13 @@ RAID level 1.
.PP
.B md
also supports a number of pseudo RAID (non-redundant) configurations
-including RAID0 (striped array), LINEAR (catenated array) and
-MULTIPATH (a set of different interfaces to the same device).
+including RAID0 (striped array), LINEAR (catenated array),
+MULTIPATH (a set of different interfaces to the same device),
+and FAULTY (a layer over a single device that sythesises errors).
.SS MD SUPER BLOCK
-With the exception of Legacy Arrays described below, each device that
-is incorporated into an MD array has a
+Though it is possible to create an array without using per-device
+superblocks (see below), each device in an MD array will normally have a
.I super block
written towards the end of the device. This superblock records
information about the structure and state of the array so that the
@@ -53,17 +54,21 @@ UUID
a 128 bit Universally Unique Identifier that identifies the array that
this device is part of.
-.SS LEGACY ARRAYS
-Early versions of the
-.B md
-driver only supported Linear and Raid0 configurations and so
-did not use an MD superblock (as there is no state that needs to be
-recorded). While it is strongly recommended that all newly created
-arrays utilise a superblock to help ensure that they are assembled
-properly, the
-.B md
-driver still supports legacy linear and raid0 md arrays that
-do not have a superblock.
+.SS NO-SUPERBLOCK ARRAYS
+
+It is possible for some md arrays to be created without a superblock.
+This allows the whole of each device to participate in the array, but
+requires some external mechanism to determine what devices should be
+arranged into which arrays.
+
+FAULTY arrays are an obvious candidate for not having a superblock as
+there is nothing useful to go in the superblock. MUTIPATH arrays can also be
+usefully made without superblocks as there are likely to be other ways
+to detect that two paths connect to the same real devices.
+
+Other array type can work without superblocks are RAID1, RAID0, and LINEAR.
+However these should only be made without a superblock if you are sure
+that you know what you are doing.
.SS LINEAR
@@ -73,7 +78,7 @@ drive together to form one large virtual drive.
One advantage of this arrangement over the more common RAID0
arrangement is that the array may be reconfigured at a later time with
an extra drive and so the array is made bigger without disturbing the
-data that is on the array. However this cannot be done on a live
+data that is on the array. However this cannot yet be done on a live
array.
@@ -160,10 +165,10 @@ in a MULTIPATH md array. However there are multiple access points
(paths) to this device, and one of these paths might fail, so there
are some similarities.
-A MULTIPATH array is composed of a number of logical different
+A MULTIPATH array is composed of a number of logically different
devices, often fibre channel interfaces, that all refer the the same
real device. If one of these interfaces fails (e.g. due to cable
-problems), the multipath driver to attempt to redirect requests to
+problems), the multipath driver will attempt to redirect requests to
another interface.
.SS FAULTY
@@ -173,7 +178,7 @@ superblock, so the md array created provides direct access to all of
the data in the component device.
The FAULTY module may be requested to simulate faults to allow testing
-of other md levels or of filesystem. Faults can be chosen to trigger
+of other md levels or of filesystems. Faults can be chosen to trigger
on read requests or write requests, and can be transient (a subsequent
read/write at the address will probably succeed) or persistant
(subsequent read/write of the same address will fail). Further, read
@@ -181,9 +186,9 @@ faults can be "fixable" meaning that they persist until a write
request at the same address.
Fault types can be requested with a period. In this case the fault
-will recur repeatedly after the given number of request of the
-relevant time. For example if persistent read faults have a period of
-100, then ever 100th read request would generate a fault, and the
+will recur repeatedly after the given number of requests of the
+relevant type. For example if persistent read faults have a period of
+100, then every 100th read request would generate a fault, and the
faulty sector would be recorded so that subsequent reads on that
sector would also fail.
@@ -191,7 +196,7 @@ There is a limit to the number of faulty sectors that are remembered.
Faults generated after this limit is exhausted are treated as
transient.
-It list of faulty sectors can be flushed, and the active list of
+The list of faulty sectors can be flushed, and the active list of
failure modes can be cleared.
.SS UNCLEAN SHUTDOWN
@@ -199,7 +204,7 @@ failure modes can be cleared.
When changes are made to a RAID1, RAID4, RAID5 or RAID6 array there is a
possibility of inconsistency for short periods of time as each update
requires are least two block to be written to different devices, and
-these writes probably wont happen at exactly the same time.
+these writes probably won't happen at exactly the same time.
Thus if a system with one of these arrays is shutdown in the middle of
a write operation (e.g. due to power failure), the array may not be
consistent.
@@ -215,6 +220,11 @@ the parity block has the correct data. This process, known as
"resynchronising" or "resync" is performed in the background. The
array can still be used, though possibly with reduced performance.
+In 2.6 Linux kernels, an md array is marked clean after a short period
+(around 20 milliseconds) of no write activity, and then marked dirty
+before any subsequent write is attempted. This means that unclean
+shutdowns are much less likely with a 2.6 kernel.
+
If a RAID4, RAID5 or RAID6 array is degraded (missing at least one
drive) when it is restarted after an unclean shutdown, it cannot
recalculate parity, and so it is possible that data might be
@@ -257,13 +267,36 @@ an MD array, and if any full arrays are found, they are started. This
kernel paramenter disables this behaviour.
.TP
+.B raid=partitionable
+.TP
+.B raid=part
+These are available in 2.6 and later kernels only. They indicate that
+autodetected MD arrays should be created as partitionable arrays, with
+a different major device number to the original non-partitionable md
+arrays. The device number is listed as
+.I mdp
+in
+.IR /proc/devices .
+
+
+.TP
.BI md= n , dev , dev ,...
+.TP
+.BI md=d n , dev , dev ,...
This tells the md driver to assemble
.B /dev/md n
from the listed devices. It is only necessary to start the device
holding the root filesystem this way. Other arrays are best started
once the system is booted.
+In 2.6 kernels, the
+.B d
+immediately after the
+.B =
+indicates that a partitionable device (e.g.
+.BR /dev/md/d0 )
+should be created rather than the original non-partitionable device.
+
.TP
.BI md= n , l , c , i , dev...
This tells the md driver to assemble a legacy RAID0 or LINEAR array
diff --git a/mdadm.8 b/mdadm.8
index 72c0174..744b9b4 100644
--- a/mdadm.8
+++ b/mdadm.8
@@ -34,49 +34,51 @@ md devices,
and
.BR FAULTY .
-.B MULTIPATH is not a Software RAID mechanism, but does involve
+.B MULTIPATH
+is not a Software RAID mechanism, but does involve
multiple devices. For
.B MULTIPATH
each device is a path to one common physical storage device.
-.B FAULTY is also no true RAID, and it only involves one device. It
+.B FAULTY
+is also not true RAID, and it only involves one device. It
provides a layer over a true device that can be used to inject faults.
-.B mdadm
-is a program that can be used to create, manage, and monitor
-MD devices. As
-such it provides a similar set of functionality to the
-.B raidtools
-packages.
-The key differences between
-.B mdadm
-and
-.B raidtools
-are:
-.IP \(bu 4
-.B mdadm
-is a single program and not a collection of programs.
-.IP \(bu 4
-.B mdadm
-can perform (almost) all of its functions without having a
-configuration file and does not use one by default. Also
-.B mdadm
-helps with management of the configuration
-file.
-.IP \(bu 4
-.B mdadm
-can provide information about your arrays (through Query, Detail, and Examine)
-that
-.B raidtools
-cannot.
-.P
-.I mdadm
-does not use
-.IR /etc/raidtab ,
-the
-.B raidtools
-configuration file, at all. It has a different configuration file
-with a different format and an different purpose.
+'''.B mdadm
+'''is a program that can be used to create, manage, and monitor
+'''MD devices. As
+'''such it provides a similar set of functionality to the
+'''.B raidtools
+'''packages.
+'''The key differences between
+'''.B mdadm
+'''and
+'''.B raidtools
+'''are:
+'''.IP \(bu 4
+'''.B mdadm
+'''is a single program and not a collection of programs.
+'''.IP \(bu 4
+'''.B mdadm
+'''can perform (almost) all of its functions without having a
+'''configuration file and does not use one by default. Also
+'''.B mdadm
+'''helps with management of the configuration
+'''file.
+'''.IP \(bu 4
+'''.B mdadm
+'''can provide information about your arrays (through Query, Detail, and Examine)
+'''that
+'''.B raidtools
+'''cannot.
+'''.P
+'''.I mdadm
+'''does not use
+'''.IR /etc/raidtab ,
+'''the
+'''.B raidtools
+'''configuration file, at all. It has a different configuration file
+'''with a different format and an different purpose.
.SH MODES
mdadm has 7 major modes of operation:
@@ -92,7 +94,15 @@ information so as to assemble a faulty array.
.TP
.B Build
-Build a legacy array without per-device superblocks.
+Build an array that doesn't have per-device superblocks. For these
+sorts of arrays,
+.I mdadm
+cannot differentiate between initial creation and subsequent assembly
+of an array. It also cannot perform any checks that appropriate
+devices have been requested. Because of this, the
+.B Build
+mode should only be used together with a complete understanding of
+what you are doing.
.TP
.B Create
@@ -167,8 +177,8 @@ Change the size or shape of an active array.
.TP
.BR -h ", " --help
-Display help message or, after above option, mode specific help
-message.
+Display general help message or, after one of the above options, a
+mode specific help message.
.TP
.B --help-options
@@ -183,7 +193,7 @@ Print version information for mdadm.
.BR -v ", " --verbose
Be more verbose about what is happening. This can be used twice to be
extra-verbose.
-This currently only affects
+The extra verbosity currently only affects
.B --detail --scan
and
.BR "--examine --scan" .
@@ -263,7 +273,7 @@ raid5, 5, raid6, 6, multipath, mp, fautly. Obviously some of these are synonymo
When used with
.IR --build ,
-only linear, raid0, 0, stripe are valid.
+only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
.TP
.BR -p ", " --parity=
@@ -356,7 +366,7 @@ using
.BR --grow .
The size can be given as
.B max
-which means to choose the largest size that fits all on all current drives.
+which means to choose the largest size that fits on all current drives.
.TP
.BR --assume-clean
@@ -398,7 +408,7 @@ later) to be used. "yes" requires the named md device to have a
'standard' format, and the type and minor number will be determined
from this. See DEVICE NAMES below.
-The argumentment can also come immediately after
+The argument can also come immediately after
"-a". e.g. "-ap".
If
@@ -423,7 +433,7 @@ e.g. "/dev/scratch3".
If the md device name is in a 'standard' format as described in DEVICE
NAMES, then it will be created, if necessary, with the appropriate
number based on that name. If the device name is not in one of these
-formats, then a unused minor number will be allocted. The minor
+formats, then a unused minor number will be allocated. The minor
number will be considered unused if there is no active array for that
number, and there is no entry in /dev for that number and with a
non-standard name.
@@ -536,7 +546,7 @@ same as --fail.
.TP
.B --sparc2.2
-In an array was created on a 2.2 Linux kernel patched with RAID
+If an array was created on a 2.2 Linux kernel patched with RAID
support, the superblock will have been created incorrectly, or at
least incompatibly with 2.4 and later kernels. Using the
.B --sparc2.2
@@ -621,6 +631,8 @@ Check arrays only once. This will generate
.B NewArray
events and more significantly
.B DegradedArray
+and
+.B SparesMissing
events. Running
.in +5
.B " mdadm --monitor --scan -1"
@@ -633,7 +645,7 @@ Generate a
.B TestMessage
alert for every array found at startup. This alert gets mailed and
passed to the alert program. This can be used for testing that alert
-message to get through successfully.
+message do get through successfully.
.SH ASSEMBLE MODE
@@ -738,7 +750,7 @@ When using this option to create a partitionable array, the device
files for the first 4 partitions are also created. If a different
number is required it can be simply appended to the auto option.
e.g. "auto=part8". Partition names are created by appending a digit
-string to the device name, with an intervening "_p" if the device name
+string to the device name, with an intervening "p" if the device name
ends with a digit.
The
@@ -761,13 +773,14 @@ Usage:
.PP
This usage is similar to
.BR --create .
-The difference is that it creates a legacy array without a superblock. With
+The difference is that it creates an array without a superblock. With
these arrays there is no difference between initially creating the array and
subsequently assembling the array, except that hopefully there is useful
data there in the second case.
-The level may only be 0, raid0, or linear. All devices must be listed
-and the array will be started once complete.
+The level may raid0, linear, multipath, or faulty, or one of their
+synonyms. All devices must be listed and the array will be started
+once complete.
.SH CREATE MODE
@@ -785,7 +798,7 @@ Usage:
This usage will initialise a new md array, associate some devices with
it, and activate the array.
-This the
+If the
.B --auto
option is given (as described in more detail in the section on
Assemble mode), then the md device will be created with a suitable
@@ -985,7 +998,7 @@ As well as reporting events,
may move a spare drive from one array to another if they are in the
same
.B spare-group
-and if the destination array has a failed drive but not spares.
+and if the destination array has a failed drive but no spares.
If any devices are listed on the command line,
.B mdadm
@@ -1161,7 +1174,7 @@ Currently the only support available is to change the "size" attribute
for arrays with redundancy, and the raid-disks attribute of RAID1
arrays.
-Normally when an array is build the "size" it taken from the smallest
+Normally when an array is built the "size" it taken from the smallest
of the drives. If all the small drives in an arrays are, one at a
time, removed and replaced with larger drives, then you could have an
array of large drives with only a small amount used. In this
@@ -1185,7 +1198,7 @@ are to be removed from the array must already be vacant. That is, the
devices that which were in those slots must be failed and removed.
When the number of devices is increased, any hot spares that are
-present may be activated immediately.
+present will be activated immediately.
.SH EXAMPLES
@@ -1329,7 +1342,14 @@ Partition numbers should be indicated by added "pMM" to these, thus "/dev/md/d1p
.B mdadm
was previously known as
.BR mdctl .
-
+.P
+.B mdadm
+is completely separate from the
+.B raidtools
+package, and does not use the
+.I /etc/raidtab
+configuration file at all.
+
.SH SEE ALSO
For information on the various levels of
RAID, check out:
@@ -1338,24 +1358,32 @@ RAID, check out:
.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/
+'''.UE
.PP
-for new releases of the RAID driver check out:
-
+The lastest version of
+.I mdadm
+should always be available from
.IP
-.UR ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
-ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
+.UR http://www.kernel.org/pub/linux/utils/raid/mdadm/
+http://www.kernel.org/pub/linux/utils/raid/mdadm/
.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
-.BR mdadm.conf (5),
-.BR md (4).
+.IR mdadm.conf (5),
+.IR md (4).
.PP
.IR raidtab (5),
.IR raid0run (8),
.IR raidstop (8),
-.IR mkraid (8)
+.IR mkraid (8).
diff --git a/mdadm.conf.5 b/mdadm.conf.5
index 9739010..a276cdf 100644
--- a/mdadm.conf.5
+++ b/mdadm.conf.5
@@ -194,7 +194,7 @@ ARRAY /dev/md1 superminor=1
.br
# /dev/md2 is made from precisey these two devices
.br
-ARRAY /dev/md2 devices=/dev/hda1,/dev/hda2
+ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1
# /dev/md4 and /dev/md5 are a spare-group and spares
.br