mirror of https://gitee.com/openkylin/linux.git
71 lines
3.1 KiB
Plaintext
71 lines
3.1 KiB
Plaintext
|
Device-mapper RAID (dm-raid) is a bridge from DM to MD. It
|
||
|
provides a way to use device-mapper interfaces to access the MD RAID
|
||
|
drivers.
|
||
|
|
||
|
As with all device-mapper targets, the nominal public interfaces are the
|
||
|
constructor (CTR) tables and the status outputs (both STATUSTYPE_INFO
|
||
|
and STATUSTYPE_TABLE). The CTR table looks like the following:
|
||
|
|
||
|
1: <s> <l> raid \
|
||
|
2: <raid_type> <#raid_params> <raid_params> \
|
||
|
3: <#raid_devs> <meta_dev1> <dev1> .. <meta_devN> <devN>
|
||
|
|
||
|
Line 1 contains the standard first three arguments to any device-mapper
|
||
|
target - the start, length, and target type fields. The target type in
|
||
|
this case is "raid".
|
||
|
|
||
|
Line 2 contains the arguments that define the particular raid
|
||
|
type/personality/level, the required arguments for that raid type, and
|
||
|
any optional arguments. Possible raid types include: raid4, raid5_la,
|
||
|
raid5_ls, raid5_rs, raid6_zr, raid6_nr, and raid6_nc. (raid1 is
|
||
|
planned for the future.) The list of required and optional parameters
|
||
|
is the same for all the current raid types. The required parameters are
|
||
|
positional, while the optional parameters are given as key/value pairs.
|
||
|
The possible parameters are as follows:
|
||
|
<chunk_size> Chunk size in sectors.
|
||
|
[[no]sync] Force/Prevent RAID initialization
|
||
|
[rebuild <idx>] Rebuild the drive indicated by the index
|
||
|
[daemon_sleep <ms>] Time between bitmap daemon work to clear bits
|
||
|
[min_recovery_rate <kB/sec/disk>] Throttle RAID initialization
|
||
|
[max_recovery_rate <kB/sec/disk>] Throttle RAID initialization
|
||
|
[max_write_behind <sectors>] See '-write-behind=' (man mdadm)
|
||
|
[stripe_cache <sectors>] Stripe cache size for higher RAIDs
|
||
|
|
||
|
Line 3 contains the list of devices that compose the array in
|
||
|
metadata/data device pairs. If the metadata is stored separately, a '-'
|
||
|
is given for the metadata device position. If a drive has failed or is
|
||
|
missing at creation time, a '-' can be given for both the metadata and
|
||
|
data drives for a given position.
|
||
|
|
||
|
NB. Currently all metadata devices must be specified as '-'.
|
||
|
|
||
|
Examples:
|
||
|
# RAID4 - 4 data drives, 1 parity
|
||
|
# No metadata devices specified to hold superblock/bitmap info
|
||
|
# Chunk size of 1MiB
|
||
|
# (Lines separated for easy reading)
|
||
|
0 1960893648 raid \
|
||
|
raid4 1 2048 \
|
||
|
5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81
|
||
|
|
||
|
# RAID4 - 4 data drives, 1 parity (no metadata devices)
|
||
|
# Chunk size of 1MiB, force RAID initialization,
|
||
|
# min recovery rate at 20 kiB/sec/disk
|
||
|
0 1960893648 raid \
|
||
|
raid4 4 2048 min_recovery_rate 20 sync\
|
||
|
5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81
|
||
|
|
||
|
Performing a 'dmsetup table' should display the CTR table used to
|
||
|
construct the mapping (with possible reordering of optional
|
||
|
parameters).
|
||
|
|
||
|
Performing a 'dmsetup status' will yield information on the state and
|
||
|
health of the array. The output is as follows:
|
||
|
1: <s> <l> raid \
|
||
|
2: <raid_type> <#devices> <1 health char for each dev> <resync_ratio>
|
||
|
|
||
|
Line 1 is standard DM output. Line 2 is best shown by example:
|
||
|
0 1960893648 raid raid4 5 AAAAA 2/490221568
|
||
|
Here we can see the RAID type is raid4, there are 5 devices - all of
|
||
|
which are 'A'live, and the array is 2/490221568 complete with recovery.
|