Substantial corrections to man pages.
From: "Scott Weikart" <Scott.W@Benetech.org> Thanks Scott!
This commit is contained in:
parent
bf40ab857f
commit
93e790afef
94
md.4
94
md.4
|
@ -6,7 +6,7 @@
|
||||||
''' See file COPYING in distribution for details.
|
''' See file COPYING in distribution for details.
|
||||||
.TH MD 4
|
.TH MD 4
|
||||||
.SH NAME
|
.SH NAME
|
||||||
md \- Multiple Device driver aka Linux Software Raid
|
md \- Multiple Device driver aka Linux Software RAID
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.BI /dev/md n
|
.BI /dev/md n
|
||||||
.br
|
.br
|
||||||
|
@ -29,7 +29,7 @@ supports RAID levels
|
||||||
If some number of underlying devices fails while using one of these
|
If some number of underlying devices fails while using one of these
|
||||||
levels, the array will continue to function; this number is one for
|
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
|
RAID levels 4 and 5, two for RAID level 6, and all but one (N-1) for
|
||||||
RAID level 1, and dependant on configuration for level 10.
|
RAID level 1, and dependent on configuration for level 10.
|
||||||
.PP
|
.PP
|
||||||
.B md
|
.B md
|
||||||
also supports a number of pseudo RAID (non-redundant) configurations
|
also supports a number of pseudo RAID (non-redundant) configurations
|
||||||
|
@ -57,7 +57,7 @@ device down to a multiple of 64K and then subtract 64K).
|
||||||
The available size of each device is the amount of space before the
|
The available size of each device is the amount of space before the
|
||||||
super block, so between 64K and 128K is lost when a device in
|
super block, so between 64K and 128K is lost when a device in
|
||||||
incorporated into an MD array.
|
incorporated into an MD array.
|
||||||
This superblock stores multi-byte fields in a processor-dependant
|
This superblock stores multi-byte fields in a processor-dependent
|
||||||
manner, so arrays cannot easily be moved between computers with
|
manner, so arrays cannot easily be moved between computers with
|
||||||
different processors.
|
different processors.
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ and 12K from the end of the device, on a 4K boundary, though
|
||||||
variations can be stored at the start of the device (version 1.1) or 4K from
|
variations can be stored at the start of the device (version 1.1) or 4K from
|
||||||
the start of the device (version 1.2).
|
the start of the device (version 1.2).
|
||||||
This superblock format stores multibyte data in a
|
This superblock format stores multibyte data in a
|
||||||
processor-independent format and has supports up to hundreds of
|
processor-independent format and supports up to hundreds of
|
||||||
component devices (version 0.90 only supports 28).
|
component devices (version 0.90 only supports 28).
|
||||||
|
|
||||||
The superblock contains, among other things:
|
The superblock contains, among other things:
|
||||||
|
@ -78,7 +78,7 @@ The manner in which the devices are arranged into the array
|
||||||
.TP
|
.TP
|
||||||
UUID
|
UUID
|
||||||
a 128 bit Universally Unique Identifier that identifies the array that
|
a 128 bit Universally Unique Identifier that identifies the array that
|
||||||
this device is part of.
|
contains this device.
|
||||||
|
|
||||||
When a version 0.90 array is being reshaped (e.g. adding extra devices
|
When a version 0.90 array is being reshaped (e.g. adding extra devices
|
||||||
to a RAID5), the version number is temporarily set to 0.91. This
|
to a RAID5), the version number is temporarily set to 0.91. This
|
||||||
|
@ -90,8 +90,8 @@ that can complete the reshape processes is used.
|
||||||
|
|
||||||
.SS ARRAYS WITHOUT SUPERBLOCKS
|
.SS ARRAYS WITHOUT SUPERBLOCKS
|
||||||
While it is usually best to create arrays with superblocks so that
|
While it is usually best to create arrays with superblocks so that
|
||||||
they can be assembled reliably, there are some circumstances where an
|
they can be assembled reliably, there are some circumstances when an
|
||||||
array without superblocks in preferred. This include:
|
array without superblocks is preferred. These include:
|
||||||
.TP
|
.TP
|
||||||
LEGACY ARRAYS
|
LEGACY ARRAYS
|
||||||
Early versions of the
|
Early versions of the
|
||||||
|
@ -114,19 +114,19 @@ a MULTIPATH array with no superblock makes sense.
|
||||||
.TP
|
.TP
|
||||||
RAID1
|
RAID1
|
||||||
In some configurations it might be desired to create a raid1
|
In some configurations it might be desired to create a raid1
|
||||||
configuration that does use a superblock, and to maintain the state of
|
configuration that does not use a superblock, and to maintain the state of
|
||||||
the array elsewhere. While not encouraged for general us, it does
|
the array elsewhere. While not encouraged for general us, it does
|
||||||
have special-purpose uses and is supported.
|
have special-purpose uses and is supported.
|
||||||
|
|
||||||
.SS LINEAR
|
.SS LINEAR
|
||||||
|
|
||||||
A linear array simply catenates the available space on each
|
A linear array simply catenates the available space on each
|
||||||
drive together to form one large virtual drive.
|
drive to form one large virtual drive.
|
||||||
|
|
||||||
One advantage of this arrangement over the more common RAID0
|
One advantage of this arrangement over the more common RAID0
|
||||||
arrangement is that the array may be reconfigured at a later time with
|
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
|
an extra drive, 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. This can even be done on a live
|
||||||
array.
|
array.
|
||||||
|
|
||||||
If a chunksize is given with a LINEAR array, the usable space on each
|
If a chunksize is given with a LINEAR array, the usable space on each
|
||||||
|
@ -145,7 +145,7 @@ device, the second chunk to the second device, and so on until all
|
||||||
drives have been assigned one chunk. This collection of chunks forms
|
drives have been assigned one chunk. This collection of chunks forms
|
||||||
a
|
a
|
||||||
.BR stripe .
|
.BR stripe .
|
||||||
Further chunks are gathered into stripes in the same way which are
|
Further chunks are gathered into stripes in the same way, and are
|
||||||
assigned to the remaining space in the drives.
|
assigned to the remaining space in the drives.
|
||||||
|
|
||||||
If devices in the array are not all the same size, then once the
|
If devices in the array are not all the same size, then once the
|
||||||
|
@ -166,7 +166,7 @@ requests across all devices to maximise performance.
|
||||||
|
|
||||||
All devices in a RAID1 array should be the same size. If they are
|
All devices in a RAID1 array should be the same size. If they are
|
||||||
not, then only the amount of space available on the smallest device is
|
not, then only the amount of space available on the smallest device is
|
||||||
used. Any extra space on other devices is wasted.
|
used (any extra space on other devices is wasted).
|
||||||
|
|
||||||
.SS RAID4
|
.SS RAID4
|
||||||
|
|
||||||
|
@ -176,10 +176,10 @@ array. Unlike RAID0, RAID4 also requires that all stripes span all
|
||||||
drives, so extra space on devices that are larger than the smallest is
|
drives, so extra space on devices that are larger than the smallest is
|
||||||
wasted.
|
wasted.
|
||||||
|
|
||||||
When any block in a RAID4 array is modified the parity block for that
|
When any block in a RAID4 array is modified, the parity block for that
|
||||||
stripe (i.e. the block in the parity device at the same device offset
|
stripe (i.e. the block in the parity device at the same device offset
|
||||||
as the stripe) is also modified so that the parity block always
|
as the stripe) is also modified so that the parity block always
|
||||||
contains the "parity" for the whole stripe. i.e. its contents is
|
contains the "parity" for the whole stripe. I.e. its content is
|
||||||
equivalent to the result of performing an exclusive-or operation
|
equivalent to the result of performing an exclusive-or operation
|
||||||
between all the data blocks in the stripe.
|
between all the data blocks in the stripe.
|
||||||
|
|
||||||
|
@ -192,10 +192,10 @@ parity block and the other data blocks.
|
||||||
RAID5 is very similar to RAID4. The difference is that the parity
|
RAID5 is very similar to RAID4. The difference is that the parity
|
||||||
blocks for each stripe, instead of being on a single device, are
|
blocks for each stripe, instead of being on a single device, are
|
||||||
distributed across all devices. This allows more parallelism when
|
distributed across all devices. This allows more parallelism when
|
||||||
writing as two different block updates will quite possibly affect
|
writing, as two different block updates will quite possibly affect
|
||||||
parity blocks on different devices so there is less contention.
|
parity blocks on different devices so there is less contention.
|
||||||
|
|
||||||
This also allows more parallelism when reading as read requests are
|
This also allows more parallelism when reading, as read requests are
|
||||||
distributed over all the devices in the array instead of all but one.
|
distributed over all the devices in the array instead of all but one.
|
||||||
|
|
||||||
.SS RAID6
|
.SS RAID6
|
||||||
|
@ -210,12 +210,12 @@ disk failure mode, however.
|
||||||
|
|
||||||
.SS RAID10
|
.SS RAID10
|
||||||
|
|
||||||
RAID10 provides a combination of RAID1 and RAID0, and sometimes known
|
RAID10 provides a combination of RAID1 and RAID0, and is sometimes known
|
||||||
as RAID1+0. Every datablock is duplicated some number of times, and
|
as RAID1+0. Every datablock is duplicated some number of times, and
|
||||||
the resulting collection of datablocks are distributed over multiple
|
the resulting collection of datablocks are distributed over multiple
|
||||||
drives.
|
drives.
|
||||||
|
|
||||||
When configuring a RAID10 array it is necessary to specify the number
|
When configuring a RAID10 array, it is necessary to specify the number
|
||||||
of replicas of each data block that are required (this will normally
|
of replicas of each data block that are required (this will normally
|
||||||
be 2) and whether the replicas should be 'near', 'offset' or 'far'.
|
be 2) and whether the replicas should be 'near', 'offset' or 'far'.
|
||||||
(Note that the 'offset' layout is only available from 2.6.18).
|
(Note that the 'offset' layout is only available from 2.6.18).
|
||||||
|
@ -243,7 +243,7 @@ suitably large chunk size is used, but without as much seeking for
|
||||||
writes.
|
writes.
|
||||||
|
|
||||||
It should be noted that the number of devices in a RAID10 array need
|
It should be noted that the number of devices in a RAID10 array need
|
||||||
not be a multiple of the number of replica of each data block, those
|
not be a multiple of the number of replica of each data block; however,
|
||||||
there must be at least as many devices as replicas.
|
there must be at least as many devices as replicas.
|
||||||
|
|
||||||
If, for example, an array is created with 5 devices and 2 replicas,
|
If, for example, an array is created with 5 devices and 2 replicas,
|
||||||
|
@ -251,7 +251,7 @@ then space equivalent to 2.5 of the devices will be available, and
|
||||||
every block will be stored on two different devices.
|
every block will be stored on two different devices.
|
||||||
|
|
||||||
Finally, it is possible to have an array with both 'near' and 'far'
|
Finally, it is possible to have an array with both 'near' and 'far'
|
||||||
copies. If and array is configured with 2 near copies and 2 far
|
copies. If an array is configured with 2 near copies and 2 far
|
||||||
copies, then there will be a total of 4 copies of each block, each on
|
copies, then there will be a total of 4 copies of each block, each on
|
||||||
a different drive. This is an artifact of the implementation and is
|
a different drive. This is an artifact of the implementation and is
|
||||||
unlikely to be of real value.
|
unlikely to be of real value.
|
||||||
|
@ -283,7 +283,7 @@ read/write at the address will probably succeed) or persistent
|
||||||
faults can be "fixable" meaning that they persist until a write
|
faults can be "fixable" meaning that they persist until a write
|
||||||
request at the same address.
|
request at the same address.
|
||||||
|
|
||||||
Fault types can be requested with a period. In this case the fault
|
Fault types can be requested with a period. In this case, the fault
|
||||||
will recur repeatedly after the given number of requests of the
|
will recur repeatedly after the given number of requests of the
|
||||||
relevant type. For example if persistent read faults have a period of
|
relevant type. For example if persistent read faults have a period of
|
||||||
100, then every 100th read request would generate a fault, and the
|
100, then every 100th read request would generate a fault, and the
|
||||||
|
@ -301,8 +301,8 @@ failure modes can be cleared.
|
||||||
|
|
||||||
When changes are made to a RAID1, RAID4, RAID5, RAID6, or RAID10 array
|
When changes are made to a RAID1, RAID4, RAID5, RAID6, or RAID10 array
|
||||||
there is a possibility of inconsistency for short periods of time as
|
there is a possibility of inconsistency for short periods of time as
|
||||||
each update requires are least two block to be written to different
|
each update requires at least two block to be written to different
|
||||||
devices, and these writes probably wont happen at exactly the same
|
devices, and these writes probably won't happen at exactly the same
|
||||||
time. Thus if a system with one of these arrays is shutdown in the
|
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
|
middle of a write operation (e.g. due to power failure), the array may
|
||||||
not be consistent.
|
not be consistent.
|
||||||
|
@ -320,7 +320,7 @@ known as "resynchronising" or "resync" is performed in the background.
|
||||||
The array can still be used, though possibly with reduced performance.
|
The array can still be used, though possibly with reduced performance.
|
||||||
|
|
||||||
If a RAID4, RAID5 or RAID6 array is degraded (missing at least one
|
If a RAID4, RAID5 or RAID6 array is degraded (missing at least one
|
||||||
drive) when it is restarted after an unclean shutdown, it cannot
|
drive, two for RAID6) when it is restarted after an unclean shutdown, it cannot
|
||||||
recalculate parity, and so it is possible that data might be
|
recalculate parity, and so it is possible that data might be
|
||||||
undetectably corrupted. The 2.4 md driver
|
undetectably corrupted. The 2.4 md driver
|
||||||
.B does not
|
.B does not
|
||||||
|
@ -333,11 +333,11 @@ this behaviour can be overridden by a kernel parameter.
|
||||||
If the md driver detects a write error on a device in a RAID1, RAID4,
|
If the md driver detects a write error on a device in a RAID1, RAID4,
|
||||||
RAID5, RAID6, or RAID10 array, it immediately disables that device
|
RAID5, RAID6, or RAID10 array, it immediately disables that device
|
||||||
(marking it as faulty) and continues operation on the remaining
|
(marking it as faulty) and continues operation on the remaining
|
||||||
devices. If there is a spare drive, the driver will start recreating
|
devices. If there are spare drives, the driver will start recreating
|
||||||
on one of the spare drives the data what was on that failed drive,
|
on one of the spare drives the data which was on that failed drive,
|
||||||
either by copying a working drive in a RAID1 configuration, or by
|
either by copying a working drive in a RAID1 configuration, or by
|
||||||
doing calculations with the parity block on RAID4, RAID5 or RAID6, or
|
doing calculations with the parity block on RAID4, RAID5 or RAID6, or
|
||||||
by finding a copying originals for RAID10.
|
by finding and copying originals for RAID10.
|
||||||
|
|
||||||
In kernels prior to about 2.6.15, a read error would cause the same
|
In kernels prior to about 2.6.15, a read error would cause the same
|
||||||
effect as a write error. In later kernels, a read-error will instead
|
effect as a write error. In later kernels, a read-error will instead
|
||||||
|
@ -345,7 +345,7 @@ cause md to attempt a recovery by overwriting the bad block. i.e. it
|
||||||
will find the correct data from elsewhere, write it over the block
|
will find the correct data from elsewhere, write it over the block
|
||||||
that failed, and then try to read it back again. If either the write
|
that failed, and then try to read it back again. If either the write
|
||||||
or the re-read fail, md will treat the error the same way that a write
|
or the re-read fail, md will treat the error the same way that a write
|
||||||
error is treated and will fail the whole device.
|
error is treated, and will fail the whole device.
|
||||||
|
|
||||||
While this recovery process is happening, the md driver will monitor
|
While this recovery process is happening, the md driver will monitor
|
||||||
accesses to the array and will slow down the rate of recovery if other
|
accesses to the array and will slow down the rate of recovery if other
|
||||||
|
@ -384,7 +384,7 @@ causing an enormous recovery cost.
|
||||||
The intent log can be stored in a file on a separate device, or it can
|
The intent log can be stored in a file on a separate device, or it can
|
||||||
be stored near the superblocks of an array which has superblocks.
|
be stored near the superblocks of an array which has superblocks.
|
||||||
|
|
||||||
It is possible to add an intent log or an active array, or remove an
|
It is possible to add an intent log to an active array, or remove an
|
||||||
intent log if one is present.
|
intent log if one is present.
|
||||||
|
|
||||||
In 2.6.13, intent bitmaps are only supported with RAID1. Other levels
|
In 2.6.13, intent bitmaps are only supported with RAID1. Other levels
|
||||||
|
@ -419,9 +419,9 @@ also known as
|
||||||
.IR Reshaping ,
|
.IR Reshaping ,
|
||||||
is the processes of re-arranging the data stored in each stripe into a
|
is the processes of re-arranging the data stored in each stripe into a
|
||||||
new layout. This might involve changing the number of devices in the
|
new layout. This might involve changing the number of devices in the
|
||||||
array (so the stripes are wider) changing the chunk size (so stripes
|
array (so the stripes are wider), changing the chunk size (so stripes
|
||||||
are deeper or shallower), or changing the arrangement of data and
|
are deeper or shallower), or changing the arrangement of data and
|
||||||
parity, possibly changing the raid level (e.g. 1 to 5 or 5 to 6).
|
parity (possibly changing the raid level, e.g. 1 to 5 or 5 to 6).
|
||||||
|
|
||||||
As of Linux 2.6.17, md can reshape a raid5 array to have more
|
As of Linux 2.6.17, md can reshape a raid5 array to have more
|
||||||
devices. Other possibilities may follow in future kernels.
|
devices. Other possibilities may follow in future kernels.
|
||||||
|
@ -445,29 +445,29 @@ Disable writes to that section of the array (using the
|
||||||
.B sysfs
|
.B sysfs
|
||||||
interface),
|
interface),
|
||||||
.IP \(bu 4
|
.IP \(bu 4
|
||||||
Take a copy of the data somewhere (i.e. make a backup)
|
take a copy of the data somewhere (i.e. make a backup),
|
||||||
.IP \(bu 4
|
.IP \(bu 4
|
||||||
Allow the process to continue and invalidate the backup and restore
|
allow the process to continue and invalidate the backup and restore
|
||||||
write access once the critical section is passed, and
|
write access once the critical section is passed, and
|
||||||
.IP \(bu 4
|
.IP \(bu 4
|
||||||
Provide for restoring the critical data before restarting the array
|
provide for restoring the critical data before restarting the array
|
||||||
after a system crash.
|
after a system crash.
|
||||||
.PP
|
.PP
|
||||||
|
|
||||||
.B mdadm
|
.B mdadm
|
||||||
version 2.4 and later will do this for growing a RAID5 array.
|
versions from 2.4 do this for growing a RAID5 array.
|
||||||
|
|
||||||
For operations that do not change the size of the array, like simply
|
For operations that do not change the size of the array, like simply
|
||||||
increasing chunk size, or converting RAID5 to RAID6 with one extra
|
increasing chunk size, or converting RAID5 to RAID6 with one extra
|
||||||
device, the entire process is the critical section. In this case the
|
device, the entire process is the critical section. In this case, the
|
||||||
restripe will need to progress in stages as a section is suspended,
|
restripe will need to progress in stages, as a section is suspended,
|
||||||
backed up,
|
backed up,
|
||||||
restriped, and released. This is not yet implemented.
|
restriped, and released; this is not yet implemented.
|
||||||
|
|
||||||
.SS SYSFS INTERFACE
|
.SS SYSFS INTERFACE
|
||||||
All block devices appear as a directory in
|
Each block device appears as a directory in
|
||||||
.I sysfs
|
.I sysfs
|
||||||
(usually mounted at
|
(which is usually mounted at
|
||||||
.BR /sys ).
|
.BR /sys ).
|
||||||
For MD devices, this directory will contain a subdirectory called
|
For MD devices, this directory will contain a subdirectory called
|
||||||
.B md
|
.B md
|
||||||
|
@ -486,8 +486,8 @@ This value, if set, overrides the system-wide setting in
|
||||||
.B /proc/sys/dev/raid/speed_limit_min
|
.B /proc/sys/dev/raid/speed_limit_min
|
||||||
for this array only.
|
for this array only.
|
||||||
Writing the value
|
Writing the value
|
||||||
.B system
|
.B "system"
|
||||||
to this file cause the system-wide setting to have effect.
|
to this file will cause the system-wide setting to have effect.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B md/sync_speed_max
|
.B md/sync_speed_max
|
||||||
|
@ -561,7 +561,7 @@ operation is started.
|
||||||
As mentioned above, md will not normally start a RAID4, RAID5, or
|
As mentioned above, md will not normally start a RAID4, RAID5, or
|
||||||
RAID6 that is both dirty and degraded as this situation can imply
|
RAID6 that is both dirty and degraded as this situation can imply
|
||||||
hidden data loss. This can be awkward if the root filesystem is
|
hidden data loss. This can be awkward if the root filesystem is
|
||||||
affected. Using the module parameter allows such arrays to be started
|
affected. Using this module parameter allows such arrays to be started
|
||||||
at boot time. It should be understood that there is a real (though
|
at boot time. It should be understood that there is a real (though
|
||||||
small) risk of data corruption in this situation.
|
small) risk of data corruption in this situation.
|
||||||
|
|
||||||
|
@ -603,15 +603,15 @@ is ignored (legacy support).
|
||||||
Contains information about the status of currently running array.
|
Contains information about the status of currently running array.
|
||||||
.TP
|
.TP
|
||||||
.B /proc/sys/dev/raid/speed_limit_min
|
.B /proc/sys/dev/raid/speed_limit_min
|
||||||
A readable and writable file that reflects the current goal rebuild
|
A readable and writable file that reflects the current "goal" rebuild
|
||||||
speed for times when non-rebuild activity is current on an array.
|
speed for times when non-rebuild activity is current on an array.
|
||||||
The speed is in Kibibytes per second, and is a per-device rate, not a
|
The speed is in Kibibytes per second, and is a per-device rate, not a
|
||||||
per-array rate (which means that an array with more disc will shuffle
|
per-array rate (which means that an array with more disks will shuffle
|
||||||
more data for a given speed). The default is 100.
|
more data for a given speed). The default is 100.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B /proc/sys/dev/raid/speed_limit_max
|
.B /proc/sys/dev/raid/speed_limit_max
|
||||||
A readable and writable file that reflects the current goal rebuild
|
A readable and writable file that reflects the current "goal" rebuild
|
||||||
speed for times when no non-rebuild activity is current on an array.
|
speed for times when no non-rebuild activity is current on an array.
|
||||||
The default is 100,000.
|
The default is 100,000.
|
||||||
|
|
||||||
|
|
209
mdadm.8
209
mdadm.8
|
@ -9,7 +9,7 @@
|
||||||
.SH NAME
|
.SH NAME
|
||||||
mdadm \- manage MD devices
|
mdadm \- manage MD devices
|
||||||
.I aka
|
.I aka
|
||||||
Linux Software Raid.
|
Linux Software RAID
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
@ -43,8 +43,7 @@ and
|
||||||
|
|
||||||
.B MULTIPATH
|
.B MULTIPATH
|
||||||
is not a Software RAID mechanism, but does involve
|
is not a Software RAID mechanism, but does involve
|
||||||
multiple devices. For
|
multiple devices:
|
||||||
.B MULTIPATH
|
|
||||||
each device is a path to one common physical storage device.
|
each device is a path to one common physical storage device.
|
||||||
|
|
||||||
.B FAULTY
|
.B FAULTY
|
||||||
|
@ -91,7 +90,7 @@ provides a layer over a true device that can be used to inject faults.
|
||||||
mdadm has several major modes of operation:
|
mdadm has several major modes of operation:
|
||||||
.TP
|
.TP
|
||||||
.B Assemble
|
.B Assemble
|
||||||
Assemble the parts of a previously created
|
Assemble the components of a previously created
|
||||||
array into an active array. Components can be explicitly given
|
array into an active array. Components can be explicitly given
|
||||||
or can be searched for.
|
or can be searched for.
|
||||||
.B mdadm
|
.B mdadm
|
||||||
|
@ -106,7 +105,7 @@ sorts of arrays,
|
||||||
.I mdadm
|
.I mdadm
|
||||||
cannot differentiate between initial creation and subsequent assembly
|
cannot differentiate between initial creation and subsequent assembly
|
||||||
of an array. It also cannot perform any checks that appropriate
|
of an array. It also cannot perform any checks that appropriate
|
||||||
devices have been requested. Because of this, the
|
components have been requested. Because of this, the
|
||||||
.B Build
|
.B Build
|
||||||
mode should only be used together with a complete understanding of
|
mode should only be used together with a complete understanding of
|
||||||
what you are doing.
|
what you are doing.
|
||||||
|
@ -120,7 +119,7 @@ Create a new array with per-device superblocks.
|
||||||
.TP
|
.TP
|
||||||
.B "Follow or Monitor"
|
.B "Follow or Monitor"
|
||||||
Monitor one or more md devices and act on any state changes. This is
|
Monitor one or more md devices and act on any state changes. This is
|
||||||
only meaningful for raid1, 4, 5, 6, 10 or multipath arrays as
|
only meaningful for raid1, 4, 5, 6, 10 or multipath arrays, as
|
||||||
only these have interesting state. raid0 or linear never have
|
only these have interesting state. raid0 or linear never have
|
||||||
missing, spare, or failed drives, so there is nothing to monitor.
|
missing, spare, or failed drives, so there is nothing to monitor.
|
||||||
|
|
||||||
|
@ -128,8 +127,8 @@ missing, spare, or failed drives, so there is nothing to monitor.
|
||||||
.B "Grow"
|
.B "Grow"
|
||||||
Grow (or shrink) an array, or otherwise reshape it in some way.
|
Grow (or shrink) an array, or otherwise reshape it in some way.
|
||||||
Currently supported growth options including changing the active size
|
Currently supported growth options including changing the active size
|
||||||
of component devices in RAID level 1/4/5/6 and changing the number of
|
of component devices and changing the number of active devices in RAID
|
||||||
active devices in RAID1/5/6.
|
levels 1/4/5/6, as well as adding or removing a write-intent bitmap.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B "Incremental Assembly"
|
.B "Incremental Assembly"
|
||||||
|
@ -219,7 +218,7 @@ mode to be assumed.
|
||||||
.TP
|
.TP
|
||||||
.BR \-h ", " \-\-help
|
.BR \-h ", " \-\-help
|
||||||
Display general help message or, after one of the above options, a
|
Display general help message or, after one of the above options, a
|
||||||
mode specific help message.
|
mode-specific help message.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-help\-options
|
.B \-\-help\-options
|
||||||
|
@ -259,17 +258,17 @@ gives an intermediate level of verbosity.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-f ", " \-\-force
|
.BR \-f ", " \-\-force
|
||||||
Be more forceful about certain operations. See the various modes of
|
Be more forceful about certain operations. See the various modes for
|
||||||
the exact meaning of this option in different contexts.
|
the exact meaning of this option in different contexts.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-c ", " \-\-config=
|
.BR \-c ", " \-\-config=
|
||||||
Specify the config file. Default is to use
|
Specify the config file. Default is to use
|
||||||
.BR /etc/mdadm.conf ,
|
.BR /etc/mdadm.conf ,
|
||||||
or if that is missing, then
|
or if that is missing then
|
||||||
.BR /etc/mdadm/mdadm.conf .
|
.BR /etc/mdadm/mdadm.conf .
|
||||||
If the config file given is
|
If the config file given is
|
||||||
.B partitions
|
.B "partitions"
|
||||||
then nothing will be read, but
|
then nothing will be read, but
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will act as though the config file contained exactly
|
will act as though the config file contained exactly
|
||||||
|
@ -278,26 +277,25 @@ and will read
|
||||||
.B /proc/partitions
|
.B /proc/partitions
|
||||||
to find a list of devices to scan.
|
to find a list of devices to scan.
|
||||||
If the word
|
If the word
|
||||||
.B none
|
.B "none"
|
||||||
is given for the config file, then
|
is given for the config file, then
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will act as though the config file were empty.
|
will act as though the config file were empty.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-s ", " \-\-scan
|
.BR \-s ", " \-\-scan
|
||||||
scan config file or
|
Scan config file or
|
||||||
.B /proc/mdstat
|
.B /proc/mdstat
|
||||||
for missing information.
|
for missing information.
|
||||||
In general, this option gives
|
In general, this option gives
|
||||||
.B mdadm
|
.B mdadm
|
||||||
permission to get any missing information, like component devices,
|
permission to get any missing information (like component devices,
|
||||||
array devices, array identities, and alert destination from the
|
array devices, array identities, and alert destination) from the
|
||||||
configuration file:
|
configuration file (see previous option);
|
||||||
.BR /etc/mdadm.conf .
|
one exception is MISC mode when using
|
||||||
One exception is MISC mode when using
|
|
||||||
.B \-\-detail
|
.B \-\-detail
|
||||||
or
|
or
|
||||||
.B \-\-stop
|
.B \-\-stop,
|
||||||
in which case
|
in which case
|
||||||
.B \-\-scan
|
.B \-\-scan
|
||||||
says to get a list of array devices from
|
says to get a list of array devices from
|
||||||
|
@ -320,11 +318,11 @@ Options are:
|
||||||
.RS
|
.RS
|
||||||
.IP "0, 0.90, default"
|
.IP "0, 0.90, default"
|
||||||
Use the original 0.90 format superblock. This format limits arrays to
|
Use the original 0.90 format superblock. This format limits arrays to
|
||||||
28 componenet devices and limits component devices of levels 1 and
|
28 component devices and limits component devices of levels 1 and
|
||||||
greater to 2 terabytes.
|
greater to 2 terabytes.
|
||||||
.IP "1, 1.0, 1.1, 1.2"
|
.IP "1, 1.0, 1.1, 1.2"
|
||||||
Use the new version-1 format superblock. This has few restrictions.
|
Use the new version-1 format superblock. This has few restrictions.
|
||||||
The different subversion store the superblock at different locations
|
The different sub-versions store the superblock at different locations
|
||||||
on the device, either at the end (for 1.0), at the start (for 1.1) or
|
on the device, either at the end (for 1.0), at the start (for 1.1) or
|
||||||
4K from the start (for 1.2).
|
4K from the start (for 1.2).
|
||||||
.RE
|
.RE
|
||||||
|
@ -333,13 +331,13 @@ on the device, either at the end (for 1.0), at the start (for 1.1) or
|
||||||
.B \-\-homehost=
|
.B \-\-homehost=
|
||||||
This will override any
|
This will override any
|
||||||
.B HOMEHOST
|
.B HOMEHOST
|
||||||
setting in the config file and provides the identify of the host which
|
setting in the config file and provides the identity of the host which
|
||||||
should be considered the home for any arrays.
|
should be considered the home for any arrays.
|
||||||
|
|
||||||
When creating an array, the
|
When creating an array, the
|
||||||
.B homehost
|
.B homehost
|
||||||
will be recorded in the superblock. For version-1 superblocks, it will
|
will be recorded in the superblock. For version-1 superblocks, it will
|
||||||
be prefixed to the array name. For version-0.90 superblocks part of
|
be prefixed to the array name. For version-0.90 superblocks, part of
|
||||||
the SHA1 hash of the hostname will be stored in the later half of the
|
the SHA1 hash of the hostname will be stored in the later half of the
|
||||||
UUID.
|
UUID.
|
||||||
|
|
||||||
|
@ -381,7 +379,7 @@ number of spare devices.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-z ", " \-\-size=
|
.BR \-z ", " \-\-size=
|
||||||
Amount (in Kibibytes) of space to use from each drive in RAID1/4/5/6.
|
Amount (in Kibibytes) of space to use from each drive in RAID level 1/4/5/6.
|
||||||
This must be a multiple of the chunk size, and must leave about 128Kb
|
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.
|
of space at the end of the drive for the RAID superblock.
|
||||||
If this is not specified
|
If this is not specified
|
||||||
|
@ -436,8 +434,8 @@ The layout of the raid5 parity block can be one of
|
||||||
The default is
|
The default is
|
||||||
.BR left\-symmetric .
|
.BR left\-symmetric .
|
||||||
|
|
||||||
When setting the failure mode for
|
When setting the failure mode for level
|
||||||
.I faulty
|
.I faulty,
|
||||||
the options are:
|
the options are:
|
||||||
.BR write\-transient ", " wt ,
|
.BR write\-transient ", " wt ,
|
||||||
.BR read\-transient ", " rt ,
|
.BR read\-transient ", " rt ,
|
||||||
|
@ -447,10 +445,10 @@ the options are:
|
||||||
.BR read\-fixable ", " rf ,
|
.BR read\-fixable ", " rf ,
|
||||||
.BR clear ", " flush ", " none .
|
.BR clear ", " flush ", " none .
|
||||||
|
|
||||||
Each mode can be followed by a number which is used as a period
|
Each failure mode can be followed by a number, which is used as a period
|
||||||
between fault generation. Without a number, the fault is generated
|
between fault generation. Without a number, the fault is generated
|
||||||
once on the first relevant request. With a number, the fault will be
|
once on the first relevant request. With a number, the fault will be
|
||||||
generated after that many request, and will continue to be generated
|
generated after that many requests, and will continue to be generated
|
||||||
every time the period elapses.
|
every time the period elapses.
|
||||||
|
|
||||||
Multiple failure modes can be current simultaneously by using the
|
Multiple failure modes can be current simultaneously by using the
|
||||||
|
@ -466,23 +464,23 @@ the level of the array ("faulty")
|
||||||
must be specified before the fault mode is specified.
|
must be specified before the fault mode is specified.
|
||||||
|
|
||||||
Finally, the layout options for RAID10 are one of 'n', 'o' or 'f' followed
|
Finally, the layout options for RAID10 are one of 'n', 'o' or 'f' followed
|
||||||
by a small number. The default is 'n2'.
|
by a small number. The default is 'n2'. The supported options are:
|
||||||
|
|
||||||
.I n
|
.I 'n'
|
||||||
signals 'near' copies. Multiple copies of one data block are at
|
signals 'near' copies. Multiple copies of one data block are at
|
||||||
similar offsets in different devices.
|
similar offsets in different devices.
|
||||||
|
|
||||||
.I o
|
.I 'o'
|
||||||
signals 'offset' copies. Rather than the chunks being duplicated
|
signals 'offset' copies. Rather than the chunks being duplicated
|
||||||
within a stripe, whole stripes are duplicated but are rotated by one
|
within a stripe, whole stripes are duplicated but are rotated by one
|
||||||
device so duplicate blocks are on different devices. Thus subsequent
|
device so duplicate blocks are on different devices. Thus subsequent
|
||||||
copies of a block are in the next drive, and are one chunk further
|
copies of a block are in the next drive, and are one chunk further
|
||||||
down.
|
down.
|
||||||
|
|
||||||
.I f
|
.I 'f'
|
||||||
signals 'far' copies
|
signals 'far' copies
|
||||||
(multiple copies have very different offsets). See md(4) for more
|
(multiple copies have very different offsets).
|
||||||
detail about 'near' and 'far'.
|
See md(4) for more detail about 'near' and 'far'.
|
||||||
|
|
||||||
The number is the number of copies of each datablock. 2 is normal, 3
|
The number is the number of copies of each datablock. 2 is normal, 3
|
||||||
can be useful. This number can be at most equal to the number of
|
can be useful. This number can be at most equal to the number of
|
||||||
|
@ -504,10 +502,10 @@ exist unless
|
||||||
.B \-\-force
|
.B \-\-force
|
||||||
is also given. The same file should be provided
|
is also given. The same file should be provided
|
||||||
when assembling the array. If the word
|
when assembling the array. If the word
|
||||||
.B internal
|
.B "internal"
|
||||||
is given, then the bitmap is stored with the metadata on the array,
|
is given, then the bitmap is stored with the metadata on the array,
|
||||||
and so is replicated on all devices. If the word
|
and so is replicated on all devices. If the word
|
||||||
.B none
|
.B "none"
|
||||||
is given with
|
is given with
|
||||||
.B \-\-grow
|
.B \-\-grow
|
||||||
mode, then any bitmap that is present is removed.
|
mode, then any bitmap that is present is removed.
|
||||||
|
@ -523,7 +521,7 @@ Storing bitmap files on other filesystems may result in serious problems.
|
||||||
Set the chunksize of the bitmap. Each bit corresponds to that many
|
Set the chunksize of the bitmap. Each bit corresponds to that many
|
||||||
Kilobytes of storage.
|
Kilobytes of storage.
|
||||||
When using a file based bitmap, the default is to use the smallest
|
When using a file based bitmap, the default is to use the smallest
|
||||||
size that is atleast 4 and requires no more than 2^21 chunks.
|
size that is at-least 4 and requires no more than 2^21 chunks.
|
||||||
When using an
|
When using an
|
||||||
.B internal
|
.B internal
|
||||||
bitmap, the chunksize is automatically determined to make best use of
|
bitmap, the chunksize is automatically determined to make best use of
|
||||||
|
@ -560,7 +558,7 @@ when trying to recover from a major failure as you can be sure that no
|
||||||
data will be affected unless you actually write to the array. It can
|
data will be affected unless you actually write to the array. It can
|
||||||
also be used when creating a RAID1 or RAID10 if you want to avoid the
|
also be used when creating a RAID1 or RAID10 if you want to avoid the
|
||||||
initial resync, however this practice \(em while normally safe \(em is not
|
initial resync, however this practice \(em while normally safe \(em is not
|
||||||
recommended. Use this ony if you really know what you are doing.
|
recommended. Use this only if you really know what you are doing.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-\-backup\-file=
|
.BR \-\-backup\-file=
|
||||||
|
@ -697,10 +695,10 @@ will look for super blocks with a minor number of 0.
|
||||||
.BR \-N ", " \-\-name=
|
.BR \-N ", " \-\-name=
|
||||||
Specify the name of the array to assemble. This must be the name
|
Specify the name of the array to assemble. This must be the name
|
||||||
that was specified when creating the array. It must either match
|
that was specified when creating the array. It must either match
|
||||||
then name stored in the superblock exactly, or it must match
|
the name stored in the superblock exactly, or it must match
|
||||||
with the current
|
with the current
|
||||||
.I homehost
|
.I homehost
|
||||||
is added to the start of the given name.
|
prefixed to the start of the given name.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.BR \-f ", " \-\-force
|
.BR \-f ", " \-\-force
|
||||||
|
@ -721,10 +719,10 @@ an attempt will be made to start it anyway.
|
||||||
.B \-\-no\-degraded
|
.B \-\-no\-degraded
|
||||||
This is the reverse of
|
This is the reverse of
|
||||||
.B \-\-run
|
.B \-\-run
|
||||||
in that it inhibits the started if array unless all expected drives
|
in that it inhibits the startup of array unless all expected drives
|
||||||
are present. This is only needed with
|
are present. This is only needed with
|
||||||
.B \-\-scan
|
.B \-\-scan,
|
||||||
and can be used if you physical connections to devices are
|
and can be used if the physical connections to devices are
|
||||||
not as reliable as you would like.
|
not as reliable as you would like.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
|
@ -859,10 +857,10 @@ update the relevant field in the metadata.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-auto\-update\-homehost
|
.B \-\-auto\-update\-homehost
|
||||||
This flag is only meaning with auto-assembly (see discussion below).
|
This flag is only meaningful with auto-assembly (see discussion below).
|
||||||
In that situation, if no suitable arrays are found for this homehost,
|
In that situation, if no suitable arrays are found for this homehost,
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will recan for any arrays at all and will assemble them and update the
|
will rescan for any arrays at all and will assemble them and update the
|
||||||
homehost to match the current host.
|
homehost to match the current host.
|
||||||
|
|
||||||
.SH For Manage mode:
|
.SH For Manage mode:
|
||||||
|
@ -888,7 +886,7 @@ and
|
||||||
can be given to
|
can be given to
|
||||||
.BR \-\-remove .
|
.BR \-\-remove .
|
||||||
The first causes all failed device to be removed. The second causes
|
The first causes all failed device to be removed. The second causes
|
||||||
any device which is no longer connected to the system (i.e and open
|
any device which is no longer connected to the system (i.e an 'open'
|
||||||
returns
|
returns
|
||||||
.BR ENXIO )
|
.BR ENXIO )
|
||||||
to be removed. This will only succeed for devices that are spares or
|
to be removed. This will only succeed for devices that are spares or
|
||||||
|
@ -908,19 +906,19 @@ same as
|
||||||
.BR \-\-fail .
|
.BR \-\-fail .
|
||||||
|
|
||||||
.P
|
.P
|
||||||
Each of these options require that the first device list is the array
|
Each of these options require that the first device listed is the array
|
||||||
to be acted upon and the remainder are component devices to be added,
|
to be acted upon, and the remainder are component devices to be added,
|
||||||
removed, or marked as fault. Several different operations can be
|
removed, or marked as faulty. Several different operations can be
|
||||||
specified for different devices, e.g.
|
specified for different devices, e.g.
|
||||||
.in +5
|
.in +5
|
||||||
mdadm /dev/md0 \-\-add /dev/sda1 \-\-fail /dev/sdb1 \-\-remove /dev/sdb1
|
mdadm /dev/md0 \-\-add /dev/sda1 \-\-fail /dev/sdb1 \-\-remove /dev/sdb1
|
||||||
.in -5
|
.in -5
|
||||||
Each operation applies to all devices listed until the next
|
Each operation applies to all devices listed until the next
|
||||||
operations.
|
operation.
|
||||||
|
|
||||||
If an array is using a write-intent bitmap, then devices which have
|
If an array is using a write-intent bitmap, then devices which have
|
||||||
been removed can be re-added in a way that avoids a full
|
been removed can be re-added in a way that avoids a full
|
||||||
reconstruction but instead just updated the blocks that have changed
|
reconstruction but instead just updates the blocks that have changed
|
||||||
since the device was removed. For arrays with persistent metadata
|
since the device was removed. For arrays with persistent metadata
|
||||||
(superblocks) this is done automatically. For arrays created with
|
(superblocks) this is done automatically. For arrays created with
|
||||||
.B \-\-build
|
.B \-\-build
|
||||||
|
@ -928,10 +926,9 @@ mdadm needs to be told that this device we removed recently with
|
||||||
.BR \-\-re\-add .
|
.BR \-\-re\-add .
|
||||||
|
|
||||||
Devices can only be removed from an array if they are not in active
|
Devices can only be removed from an array if they are not in active
|
||||||
use. i.e. that must be spares or failed devices. To remove an active
|
use, i.e. that must be spares or failed devices. To remove an active
|
||||||
device, it must be marked as
|
device, it must first be marked as
|
||||||
.B faulty
|
.B faulty.
|
||||||
first.
|
|
||||||
|
|
||||||
.SH For Misc mode:
|
.SH For Misc mode:
|
||||||
|
|
||||||
|
@ -1137,14 +1134,15 @@ is not given, then
|
||||||
.I mdadm
|
.I mdadm
|
||||||
acts as though
|
acts as though
|
||||||
.B \-\-scan
|
.B \-\-scan
|
||||||
was given and identify information is extracted from the configuration file.
|
was given and identity information is extracted from the configuration file.
|
||||||
|
|
||||||
The identity can be given with the
|
The identity can be given with the
|
||||||
.B \-\-uuid
|
.B \-\-uuid
|
||||||
option, with the
|
option, with the
|
||||||
.B \-\-super\-minor
|
.B \-\-super\-minor
|
||||||
option, can be found in the config file, or will be taken from the
|
option, will be taken from the md-device record in the config file, or
|
||||||
super block on the first component-device listed on the command line.
|
will be taken from the super block of the first component-device
|
||||||
|
listed on the command line.
|
||||||
|
|
||||||
Devices can be given on the
|
Devices can be given on the
|
||||||
.B \-\-assemble
|
.B \-\-assemble
|
||||||
|
@ -1179,7 +1177,6 @@ intent is clear. i.e. the name must be in a standard form, or the
|
||||||
.B \-\-auto
|
.B \-\-auto
|
||||||
option must be given to clarify how and whether the device should be
|
option must be given to clarify how and whether the device should be
|
||||||
created.
|
created.
|
||||||
|
|
||||||
This can be useful for handling partitioned devices (which don't have
|
This can be useful for handling partitioned devices (which don't have
|
||||||
a stable device number \(em it can change after a reboot) and when using
|
a stable device number \(em it can change after a reboot) and when using
|
||||||
"udev" to manage your
|
"udev" to manage your
|
||||||
|
@ -1189,7 +1186,7 @@ initialisation conventions).
|
||||||
|
|
||||||
If the option to "auto" is "mdp" or "part" or (on the command line
|
If the option to "auto" is "mdp" or "part" or (on the command line
|
||||||
only) "p", then mdadm will create a partitionable array, using the
|
only) "p", then mdadm will create a partitionable array, using the
|
||||||
first free one that is not in use, and does not already have an entry
|
first free one that is not in use and does not already have an entry
|
||||||
in /dev (apart from numeric /dev/md* entries).
|
in /dev (apart from numeric /dev/md* entries).
|
||||||
|
|
||||||
If the option to "auto" is "yes" or "md" or (on the command line)
|
If the option to "auto" is "yes" or "md" or (on the command line)
|
||||||
|
@ -1200,7 +1197,7 @@ It is expected that the "auto" functionality will be used to create
|
||||||
device entries with meaningful names such as "/dev/md/home" or
|
device entries with meaningful names such as "/dev/md/home" or
|
||||||
"/dev/md/root", rather than names based on the numerical array number.
|
"/dev/md/root", rather than names based on the numerical array number.
|
||||||
|
|
||||||
When using this option to create a partitionable array, the device
|
When using option "auto" to create a partitionable array, the device
|
||||||
files for the first 4 partitions are also created. If a different
|
files for the first 4 partitions are also created. If a different
|
||||||
number is required it can be simply appended to the auto option.
|
number is required it can be simply appended to the auto option.
|
||||||
e.g. "auto=part8". Partition names are created by appending a digit
|
e.g. "auto=part8". Partition names are created by appending a digit
|
||||||
|
@ -1232,7 +1229,7 @@ anything that it finds which is tagged as belonging to the given
|
||||||
homehost. This is the only situation where
|
homehost. This is the only situation where
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will assemble arrays without being given specific device name or
|
will assemble arrays without being given specific device name or
|
||||||
identify information for the array.
|
identity information for the array.
|
||||||
|
|
||||||
If
|
If
|
||||||
.I mdadm
|
.I mdadm
|
||||||
|
@ -1248,8 +1245,8 @@ so for example
|
||||||
If the array uses version-1 metadata, then the
|
If the array uses version-1 metadata, then the
|
||||||
.B name
|
.B name
|
||||||
from the superblock is used to similarly create a name in
|
from the superblock is used to similarly create a name in
|
||||||
.BR /dev/md .
|
.BR /dev/md
|
||||||
The name will have any 'host' prefix stripped first.
|
(the name will have any 'host' prefix stripped first).
|
||||||
|
|
||||||
If
|
If
|
||||||
.I mdadm
|
.I mdadm
|
||||||
|
@ -1274,7 +1271,7 @@ devices from one host to another.
|
||||||
.HP 12
|
.HP 12
|
||||||
Usage:
|
Usage:
|
||||||
.B mdadm \-\-build
|
.B mdadm \-\-build
|
||||||
.I device
|
.I md-device
|
||||||
.BI \-\-chunk= X
|
.BI \-\-chunk= X
|
||||||
.BI \-\-level= Y
|
.BI \-\-level= Y
|
||||||
.BI \-\-raid\-devices= Z
|
.BI \-\-raid\-devices= Z
|
||||||
|
@ -1297,7 +1294,7 @@ once complete.
|
||||||
.HP 12
|
.HP 12
|
||||||
Usage:
|
Usage:
|
||||||
.B mdadm \-\-create
|
.B mdadm \-\-create
|
||||||
.I device
|
.I md-device
|
||||||
.BI \-\-chunk= X
|
.BI \-\-chunk= X
|
||||||
.BI \-\-level= Y
|
.BI \-\-level= Y
|
||||||
.br
|
.br
|
||||||
|
@ -1447,7 +1444,7 @@ The exit status of
|
||||||
.I mdadm
|
.I mdadm
|
||||||
will normally be 0 unless
|
will normally be 0 unless
|
||||||
.I mdadm
|
.I mdadm
|
||||||
failed to get useful information about the device(s). However if the
|
failed to get useful information about the device(s); however, if the
|
||||||
.B \-\-test
|
.B \-\-test
|
||||||
option is given, then the exit status will be:
|
option is given, then the exit status will be:
|
||||||
.RS
|
.RS
|
||||||
|
@ -1472,9 +1469,9 @@ The device should be a component of an md array.
|
||||||
will read the md superblock of the device and display the contents.
|
will read the md superblock of the device and display the contents.
|
||||||
If
|
If
|
||||||
.B \-\-brief
|
.B \-\-brief
|
||||||
is given, or
|
or
|
||||||
.B \-\-scan
|
.B \-\-scan
|
||||||
then multiple devices that are components of the one array
|
is given, then multiple devices that are components of the one array
|
||||||
are grouped together and reported in a single entry suitable
|
are grouped together and reported in a single entry suitable
|
||||||
for inclusion in
|
for inclusion in
|
||||||
.BR /etc/mdadm.conf .
|
.BR /etc/mdadm.conf .
|
||||||
|
@ -1553,11 +1550,11 @@ The result of monitoring the arrays is the generation of events.
|
||||||
These events are passed to a separate program (if specified) and may
|
These events are passed to a separate program (if specified) and may
|
||||||
be mailed to a given E-mail address.
|
be mailed to a given E-mail address.
|
||||||
|
|
||||||
When passing event to program, the program is run once for each event
|
When passing events to a program, the program is run once for each event,
|
||||||
and is given 2 or 3 command-line arguments. The first is the
|
and is given 2 or 3 command-line arguments: the first is the
|
||||||
name of the event (see below). The second is the name of the
|
name of the event (see below), the second is the name of the
|
||||||
md device which is affected, and the third is the name of a related
|
md device which is affected, and the third is the name of a related
|
||||||
device if relevant, such as a component device that has failed.
|
device if relevant (such as a component device that has failed).
|
||||||
|
|
||||||
If
|
If
|
||||||
.B \-\-scan
|
.B \-\-scan
|
||||||
|
@ -1566,7 +1563,7 @@ command line or in the config file. If neither are available, then
|
||||||
.B mdadm
|
.B mdadm
|
||||||
will not monitor anything.
|
will not monitor anything.
|
||||||
Without
|
Without
|
||||||
.B \-\-scan
|
.B \-\-scan,
|
||||||
.B mdadm
|
.B mdadm
|
||||||
will continue monitoring as long as something was found to monitor. If
|
will continue monitoring as long as something was found to monitor. If
|
||||||
no program or email is given, then each event is reported to
|
no program or email is given, then each event is reported to
|
||||||
|
@ -1614,7 +1611,7 @@ faulty. (syslog priority: Critical)
|
||||||
.TP
|
.TP
|
||||||
.B FailSpare
|
.B FailSpare
|
||||||
A spare component device which was being rebuilt to replace a faulty
|
A spare component device which was being rebuilt to replace a faulty
|
||||||
device has failed. (syslog priority: Critial)
|
device has failed. (syslog priority: Critical)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B SpareActive
|
.B SpareActive
|
||||||
|
@ -1636,7 +1633,7 @@ generated when
|
||||||
notices a drive failure which causes degradation, but only when
|
notices a drive failure which causes degradation, but only when
|
||||||
.I mdadm
|
.I mdadm
|
||||||
notices that an array is degraded when it first sees the array.
|
notices that an array is degraded when it first sees the array.
|
||||||
(syslog priority: Critial)
|
(syslog priority: Critical)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B MoveSpare
|
.B MoveSpare
|
||||||
|
@ -1652,7 +1649,7 @@ If
|
||||||
has been told, via the config file, that an array should have a certain
|
has been told, via the config file, that an array should have a certain
|
||||||
number of spare devices, and
|
number of spare devices, and
|
||||||
.I mdadm
|
.I mdadm
|
||||||
detects that it has fewer that this number when it first sees the
|
detects that it has fewer than this number when it first sees the
|
||||||
array, it will report a
|
array, it will report a
|
||||||
.B SparesMissing
|
.B SparesMissing
|
||||||
message.
|
message.
|
||||||
|
@ -1667,14 +1664,14 @@ flag was given.
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
Only
|
Only
|
||||||
.B Fail ,
|
.B Fail,
|
||||||
.B FailSpare ,
|
.B FailSpare,
|
||||||
.B DegradedArray ,
|
.B DegradedArray,
|
||||||
.B SparesMissing ,
|
.B SparesMissing
|
||||||
and
|
and
|
||||||
.B TestMessage
|
.B TestMessage
|
||||||
cause Email to be sent. All events cause the program to be run.
|
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
|
The program is run with two or three arguments: the event
|
||||||
name, the array device and possibly a second device.
|
name, the array device and possibly a second device.
|
||||||
|
|
||||||
Each event has an associated array device (e.g.
|
Each event has an associated array device (e.g.
|
||||||
|
@ -1692,16 +1689,16 @@ the second device is the array that the spare was moved from.
|
||||||
For
|
For
|
||||||
.B mdadm
|
.B mdadm
|
||||||
to move spares from one array to another, the different arrays need to
|
to move spares from one array to another, the different arrays need to
|
||||||
be labelled with the same
|
be labeled with the same
|
||||||
.B spare-group
|
.B spare-group
|
||||||
in the configuration file. The
|
in the configuration file. The
|
||||||
.B spare-group
|
.B spare-group
|
||||||
name can be any string. It is only necessary that different spare
|
name can be any string; it is only necessary that different spare
|
||||||
groups use different names.
|
groups use different names.
|
||||||
|
|
||||||
When
|
When
|
||||||
.B mdadm
|
.B mdadm
|
||||||
detects that an array which is in a spare group has fewer active
|
detects that an array in a spare group has fewer active
|
||||||
devices than necessary for the complete array, and has no spare
|
devices than necessary for the complete array, and has no spare
|
||||||
devices, it will look for another array in the same spare group that
|
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
|
has a full complement of working drive and a spare. It will then
|
||||||
|
@ -1724,7 +1721,7 @@ for RAID1, RAID5 and RAID6.
|
||||||
.IP \(bu 4
|
.IP \(bu 4
|
||||||
increase the "raid-disks" attribute of RAID1, RAID5, and RAID6.
|
increase the "raid-disks" attribute of RAID1, RAID5, and RAID6.
|
||||||
.IP \(bu 4
|
.IP \(bu 4
|
||||||
add a write-intent bitmap to any array which support these bitmaps, or
|
add a write-intent bitmap to any array which supports these bitmaps, or
|
||||||
remove a write-intent bitmap from such an array.
|
remove a write-intent bitmap from such an array.
|
||||||
.PP
|
.PP
|
||||||
|
|
||||||
|
@ -1752,7 +1749,7 @@ inactive devices.
|
||||||
|
|
||||||
When reducing the number of devices in a RAID1 array, the slots which
|
When reducing the number of devices in a RAID1 array, the slots which
|
||||||
are to be removed from the array must already be vacant. That is, the
|
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.
|
devices which were in those slots must be failed and removed.
|
||||||
|
|
||||||
When the number of devices is increased, any hot spares that are
|
When the number of devices is increased, any hot spares that are
|
||||||
present will be activated immediately.
|
present will be activated immediately.
|
||||||
|
@ -1778,7 +1775,7 @@ to restore the backup and reassemble the array.
|
||||||
.SS BITMAP CHANGES
|
.SS BITMAP CHANGES
|
||||||
|
|
||||||
A write-intent bitmap can be added to, or removed from, an active
|
A write-intent bitmap can be added to, or removed from, an active
|
||||||
array. Either internal bitmaps, or bitmaps stored in a separate file
|
array. Either internal bitmaps, or bitmaps stored in a separate file,
|
||||||
can be added. Note that if you add a bitmap stored in a file which is
|
can be added. Note that if you add a bitmap stored in a file which is
|
||||||
in a filesystem that is on the raid array being affected, the system
|
in a filesystem that is on the raid array being affected, the system
|
||||||
will deadlock. The bitmap must be on a separate filesystem.
|
will deadlock. The bitmap must be on a separate filesystem.
|
||||||
|
@ -1808,7 +1805,7 @@ to be conditionally added to an appropriate array.
|
||||||
|
|
||||||
.I mdadm
|
.I mdadm
|
||||||
performs a number of tests to determine if the device is part of an
|
performs a number of tests to determine if the device is part of an
|
||||||
array, and which array is should be part of. If an appropriate array
|
array, and which array it should be part of. If an appropriate array
|
||||||
is found, or can be created,
|
is found, or can be created,
|
||||||
.I mdadm
|
.I mdadm
|
||||||
adds the device to the array and conditionally starts the array.
|
adds the device to the array and conditionally starts the array.
|
||||||
|
@ -1820,8 +1817,8 @@ will only add devices to an array which were previously working
|
||||||
automatic inclusion of a new drive as a spare in some array.
|
automatic inclusion of a new drive as a spare in some array.
|
||||||
|
|
||||||
.B "mdadm \-\-incremental"
|
.B "mdadm \-\-incremental"
|
||||||
requires a bug present in all kernels through 2.6.19, to be fixed.
|
requires a bug-fix in all kernels through 2.6.19.
|
||||||
Hopefully this will be fixed in 2.6.20. Alternately apply the patch
|
Hopefully, this will be fixed in 2.6.20; alternately, apply the patch
|
||||||
which is included with the mdadm source distribution. If
|
which is included with the mdadm source distribution. If
|
||||||
.I mdadm
|
.I mdadm
|
||||||
detects that this bug is present, it will abort any attempt to use
|
detects that this bug is present, it will abort any attempt to use
|
||||||
|
@ -1865,11 +1862,11 @@ The metadata can match in two ways. Either there is an array listed
|
||||||
in
|
in
|
||||||
.B mdadm.conf
|
.B mdadm.conf
|
||||||
which identifies the array (either by UUID, by name, by device list,
|
which identifies the array (either by UUID, by name, by device list,
|
||||||
or by minor-number), the array was created with a
|
or by minor-number), or the array was created with a
|
||||||
.B homehost
|
.B homehost
|
||||||
specified, and that
|
specified and that
|
||||||
.B homehost
|
.B homehost
|
||||||
matches that which is given in
|
matches the one in
|
||||||
.B mdadm.conf
|
.B mdadm.conf
|
||||||
or on the command line.
|
or on the command line.
|
||||||
If
|
If
|
||||||
|
@ -1879,7 +1876,7 @@ current host, the device will be rejected.
|
||||||
|
|
||||||
.IP +
|
.IP +
|
||||||
.I mdadm
|
.I mdadm
|
||||||
keeps a list of arrays that is has partly assembled in
|
keeps a list of arrays that it has partially assembled in
|
||||||
.B /var/run/mdadm/map
|
.B /var/run/mdadm/map
|
||||||
(or
|
(or
|
||||||
.B /var/run/mdadm.map
|
.B /var/run/mdadm.map
|
||||||
|
@ -1918,7 +1915,7 @@ devices present for the data to be accessible. For a raid1, that
|
||||||
means one device will start the array. For a clean raid5, the array
|
means one device will start the array. For a clean raid5, the array
|
||||||
will be started as soon as all but one drive is present.
|
will be started as soon as all but one drive is present.
|
||||||
|
|
||||||
Note that neither of these approaches is really ideal. If it is can
|
Note that neither of these approaches is really ideal. If it can
|
||||||
be known that all device discovery has completed, then
|
be known that all device discovery has completed, then
|
||||||
.br
|
.br
|
||||||
.B " mdadm \-IRs"
|
.B " mdadm \-IRs"
|
||||||
|
@ -1939,12 +1936,12 @@ one, and will provide brief information about the device.
|
||||||
|
|
||||||
.B " mdadm \-\-assemble \-\-scan"
|
.B " mdadm \-\-assemble \-\-scan"
|
||||||
.br
|
.br
|
||||||
This will assemble and start all arrays listed in the standard config file
|
This will assemble and start all arrays listed in the standard config
|
||||||
file. This command will typically go in a system startup file.
|
file. This command will typically go in a system startup file.
|
||||||
|
|
||||||
.B " mdadm \-\-stop \-\-scan"
|
.B " mdadm \-\-stop \-\-scan"
|
||||||
.br
|
.br
|
||||||
This will shut down all array that can be shut down (i.e. are not
|
This will shut down all arrays that can be shut down (i.e. are not
|
||||||
currently in use). This will typically go in a system shutdown script.
|
currently in use). This will typically go in a system shutdown script.
|
||||||
|
|
||||||
.B " mdadm \-\-follow \-\-scan \-\-delay=120"
|
.B " mdadm \-\-follow \-\-scan \-\-delay=120"
|
||||||
|
@ -1971,9 +1968,9 @@ contain unwanted detail.
|
||||||
.B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf"
|
.B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf"
|
||||||
.br
|
.br
|
||||||
.B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf"
|
.B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf"
|
||||||
.ber
|
.br
|
||||||
This will find what arrays could be assembled from existing IDE and
|
This will find arrays which could be assembled from existing IDE and
|
||||||
SCSI whole drives (not partitions) and store the information is the
|
SCSI whole drives (not partitions), and store the information in the
|
||||||
format of a config file.
|
format of a config file.
|
||||||
This file is very likely to contain unwanted detail, particularly
|
This file is very likely to contain unwanted detail, particularly
|
||||||
the
|
the
|
||||||
|
@ -1988,7 +1985,7 @@ actual config file.
|
||||||
Create a list of devices by reading
|
Create a list of devices by reading
|
||||||
.BR /proc/partitions ,
|
.BR /proc/partitions ,
|
||||||
scan these for RAID superblocks, and printout a brief listing of all
|
scan these for RAID superblocks, and printout a brief listing of all
|
||||||
that was found.
|
that were found.
|
||||||
|
|
||||||
.B " mdadm \-Ac partitions \-m 0 /dev/md0"
|
.B " mdadm \-Ac partitions \-m 0 /dev/md0"
|
||||||
.br
|
.br
|
||||||
|
@ -2060,7 +2057,7 @@ for more details.
|
||||||
.SS /var/run/mdadm/map
|
.SS /var/run/mdadm/map
|
||||||
When
|
When
|
||||||
.B \-\-incremental
|
.B \-\-incremental
|
||||||
mode is used. this file gets a list of arrays currently being created.
|
mode is used, this file gets a list of arrays currently being created.
|
||||||
If
|
If
|
||||||
.B /var/run/mdadm
|
.B /var/run/mdadm
|
||||||
does not exist as a directory, then
|
does not exist as a directory, then
|
||||||
|
@ -2077,7 +2074,7 @@ behaviour when creating device files via the
|
||||||
option.
|
option.
|
||||||
|
|
||||||
The standard names for non-partitioned arrays (the only sort of md
|
The standard names for non-partitioned arrays (the only sort of md
|
||||||
array available in 2.4 and earlier) either of
|
array available in 2.4 and earlier) are either of
|
||||||
.IP
|
.IP
|
||||||
/dev/mdNN
|
/dev/mdNN
|
||||||
.br
|
.br
|
||||||
|
@ -2085,7 +2082,7 @@ array available in 2.4 and earlier) either of
|
||||||
.PP
|
.PP
|
||||||
where NN is a number.
|
where NN is a number.
|
||||||
The standard names for partitionable arrays (as available from 2.6
|
The standard names for partitionable arrays (as available from 2.6
|
||||||
onwards) is one of
|
onwards) are either of
|
||||||
.IP
|
.IP
|
||||||
/dev/md/dNN
|
/dev/md/dNN
|
||||||
.br
|
.br
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
''' See file COPYING in distribution for details.
|
''' See file COPYING in distribution for details.
|
||||||
.TH MDADM.CONF 5
|
.TH MDADM.CONF 5
|
||||||
.SH NAME
|
.SH NAME
|
||||||
mdadm.conf \- configuration for management of Software Raid with mdadm
|
mdadm.conf \- configuration for management of Software RAID with mdadm
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
/etc/mdadm.conf
|
/etc/mdadm.conf
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
@ -211,7 +211,7 @@ line and it should have only one address.
|
||||||
.B MAILFROM
|
.B MAILFROM
|
||||||
The
|
The
|
||||||
.B mailfrom
|
.B mailfrom
|
||||||
line (which can only be abbreviate at leat 5 characters) gives an
|
line (which can only be abbreviated to at least 5 characters) gives an
|
||||||
address to appear in the "From" address for alert mails. This can be
|
address to appear in the "From" address for alert mails. This can be
|
||||||
useful if you want to explicitly set a domain, as the default from
|
useful if you want to explicitly set a domain, as the default from
|
||||||
address is "root" with no domain. All words on this line are
|
address is "root" with no domain. All words on this line are
|
||||||
|
@ -295,7 +295,7 @@ DEVICE /dev/sd[bcdjkl]1
|
||||||
.br
|
.br
|
||||||
DEVICE /dev/hda1 /dev/hdb1
|
DEVICE /dev/hda1 /dev/hdb1
|
||||||
|
|
||||||
# /dev/md0 is known by it's UID.
|
# /dev/md0 is known by its UID.
|
||||||
.br
|
.br
|
||||||
ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
|
ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
|
||||||
.br
|
.br
|
||||||
|
@ -305,7 +305,7 @@ ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
|
||||||
.br
|
.br
|
||||||
ARRAY /dev/md1 superminor=1
|
ARRAY /dev/md1 superminor=1
|
||||||
.br
|
.br
|
||||||
# /dev/md2 is made from precisey these two devices
|
# /dev/md2 is made from precisely these two devices
|
||||||
.br
|
.br
|
||||||
ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1
|
ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
.SH NAME
|
.SH NAME
|
||||||
mdassemble \- assemble MD devices
|
mdassemble \- assemble MD devices
|
||||||
.I aka
|
.I aka
|
||||||
Linux Software Raid.
|
Linux Software RAID
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ Linux Software Raid.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.B mdassemble
|
.B mdassemble
|
||||||
is a tiny program that can be used to assemble MD devices inside an
|
is a tiny program that can be used to assemble MD devices inside an
|
||||||
initial ramdisk (initrd) or initramfs, it is meant to replace the in-kernel
|
initial ramdisk (initrd) or initramfs; it is meant to replace the in-kernel
|
||||||
automatic raid detection and activation.
|
automatic raid detection and activation.
|
||||||
It can be built statically and linked against lightweight libc alternatives, like
|
It can be built statically and linked against lightweight libc alternatives, like
|
||||||
.B dietlibc,
|
.B dietlibc,
|
||||||
|
|
Loading…
Reference in New Issue