-u
, --uuid=
uuid of array to assemble. Devices which don't have this
uuid are excluded
-m
, --super-minor=
Minor number of device that array was created for.
Devices which don't have this minor number are excluded.
If you create an array as /dev/md1, then all superblocks
will contain the minor number 1, even if the array is
later assembled as /dev/md2.
Giving the literal word "dev" for --super-minor
will cause
mdadm to use the minor number of the md device that is
being assembled. e.g. when assembling /dev/md0
,
--super-minor=dev
will look for super blocks with a minor
number of 0.
--super-minor
is only relevant for v0.90 metadata, and
should not normally be used. Using --uuid
is much safer.
-N
, --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 the name stored in the superblock
exactly, or it must match with the current homehost
prefixed to the start of the given name.
-f
, --force
Assemble the array even if the metadata on some devices
appears to be out-of-date. If mdadm cannot find enough
working devices to start the array, but can find some
devices that are recorded as having failed, then it will
mark 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 --force
to be started may contain data
corruption. Use it carefully.
-R
, --run
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 expected drives are found and
--scan
is not used, then the array will be assembled but
not started. With --run
an attempt will be made to start
it anyway.
--no-degraded
This is the reverse of --run
in that it inhibits the
startup of array unless all expected drives are present.
This is only needed with --scan,
and can be used if the
physical connections to devices are not as reliable as you
would like.
-a
, --auto{=no,yes,md,mdp,part}
See this option under Create and Build options.
-b
, --bitmap=
Specify the bitmap file that was given when the array was
created. If an array has an internal
bitmap, there is no
need to specify this when assembling the array.
--backup-file=
If --backup-file
was used while reshaping an array (e.g.
changing number of devices or chunk size) and the system
crashed during the critical section, then the same
--backup-file
must be presented to --assemble
to allow
possibly corrupted data to be restored, and the reshape to
be completed.
--invalid-backup
If the file needed for the above option is not available
for any reason an empty file can be given together with
this option to indicate that the backup file is invalid.
In this case the data that was being rearranged at the
time of the crash could be irrecoverably lost, but the
rest of the array may still be recoverable. This option
should only be used as a last resort if there is no way to
recover the backup file.
-U
, --update=
Update the superblock on each device while assembling the
array. The argument given to this flag can be one of
sparc2.2
, summaries
, uuid
, name
, nodes
, homehost
, home-
cluster
, resync
, byteorder
, devicesize
, no-bitmap
, bbl
,
no-bbl
, ppl
, no-ppl
, layout-original
, layout-alternate
,
layout-unspecified
, metadata
, or super-minor
.
The sparc2.2
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 alignment of part of
the superblock wrong. You can use the --examine
--sparc2.2
option to mdadm to see what effect this would
have.
The super-minor
option will update the preferred minor
field on each superblock to match the minor number of the
array being assembled. This can be useful if --examine
reports a different "Preferred Minor" to --detail
. In
some cases this update will be performed automatically by
the kernel driver. In particular the update happens
automatically at the first write to an array with
redundancy (RAID level 1 or greater) on a 2.6 (or later)
kernel.
The uuid
option will change the uuid of the array. If a
UUID is given with the --uuid
option that UUID will be
used as a new UUID and will NOT
be used to help identify
the devices in the array. If no --uuid
is given, a random
UUID is chosen.
The name
option will change the name of the array as
stored in the superblock. This is only supported for
version-1 superblocks.
The nodes
option will change the nodes of the array as
stored in the bitmap superblock. This option only works
for a clustered environment.
The homehost
option will change the homehost as recorded
in the superblock. For version-0 superblocks, this is the
same as updating the UUID. For version-1 superblocks,
this involves updating the name.
The home-cluster
option will change the cluster name as
recorded in the superblock and bitmap. This option only
works for clustered environment.
The resync
option will cause the array to be marked dirty
meaning that any redundancy in the array (e.g. parity for
RAID5, copies for RAID1) may be incorrect. This will
cause the RAID system to perform a "resync" pass to make
sure that all redundant information is correct.
The byteorder
option allows arrays to be moved between
machines with different byte-order, such as from a big-
endian machine like a Sparc or some MIPS machines, to a
little-endian x86_64 machine. When assembling such an
array for the first time after a move, giving
--update=byteorder
will cause mdadm to expect superblocks
to have their byteorder reversed, and will correct that
order before assembling the array. This is only valid
with original (Version 0.90) superblocks.
The summaries
option will correct the summaries in the
superblock. That is the counts of total, working, active,
failed, and spare devices.
The devicesize
option will rarely be of use. It applies
to version 1.1 and 1.2 metadata only (where the metadata
is at the start of the device) and is only useful when the
component device has changed size (typically become
larger). The version 1 metadata records the amount of the
device that can be used to store data, so if a device in a
version 1.1 or 1.2 array becomes larger, the metadata will
still be visible, but the extra space will not. In this
case it might be useful to assemble the array with
--update=devicesize
. This will cause mdadm to determine
the maximum usable amount of space on each device and
update the relevant field in the metadata.
The metadata
option only works on v0.90 metadata arrays
and will convert them to v1.0 metadata. The array must
not be dirty (i.e. it must not need a sync) and it must
not have a write-intent bitmap.
The old metadata will remain on the devices, but will
appear older than the new metadata and so will usually be
ignored. The old metadata (or indeed the new metadata) can
be removed by giving the appropriate --metadata=
option to
--zero-superblock
.
The no-bitmap
option can be used when an array has an
internal bitmap which is corrupt in some way so that
assembling the array normally fails. It will cause any
internal bitmap to be ignored.
The bbl
option will reserve space in each device for a bad
block list. This will be 4K in size and positioned near
the end of any free space between the superblock and the
data.
The no-bbl
option will cause any reservation of space for
a bad block list to be removed. If the bad block list
contains entries, this will fail, as removing the list
could cause data corruption.
The ppl
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 write-
intent bitmap or journal must not be used.
The no-ppl
option will disable PPL in the superblock.
The layout-original
and 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, --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 --update=layout-alternate
must be
given. This only needs to be given once. Subsequent
assembly of the array will happen normally. For more
information, see md(4).
The layout-unspecified
option reverts the effect of
layout-orignal
or 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.
--freeze-reshape
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 stops reshape after
reshape critical section is being restored. This happens
before file system pivot operation and avoids loss of file
system context. Losing file system context would cause
reshape to be broken.
Reshape can be continued later using the --continue
option
for the grow command.
--symlinks
See this option under Create and Build options.