mdadm.8.in (mdadm-4.1) | : | mdadm.8.in (mdadm-4.2) | ||
---|---|---|---|---|
.\" -*- nroff -*- | .\" -*- nroff -*- | |||
.\" Copyright Neil Brown and others. | .\" Copyright Neil Brown and others. | |||
.\" This program is free software; you can redistribute it and/or modify | .\" This program is free software; you can redistribute it and/or modify | |||
.\" it under the terms of the GNU General Public License as published by | .\" it under the terms of the GNU General Public License as published by | |||
.\" the Free Software Foundation; either version 2 of the License, or | .\" the Free Software Foundation; either version 2 of the License, or | |||
.\" (at your option) any later version. | .\" (at your option) any later version. | |||
.\" See file COPYING in distribution for details. | .\" See file COPYING in distribution for details. | |||
.TH MDADM 8 "" v4.1-rc2 | .TH MDADM 8 "" v4.2 | |||
.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 | |||
.BI mdadm " [mode] <raiddevice> [options] <component-devices>" | .BI mdadm " [mode] <raiddevice> [options] <component-devices>" | |||
.SH DESCRIPTION | .SH DESCRIPTION | |||
skipping to change at line 369 | skipping to change at line 369 | |||
SNIA. | SNIA. | |||
When creating a DDF array a | When creating a DDF array a | |||
.B CONTAINER | .B CONTAINER | |||
will be created, and normal arrays can be created in that container. | will be created, and normal arrays can be created in that container. | |||
.IP imsm | .IP imsm | |||
Use the Intel(R) Matrix Storage Manager metadata format. This creates a | Use the Intel(R) Matrix Storage Manager metadata format. This creates a | |||
.B CONTAINER | .B CONTAINER | |||
which is managed in a similar manner to DDF, and is supported by an | which is managed in a similar manner to DDF, and is supported by an | |||
option-rom on some platforms: | option-rom on some platforms: | |||
.IP | .IP | |||
.B http://www.intel.com/design/chipsets/matrixstorage_sb.htm | .B https://www.intel.com/content/www/us/en/support/products/122484/memory-and-st orage/ssd-software/intel-virtual-raid-on-cpu-intel-vroc.html | |||
.PP | .PP | |||
.RE | .RE | |||
.TP | .TP | |||
.B \-\-homehost= | .B \-\-homehost= | |||
This will override any | This will override any | |||
.B HOMEHOST | .B HOMEHOST | |||
setting in the config file and provides the identity 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. | |||
skipping to change at line 469 | skipping to change at line 469 | |||
.TP | .TP | |||
.BR \-z ", " \-\-size= | .BR \-z ", " \-\-size= | |||
Amount (in Kilobytes) of space to use from each drive in RAID levels 1/4/5/6. | Amount (in Kilobytes) of space to use from each drive in RAID levels 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 | |||
(as it normally is not) the smallest drive (or partition) sets the | (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 warni ng is | size, though if there is a variance among the drives of greater than 1%, a warni ng is | |||
issued. | issued. | |||
A suffix of 'K', 'M' or 'G' can be given to indicate Kilobytes, Megabytes or | A suffix of 'K', 'M', 'G' or 'T' can be given to indicate Kilobytes, | |||
Gigabytes respectively. | Megabytes, Gigabytes or Terabytes respectively. | |||
Sometimes a replacement drive can be a little smaller than the | Sometimes a replacement drive can be a little smaller than the | |||
original drives though this should be minimised by IDEMA standards. | original drives though this should be minimised by IDEMA standards. | |||
Such a replacement drive will be rejected by | Such a replacement drive will be rejected by | |||
.IR md . | .IR md . | |||
To guard against this it can be useful to set the initial size | To guard against this it can be useful to set the initial size | |||
slightly smaller than the smaller device with the aim that it will | slightly smaller than the smaller device with the aim that it will | |||
still be larger than any replacement. | still be larger than any replacement. | |||
This value can be set with | This value can be set with | |||
.B \-\-grow | .B \-\-grow | |||
for RAID level 1/4/5/6 though | for RAID level 1/4/5/6 though | |||
.B CONTAINER | DDF arrays may not be able to support this. | |||
based arrays such as those with IMSM metadata may not be able to | ||||
support this. | ||||
If the array was created with a size smaller than the currently | If the array was created with a size smaller than the currently | |||
active drives, the extra space can be accessed using | active drives, the extra space can be accessed using | |||
.BR \-\-grow . | .BR \-\-grow . | |||
The size can be given as | The size can be given as | |||
.B max | .B max | |||
which means to choose the largest size that fits on all current drives. | which means to choose the largest size that fits on all current drives. | |||
Before reducing the size of the array (with | Before reducing the size of the array (with | |||
.BR "\-\-grow \-\-size=" ) | .BR "\-\-grow \-\-size=" ) | |||
you should make sure that space isn't needed. If the device holds a | you should make sure that space isn't needed. If the device holds a | |||
skipping to change at line 536 | skipping to change at line 534 | |||
isn't needed. If the device holds a filesystem, you would need to | isn't needed. If the device holds a filesystem, you would need to | |||
resize the filesystem to use less space. | resize the filesystem to use less space. | |||
After reducing the array size you should check that the data stored in | After reducing the array size you should check that the data stored in | |||
the device is still available. If the device holds a filesystem, then | the device is still available. If the device holds a filesystem, then | |||
an 'fsck' of the filesystem is a minimum requirement. If there are | an 'fsck' of the filesystem is a minimum requirement. If there are | |||
problems the array can be made bigger again with no loss with another | problems the array can be made bigger again with no loss with another | |||
.B "\-\-grow \-\-array\-size=" | .B "\-\-grow \-\-array\-size=" | |||
command. | command. | |||
A suffix of 'K', 'M' or 'G' can be given to indicate Kilobytes, Megabytes or | A suffix of 'K', 'M', 'G' or 'T' can be given to indicate Kilobytes, | |||
Gigabytes respectively. | Megabytes, Gigabytes or Terabytes respectively. | |||
A value of | A value of | |||
.B max | .B max | |||
restores the apparent size of the array to be whatever the real | restores the apparent size of the array to be whatever the real | |||
amount of available space is. | amount of available space is. | |||
Clustered arrays do not support this parameter yet. | Clustered arrays do not support this parameter yet. | |||
.TP | .TP | |||
.BR \-c ", " \-\-chunk= | .BR \-c ", " \-\-chunk= | |||
Specify chunk size of kilobytes. The default when creating an | Specify chunk size of kilobytes. The default when creating an | |||
array is 512KB. To ensure compatibility with earlier versions, the | array is 512KB. To ensure compatibility with earlier versions, the | |||
default when building an array with no persistent metadata is 64KB. | default when building an array with no persistent metadata is 64KB. | |||
This is only meaningful for RAID0, RAID4, RAID5, RAID6, and RAID10. | This is only meaningful for RAID0, RAID4, RAID5, RAID6, and RAID10. | |||
RAID4, RAID5, RAID6, and RAID10 require the chunk size to be a power | RAID4, RAID5, RAID6, and RAID10 require the chunk size to be a power | |||
of 2. In any case it must be a multiple of 4KB. | of 2. In any case it must be a multiple of 4KB. | |||
A suffix of 'K', 'M' or 'G' can be given to indicate Kilobytes, Megabytes or | A suffix of 'K', 'M', 'G' or 'T' can be given to indicate Kilobytes, | |||
Gigabytes respectively. | Megabytes, Gigabytes or Terabytes respectively. | |||
.TP | .TP | |||
.BR \-\-rounding= | .BR \-\-rounding= | |||
Specify rounding factor for a Linear array. The size of each | Specify rounding factor for a Linear array. The size of each | |||
component will be rounded down to a multiple of this size. | component will be rounded down to a multiple of this size. | |||
This is a synonym for | This is a synonym for | |||
.B \-\-chunk | .B \-\-chunk | |||
but highlights the different meaning for Linear as compared to other | but highlights the different meaning for Linear as compared to other | |||
RAID levels. The default is 64K if a kernel earlier than 2.6.16 is in | RAID levels. The default is 64K if a kernel earlier than 2.6.16 is in | |||
use, and is 0K (i.e. no rounding) in later kernels. | use, and is 0K (i.e. no rounding) in later kernels. | |||
skipping to change at line 595 | skipping to change at line 593 | |||
Can be used with | Can be used with | |||
.B \-\-grow | .B \-\-grow | |||
to change the RAID level in some cases. See LEVEL CHANGES below. | to change the RAID level in some cases. See LEVEL CHANGES below. | |||
.TP | .TP | |||
.BR \-p ", " \-\-layout= | .BR \-p ", " \-\-layout= | |||
This option configures the fine details of data layout for RAID5, RAID6, | This option configures the fine details of data layout for RAID5, RAID6, | |||
and RAID10 arrays, and controls the failure modes for | and RAID10 arrays, and controls the failure modes for | |||
.IR faulty . | .IR faulty . | |||
It can also be used for working around a kernel bug with RAID0, but generally | ||||
doesn't need to be used explicitly. | ||||
The layout of the RAID5 parity block can be one of | The layout of the RAID5 parity block can be one of | |||
.BR left\-asymmetric , | .BR left\-asymmetric , | |||
.BR left\-symmetric , | .BR left\-symmetric , | |||
.BR right\-asymmetric , | .BR right\-asymmetric , | |||
.BR right\-symmetric , | .BR right\-symmetric , | |||
.BR la ", " ra ", " ls ", " rs . | .BR la ", " ra ", " ls ", " rs . | |||
The default is | The default is | |||
.BR left\-symmetric . | .BR left\-symmetric . | |||
skipping to change at line 654 | skipping to change at line 654 | |||
generated after that many requests, 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 | |||
.B \-\-grow | .B \-\-grow | |||
option to set subsequent failure modes. | option to set subsequent failure modes. | |||
"clear" or "none" will remove any pending or periodic failure modes, | "clear" or "none" will remove any pending or periodic failure modes, | |||
and "flush" will clear any persistent faults. | and "flush" will clear any persistent faults. | |||
Finally, the layout options for RAID10 are one of 'n', 'o' or 'f' followed | The layout options for RAID10 are one of 'n', 'o' or 'f' followed | |||
by a small number. The default is 'n2'. The supported options are: | 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 | |||
skipping to change at line 679 | skipping to change at line 679 | |||
signals 'far' copies | signals 'far' copies | |||
(multiple copies have very different offsets). | (multiple copies have very different offsets). | |||
See md(4) for more detail about 'near', 'offset', and 'far'. | See md(4) for more detail about 'near', 'offset', 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 | |||
devices in the array. It does not need to divide evenly into that | devices in the array. It does not need to divide evenly into that | |||
number (e.g. it is perfectly legal to have an 'n2' layout for an array | number (e.g. it is perfectly legal to have an 'n2' layout for an array | |||
with an odd number of devices). | with an odd number of devices). | |||
A bug introduced in Linux 3.14 means that RAID0 arrays | ||||
.B "with devices of differing sizes" | ||||
started using a different layout. This could lead to | ||||
data corruption. Since Linux 5.4 (and various stable releases that received | ||||
backports), the kernel will not accept such an array unless | ||||
a layout is explictly set. It can be set to | ||||
.RB ' original ' | ||||
or | ||||
.RB ' alternate '. | ||||
When creating a new array, | ||||
.I mdadm | ||||
will select | ||||
.RB ' original ' | ||||
by default, so the layout does not normally need to be set. | ||||
An array created for either | ||||
.RB ' original ' | ||||
or | ||||
.RB ' alternate ' | ||||
will not be recognized by an (unpatched) kernel prior to 5.4. To create | ||||
a RAID0 array with devices of differing sizes that can be used on an | ||||
older kernel, you can set the layout to | ||||
.RB ' dangerous '. | ||||
This will use whichever layout the running kernel supports, so the data | ||||
on the array may become corrupt when changing kernel from pre-3.14 to a | ||||
later kernel. | ||||
When an array is converted between RAID5 and RAID6 an intermediate | When an array is converted between RAID5 and RAID6 an intermediate | |||
RAID6 layout is used in which the second parity block (Q) is always on | RAID6 layout is used in which the second parity block (Q) is always on | |||
the last device. To convert a RAID5 to RAID6 and leave it in this new | the last device. To convert a RAID5 to RAID6 and leave it in this new | |||
layout (which does not require re-striping) use | layout (which does not require re-striping) use | |||
.BR \-\-layout=preserve . | .BR \-\-layout=preserve . | |||
This will try to avoid any restriping. | This will try to avoid any restriping. | |||
The converse of this is | The converse of this is | |||
.B \-\-layout=normalise | .B \-\-layout=normalise | |||
which will change a non-standard RAID6 layout into a more standard | which will change a non-standard RAID6 layout into a more standard | |||
skipping to change at line 743 | skipping to change at line 769 | |||
.BR \-\-bitmap\-chunk= | .BR \-\-bitmap\-chunk= | |||
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 at-least 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 defaults to 64Meg, or larger if necessary to | bitmap, the chunksize defaults to 64Meg, or larger if necessary to | |||
fit the bitmap into the available space. | fit the bitmap into the available space. | |||
A suffix of 'K', 'M' or 'G' can be given to indicate Kilobytes, Megabytes or | A suffix of 'K', 'M', 'G' or 'T' can be given to indicate Kilobytes, | |||
Gigabytes respectively. | Megabytes, Gigabytes or Terabytes respectively. | |||
.TP | .TP | |||
.BR \-W ", " \-\-write\-mostly | .BR \-W ", " \-\-write\-mostly | |||
subsequent devices listed in a | subsequent devices listed in a | |||
.BR \-\-build , | .BR \-\-build , | |||
.BR \-\-create , | .BR \-\-create , | |||
or | or | |||
.B \-\-add | .B \-\-add | |||
command will be flagged as 'write\-mostly'. This is valid for RAID1 | command will be flagged as 'write\-mostly'. This is valid for RAID1 | |||
only and means that the 'md' driver will avoid reading from these | only and means that the 'md' driver will avoid reading from these | |||
skipping to change at line 833 | skipping to change at line 859 | |||
device and the start of array data. This gap can be used for various | device and the start of array data. This gap can be used for various | |||
metadata. The start of data is known as the | metadata. The start of data is known as the | |||
.IR data\-offset . | .IR data\-offset . | |||
Normally an appropriate data offset is computed automatically. | Normally an appropriate data offset is computed automatically. | |||
However it can be useful to set it explicitly such as when re-creating | However it can be useful to set it explicitly such as when re-creating | |||
an array which was originally created using a different version of | an array which was originally created using a different version of | |||
.I mdadm | .I mdadm | |||
which computed a different offset. | which computed a different offset. | |||
Setting the offset explicitly over-rides the default. The value given | Setting the offset explicitly over-rides the default. The value given | |||
is in Kilobytes unless a suffix of 'K', 'M' or 'G' is used to explicitly | is in Kilobytes unless a suffix of 'K', 'M', 'G' or 'T' is used to explicitly | |||
indicate Kilobytes, Megabytes or Gigabytes respectively. | indicate Kilobytes, Megabytes, Gigabytes or Terabytes respectively. | |||
Since Linux 3.4, | Since Linux 3.4, | |||
.B \-\-data\-offset | .B \-\-data\-offset | |||
can also be used with | can also be used with | |||
.B --grow | .B --grow | |||
for some RAID levels (initially on RAID10). This allows the | for some RAID levels (initially on RAID10). This allows the | |||
data\-offset to be changed as part of the reshape process. When the | data\-offset to be changed as part of the reshape process. When the | |||
data offset is changed, no backup file is required as the difference | data offset is changed, no backup file is required as the difference | |||
in offsets is used to provide the same functionality. | in offsets is used to provide the same functionality. | |||
skipping to change at line 1107 | skipping to change at line 1133 | |||
.I homehost | .I homehost | |||
prefixed to the start of the given name. | prefixed to the start of the given name. | |||
.TP | .TP | |||
.BR \-f ", " \-\-force | .BR \-f ", " \-\-force | |||
Assemble the array even if the metadata on some devices appears to be | Assemble the array even if the metadata on some devices appears to be | |||
out-of-date. If | out-of-date. If | |||
.I mdadm | .I mdadm | |||
cannot find enough working devices to start the array, but can find | cannot find enough working devices to start the array, but can find | |||
some devices that are recorded as having failed, then it will mark | some devices that are recorded as having failed, then it will mark | |||
those devices as working so that the array can be started. | those devices as working so that the array can be started. This works only for | |||
native. For external metadata it allows to start dirty degraded RAID 4, 5, 6. | ||||
An array which requires | An array which requires | |||
.B \-\-force | .B \-\-force | |||
to be started may contain data corruption. Use it carefully. | to be started may contain data corruption. Use it carefully. | |||
.TP | .TP | |||
.BR \-R ", " \-\-run | .BR \-R ", " \-\-run | |||
Attempt to start the array even if fewer drives were given than were | Attempt to start the array even if fewer drives were given than were | |||
present last time the array was active. Normally if not all the | present last time the array was active. Normally if not all the | |||
expected drives are found and | expected drives are found and | |||
.B \-\-scan | .B \-\-scan | |||
skipping to change at line 1185 | skipping to change at line 1212 | |||
.BR homehost , | .BR homehost , | |||
.BR home-cluster , | .BR home-cluster , | |||
.BR resync , | .BR resync , | |||
.BR byteorder , | .BR byteorder , | |||
.BR devicesize , | .BR devicesize , | |||
.BR no\-bitmap , | .BR no\-bitmap , | |||
.BR bbl , | .BR bbl , | |||
.BR no\-bbl , | .BR no\-bbl , | |||
.BR ppl , | .BR ppl , | |||
.BR no\-ppl , | .BR no\-ppl , | |||
.BR layout\-original , | ||||
.BR layout\-alternate , | ||||
.BR layout\-unspecified , | ||||
.BR metadata , | .BR metadata , | |||
or | or | |||
.BR super\-minor . | .BR super\-minor . | |||
The | The | |||
.B sparc2.2 | .B sparc2.2 | |||
option will adjust the superblock of an array what was created on a Sparc | option will adjust the superblock of an array what was created on a Sparc | |||
machine running a patched 2.2 Linux kernel. This kernel got the | machine running a patched 2.2 Linux kernel. This kernel got the | |||
alignment of part of the superblock wrong. You can use the | alignment of part of the superblock wrong. You can use the | |||
.B "\-\-examine \-\-sparc2.2" | .B "\-\-examine \-\-sparc2.2" | |||
skipping to change at line 1336 | skipping to change at line 1366 | |||
The | The | |||
.B ppl | .B ppl | |||
option will enable PPL for a RAID5 array and reserve space for PPL on each | option will enable PPL for a RAID5 array and reserve space for PPL on each | |||
device. There must be enough free space between the data and superblock and a | device. There must be enough free space between the data and superblock and a | |||
write-intent bitmap or journal must not be used. | write-intent bitmap or journal must not be used. | |||
The | The | |||
.B no\-ppl | .B no\-ppl | |||
option will disable PPL in the superblock. | option will disable PPL in the superblock. | |||
The | ||||
.B layout\-original | ||||
and | ||||
.B layout\-alternate | ||||
options are for RAID0 arrays with non-uniform devices size that were in | ||||
use before Linux 5.4. If the array was being used with Linux 3.13 or | ||||
earlier, then to assemble the array on a new kernel, | ||||
.B \-\-update=layout\-original | ||||
must be given. If the array was created and used with a kernel from Linux 3.14 | ||||
to | ||||
Linux 5.3, then | ||||
.B \-\-update=layout\-alternate | ||||
must be given. This only needs to be given once. Subsequent assembly of the ar | ||||
ray | ||||
will happen normally. | ||||
For more information, see | ||||
.IR md (4). | ||||
The | ||||
.B layout\-unspecified | ||||
option reverts the effect of | ||||
.B layout\-orignal | ||||
or | ||||
.B layout\-alternate | ||||
and allows the array to be again used on a kernel prior to Linux 5.3. | ||||
This option should be used with great caution. | ||||
.TP | .TP | |||
.BR \-\-freeze\-reshape | .BR \-\-freeze\-reshape | |||
Option is intended to be used in start-up scripts during initrd boot phase. | Option is intended to be used in start-up scripts during initrd boot phase. | |||
When array under reshape is assembled during initrd phase, this option | When array under reshape is assembled during initrd phase, this option | |||
stops reshape after reshape critical section is being restored. This happens | stops reshape after reshape critical section is being restored. This happens | |||
before file system pivot operation and avoids loss of file system context. | before file system pivot operation and avoids loss of file system context. | |||
Losing file system context would cause reshape to be broken. | Losing file system context would cause reshape to be broken. | |||
Reshape can be continued later using the | Reshape can be continued later using the | |||
.B \-\-continue | .B \-\-continue | |||
skipping to change at line 1652 | skipping to change at line 1707 | |||
Report information about a bitmap file. | Report information about a bitmap file. | |||
The argument is either an external bitmap file or an array component | The argument is either an external bitmap file or an array component | |||
in case of an internal bitmap. Note that running this on an array | in case of an internal bitmap. Note that running this on an array | |||
device (e.g. | device (e.g. | |||
.BR /dev/md0 ) | .BR /dev/md0 ) | |||
does not report the bitmap for that array. | does not report the bitmap for that array. | |||
.TP | .TP | |||
.B \-\-examine\-badblocks | .B \-\-examine\-badblocks | |||
List the bad-blocks recorded for the device, if a bad-blocks list has | List the bad-blocks recorded for the device, if a bad-blocks list has | |||
been configured. Currently only | been configured. Currently only | |||
.B 1.x | .B 1.x | |||
metadata supports bad-blocks lists. | and | |||
.B IMSM | ||||
metadata support bad-blocks lists. | ||||
.TP | .TP | |||
.BI \-\-dump= directory | .BI \-\-dump= directory | |||
.TP | .TP | |||
.BI \-\-restore= directory | .BI \-\-restore= directory | |||
Save metadata from lists devices, or restore metadata to listed devices. | Save metadata from lists devices, or restore metadata to listed devices. | |||
.TP | .TP | |||
.BR \-R ", " \-\-run | .BR \-R ", " \-\-run | |||
start a partially assembled array. If | start a partially assembled array. If | |||
skipping to change at line 2129 | skipping to change at line 2186 | |||
.PP | .PP | |||
This usage will initialise a new md array, associate some devices with | This usage will initialise a new md array, associate some devices with | |||
it, and activate the array. | it, and activate the array. | |||
The named device will normally not exist when | The named device will normally not exist when | |||
.I "mdadm \-\-create" | .I "mdadm \-\-create" | |||
is run, but will be created by | is run, but will be created by | |||
.I udev | .I udev | |||
once the array becomes active. | once the array becomes active. | |||
The max length md-device name is limited to 32 characters. | ||||
Different metadata types have more strict limitation | ||||
(like IMSM where only 16 characters are allowed). | ||||
For that reason, long name could be truncated or rejected, it depends on metadat | ||||
a policy. | ||||
As devices are added, they are checked to see if they contain RAID | As devices are added, they are checked to see if they contain RAID | |||
superblocks or filesystems. They are also checked to see if the variance in | superblocks or filesystems. They are also checked to see if the variance in | |||
device size exceeds 1%. | device size exceeds 1%. | |||
If any discrepancy is found, the array will not automatically be run, though | If any discrepancy is found, the array will not automatically be run, though | |||
the presence of a | the presence of a | |||
.B \-\-run | .B \-\-run | |||
can override this caution. | can override this caution. | |||
To create a "degraded" array in which some devices are missing, simply | To create a "degraded" array in which some devices are missing, simply | |||
skipping to change at line 2352 | skipping to change at line 2414 | |||
.B \-\-update\-subarray= | .B \-\-update\-subarray= | |||
If the device is a container and the argument to \-\-update\-subarray | If the device is a container and the argument to \-\-update\-subarray | |||
specifies a subarray in the container, then attempt to update the given | specifies a subarray in the container, then attempt to update the given | |||
superblock field in the subarray. Similar to updating an array in | superblock field in the subarray. Similar to updating an array in | |||
"assemble" mode, the field to update is selected by | "assemble" mode, the field to update is selected by | |||
.B \-U | .B \-U | |||
or | or | |||
.B \-\-update= | .B \-\-update= | |||
option. The supported options are | option. The supported options are | |||
.BR name , | .BR name , | |||
.B ppl | .BR ppl , | |||
.BR no\-ppl , | ||||
.BR bitmap | ||||
and | and | |||
.BR no\-ppl . | .BR no\-bitmap . | |||
The | The | |||
.B name | .B name | |||
option updates the subarray name in the metadata, it may not affect the | option updates the subarray name in the metadata, it may not affect the | |||
device node name or the device node symlink until the subarray is | device node name or the device node symlink until the subarray is | |||
re\-assembled. If updating | re\-assembled. If updating | |||
.B name | .B name | |||
would change the UUID of an active subarray this operation is blocked, | would change the UUID of an active subarray this operation is blocked, | |||
and the command will end in an error. | and the command will end in an error. | |||
The | The | |||
.B ppl | .B ppl | |||
and | and | |||
.B no\-ppl | .B no\-ppl | |||
options enable and disable PPL in the metadata. Currently supported only for | options enable and disable PPL in the metadata. Currently supported only for | |||
IMSM subarrays. | IMSM subarrays. | |||
The | ||||
.B bitmap | ||||
and | ||||
.B no\-bitmap | ||||
options enable and disable write-intent bitmap in the metadata. Currently suppor | ||||
ted only for | ||||
IMSM subarrays. | ||||
.TP | .TP | |||
.B \-\-examine | .B \-\-examine | |||
The device should be a component of an md array. | The device should be a component of an md array. | |||
.I mdadm | .I mdadm | |||
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 | |||
or | or | |||
.B \-\-scan | .B \-\-scan | |||
is given, then multiple devices that are components of the one array | is given, then multiple devices that are components of the one array | |||
skipping to change at line 2714 | skipping to change at line 2785 | |||
remove a write-intent bitmap from such an array. | remove a write-intent bitmap from such an array. | |||
.IP \(bu 4 | .IP \(bu 4 | |||
change the array's consistency policy. | change the array's consistency policy. | |||
.PP | .PP | |||
Using GROW on containers is currently supported only for Intel's IMSM | Using GROW on containers is currently supported only for Intel's IMSM | |||
container format. The number of devices in a container can be | container format. The number of devices in a container can be | |||
increased - which affects all arrays in the container - or an array | increased - which affects all arrays in the container - or an array | |||
in a container can be converted between levels where those levels are | in a container can be converted between levels where those levels are | |||
supported by the container, and the conversion is on of those listed | supported by the container, and the conversion is on of those listed | |||
above. Resizing arrays in an IMSM container with | above. | |||
.B "--grow --size" | ||||
is not yet supported. | ||||
.PP | .PP | |||
Notes: | Notes: | |||
.IP \(bu 4 | .IP \(bu 4 | |||
Intel's native checkpointing doesn't use | Intel's native checkpointing doesn't use | |||
.B --backup-file | .B --backup-file | |||
option and it is transparent for assembly feature. | option and it is transparent for assembly feature. | |||
.IP \(bu 4 | .IP \(bu 4 | |||
Roaming between Windows(R) and Linux systems for IMSM metadata is not | Roaming between Windows(R) and Linux systems for IMSM metadata is not | |||
supported during grow process. | supported during grow process. | |||
.IP \(bu 4 | ||||
When growing a raid0 device, the new component disk size (or external | ||||
backup size) should be larger than LCM(old, new) * chunk-size * 2, | ||||
where LCM() is the least common multiple of the old and new count of | ||||
component disks, and "* 2" comes from the fact that mdadm refuses to | ||||
use more than half of a spare device for backup space. | ||||
.SS SIZE CHANGES | .SS SIZE CHANGES | |||
Normally when an array is built the "size" is taken from the smallest | Normally when an array is built the "size" is taken from the smallest | |||
of the drives. If all the small drives in an arrays are, one at a | 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 | time, removed and replaced with larger drives, then you could have an | |||
array of large drives with only a small amount used. In this | array of large drives with only a small amount used. In this | |||
situation, changing the "size" with "GROW" mode will allow the extra | situation, changing the "size" with "GROW" mode will allow the extra | |||
space to start being used. If the size is increased in this way, a | space to start being used. If the size is increased in this way, a | |||
"resync" process will start to make sure the new parts of the array | "resync" process will start to make sure the new parts of the array | |||
are synchronised. | are synchronised. | |||
skipping to change at line 2831 | skipping to change at line 2906 | |||
long time. A | long time. A | |||
.B \-\-backup\-file | .B \-\-backup\-file | |||
is required. If the array is not simultaneously being grown or | is required. If the array is not simultaneously being grown or | |||
shrunk, so that the array size will remain the same - for example, | shrunk, so that the array size will remain the same - for example, | |||
reshaping a 3-drive RAID5 into a 4-drive RAID6 - the backup file will | reshaping a 3-drive RAID5 into a 4-drive RAID6 - the backup file will | |||
be used not just for a "cricital section" but throughout the reshape | be used not just for a "cricital section" but throughout the reshape | |||
operation, as described below under LAYOUT CHANGES. | operation, as described below under LAYOUT CHANGES. | |||
.SS CHUNK-SIZE AND LAYOUT CHANGES | .SS CHUNK-SIZE AND LAYOUT CHANGES | |||
Changing the chunk-size of layout without also changing the number of | Changing the chunk-size or layout without also changing the number of | |||
devices as the same time will involve re-writing all blocks in-place. | devices as the same time will involve re-writing all blocks in-place. | |||
To ensure against data loss in the case of a crash, a | To ensure against data loss in the case of a crash, a | |||
.B --backup-file | .B --backup-file | |||
must be provided for these changes. Small sections of the array will | must be provided for these changes. Small sections of the array will | |||
be copied to the backup file while they are being rearranged. This | be copied to the backup file while they are being rearranged. This | |||
means that all the data is copied twice, once to the backup and once | means that all the data is copied twice, once to the backup and once | |||
to the new layout on the array, so this type of reshape will go very | to the new layout on the array, so this type of reshape will go very | |||
slowly. | slowly. | |||
If the reshape is interrupted for any reason, this backup file must be | If the reshape is interrupted for any reason, this backup file must be | |||
skipping to change at line 3358 | skipping to change at line 3433 | |||
.SH NOTE | .SH NOTE | |||
.I mdadm | .I mdadm | |||
was previously known as | was previously known as | |||
.IR mdctl . | .IR mdctl . | |||
.SH SEE ALSO | .SH SEE ALSO | |||
For further information on mdadm usage, MD and the various levels of | For further information on mdadm usage, MD and the various levels of | |||
RAID, see: | RAID, see: | |||
.IP | .IP | |||
.B http://raid.wiki.kernel.org/ | .B https://raid.wiki.kernel.org/ | |||
.PP | .PP | |||
(based upon Jakob \(/Ostergaard's Software\-RAID.HOWTO) | (based upon Jakob \(/Ostergaard's Software\-RAID.HOWTO) | |||
.PP | .PP | |||
The latest version of | The latest version of | |||
.I mdadm | .I mdadm | |||
should always be available from | should always be available from | |||
.IP | .IP | |||
.B http://www.kernel.org/pub/linux/utils/raid/mdadm/ | .B https://www.kernel.org/pub/linux/utils/raid/mdadm/ | |||
.PP | .PP | |||
Related man pages: | Related man pages: | |||
.PP | .PP | |||
.IR mdmon (8), | .IR mdmon (8), | |||
.IR mdadm.conf (5), | .IR mdadm.conf (5), | |||
.IR md (4). | .IR md (4). | |||
End of changes. 25 change blocks. | ||||
27 lines changed or deleted | 106 lines changed or added |