![NeilBrown](/assets/img/avatar_default.png)
This patch adds raid5_reshape and end_reshape which will start and finish the reshape processes. raid5_reshape is only enabled in CONFIG_MD_RAID5_RESHAPE is set, to discourage accidental use. Read the 'help' for the CONFIG_MD_RAID5_RESHAPE entry. and Make sure that you have backups, just in case. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
267 lines
9.2 KiB
Plaintext
267 lines
9.2 KiB
Plaintext
#
|
|
# Block device driver configuration
|
|
#
|
|
|
|
menu "Multi-device support (RAID and LVM)"
|
|
|
|
config MD
|
|
bool "Multiple devices driver support (RAID and LVM)"
|
|
help
|
|
Support multiple physical spindles through a single logical device.
|
|
Required for RAID and logical volume management.
|
|
|
|
config BLK_DEV_MD
|
|
tristate "RAID support"
|
|
depends on MD
|
|
---help---
|
|
This driver lets you combine several hard disk partitions into one
|
|
logical block device. This can be used to simply append one
|
|
partition to another one or to combine several redundant hard disks
|
|
into a RAID1/4/5 device so as to provide protection against hard
|
|
disk failures. This is called "Software RAID" since the combining of
|
|
the partitions is done by the kernel. "Hardware RAID" means that the
|
|
combining is done by a dedicated controller; if you have such a
|
|
controller, you do not need to say Y here.
|
|
|
|
More information about Software RAID on Linux is contained in the
|
|
Software RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also learn
|
|
where to get the supporting user space utilities raidtools.
|
|
|
|
If unsure, say N.
|
|
|
|
config MD_LINEAR
|
|
tristate "Linear (append) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
If you say Y here, then your multiple devices driver will be able to
|
|
use the so-called linear mode, i.e. it will combine the hard disk
|
|
partitions by simply appending one to the other.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called linear.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID0
|
|
tristate "RAID-0 (striping) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
If you say Y here, then your multiple devices driver will be able to
|
|
use the so-called raid0 mode, i.e. it will combine the hard disk
|
|
partitions into one logical device in such a fashion as to fill them
|
|
up evenly, one chunk here and one chunk there. This will increase
|
|
the throughput rate if the partitions reside on distinct disks.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called raid0.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID1
|
|
tristate "RAID-1 (mirroring) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
A RAID-1 set consists of several disk drives which are exact copies
|
|
of each other. In the event of a mirror failure, the RAID driver
|
|
will continue to use the operational mirrors in the set, providing
|
|
an error free MD (multiple device) to the higher levels of the
|
|
kernel. In a set with N drives, the available space is the capacity
|
|
of a single drive, and the set protects against a failure of (N - 1)
|
|
drives.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
If you want to use such a RAID-1 set, say Y. To compile this code
|
|
as a module, choose M here: the module will be called raid1.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID10
|
|
tristate "RAID-10 (mirrored striping) mode (EXPERIMENTAL)"
|
|
depends on BLK_DEV_MD && EXPERIMENTAL
|
|
---help---
|
|
RAID-10 provides a combination of striping (RAID-0) and
|
|
mirroring (RAID-1) with easier configuration and more flexable
|
|
layout.
|
|
Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to
|
|
be the same size (or at least, only as much as the smallest device
|
|
will be used).
|
|
RAID-10 provides a variety of layouts that provide different levels
|
|
of redundancy and performance.
|
|
|
|
RAID-10 requires mdadm-1.7.0 or later, available at:
|
|
|
|
ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID5
|
|
tristate "RAID-4/RAID-5 mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
A RAID-5 set of N drives with a capacity of C MB per drive provides
|
|
the capacity of C * (N - 1) MB, and protects against a failure
|
|
of a single drive. For a given sector (row) number, (N - 1) drives
|
|
contain data sectors, and one drive contains the parity protection.
|
|
For a RAID-4 set, the parity blocks are present on a single drive,
|
|
while a RAID-5 set distributes the parity across the drives in one
|
|
of the available parity distribution methods.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
If you want to use such a RAID-4/RAID-5 set, say Y. To
|
|
compile this code as a module, choose M here: the module
|
|
will be called raid5.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID5_RESHAPE
|
|
bool "Support adding drives to a raid-5 array (experimental)"
|
|
depends on MD_RAID5 && EXPERIMENTAL
|
|
---help---
|
|
A RAID-5 set can be expanded by adding extra drives. This
|
|
requires "restriping" the array which means (almost) every
|
|
block must be written to a different place.
|
|
|
|
This option allows such restriping to be done while the array
|
|
is online. However it is still EXPERIMENTAL code. It should
|
|
work, but please be sure that you have backups.
|
|
|
|
You will need a version of mdadm newer than 2.3.1. During the
|
|
early stage of reshape there is a critical section where live data
|
|
is being over-written. A crash during this time needs extra care
|
|
for recovery. The newer mdadm takes a copy of the data in the
|
|
critical section and will restore it, if necessary, after a crash.
|
|
|
|
The mdadm usage is e.g.
|
|
mdadm --grow /dev/md1 --raid-disks=6
|
|
to grow '/dev/md1' to having 6 disks.
|
|
|
|
Note: The array can only be expanded, not contracted.
|
|
There should be enough spares already present to make the new
|
|
array workable.
|
|
|
|
config MD_RAID6
|
|
tristate "RAID-6 mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
A RAID-6 set of N drives with a capacity of C MB per drive
|
|
provides the capacity of C * (N - 2) MB, and protects
|
|
against a failure of any two drives. For a given sector
|
|
(row) number, (N - 2) drives contain data sectors, and two
|
|
drives contains two independent redundancy syndromes. Like
|
|
RAID-5, RAID-6 distributes the syndromes across the drives
|
|
in one of the available parity distribution methods.
|
|
|
|
RAID-6 requires mdadm-1.5.0 or later, available at:
|
|
|
|
ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/
|
|
|
|
If you want to use such a RAID-6 set, say Y. To compile
|
|
this code as a module, choose M here: the module will be
|
|
called raid6.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_MULTIPATH
|
|
tristate "Multipath I/O support"
|
|
depends on BLK_DEV_MD
|
|
help
|
|
Multipath-IO is the ability of certain devices to address the same
|
|
physical disk over multiple 'IO paths'. The code ensures that such
|
|
paths can be defined and handled at runtime, and ensures that a
|
|
transparent failover to the backup path(s) happens if a IO errors
|
|
arrives on the primary path.
|
|
|
|
If unsure, say N.
|
|
|
|
config MD_FAULTY
|
|
tristate "Faulty test module for MD"
|
|
depends on BLK_DEV_MD
|
|
help
|
|
The "faulty" module allows for a block device that occasionally returns
|
|
read or write errors. It is useful for testing.
|
|
|
|
In unsure, say N.
|
|
|
|
config BLK_DEV_DM
|
|
tristate "Device mapper support"
|
|
depends on MD
|
|
---help---
|
|
Device-mapper is a low level volume manager. It works by allowing
|
|
people to specify mappings for ranges of logical sectors. Various
|
|
mapping types are available, in addition people may write their own
|
|
modules containing custom mappings if they wish.
|
|
|
|
Higher level volume managers such as LVM2 use this driver.
|
|
|
|
To compile this as a module, choose M here: the module will be
|
|
called dm-mod.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_CRYPT
|
|
tristate "Crypt target support"
|
|
depends on BLK_DEV_DM && EXPERIMENTAL
|
|
select CRYPTO
|
|
---help---
|
|
This device-mapper target allows you to create a device that
|
|
transparently encrypts the data on it. You'll need to activate
|
|
the ciphers you're going to use in the cryptoapi configuration.
|
|
|
|
Information on how to use dm-crypt can be found on
|
|
|
|
<http://www.saout.de/misc/dm-crypt/>
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-crypt.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_SNAPSHOT
|
|
tristate "Snapshot target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM && EXPERIMENTAL
|
|
---help---
|
|
Allow volume managers to take writeable snapshots of a device.
|
|
|
|
config DM_MIRROR
|
|
tristate "Mirror target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM && EXPERIMENTAL
|
|
---help---
|
|
Allow volume managers to mirror logical volumes, also
|
|
needed for live data migration tools such as 'pvmove'.
|
|
|
|
config DM_ZERO
|
|
tristate "Zero target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM && EXPERIMENTAL
|
|
---help---
|
|
A target that discards writes, and returns all zeroes for
|
|
reads. Useful in some recovery situations.
|
|
|
|
config DM_MULTIPATH
|
|
tristate "Multipath target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM && EXPERIMENTAL
|
|
---help---
|
|
Allow volume managers to support multipath hardware.
|
|
|
|
config DM_MULTIPATH_EMC
|
|
tristate "EMC CX/AX multipath support (EXPERIMENTAL)"
|
|
depends on DM_MULTIPATH && BLK_DEV_DM && EXPERIMENTAL
|
|
---help---
|
|
Multipath support for EMC CX/AX series hardware.
|
|
|
|
endmenu
|
|
|