1*1da177e4SLinus Torvalds# 2*1da177e4SLinus Torvalds# Block device driver configuration 3*1da177e4SLinus Torvalds# 4*1da177e4SLinus Torvalds 5*1da177e4SLinus Torvaldsmenu "Multi-device support (RAID and LVM)" 6*1da177e4SLinus Torvalds 7*1da177e4SLinus Torvaldsconfig MD 8*1da177e4SLinus Torvalds bool "Multiple devices driver support (RAID and LVM)" 9*1da177e4SLinus Torvalds help 10*1da177e4SLinus Torvalds Support multiple physical spindles through a single logical device. 11*1da177e4SLinus Torvalds Required for RAID and logical volume management. 12*1da177e4SLinus Torvalds 13*1da177e4SLinus Torvaldsconfig BLK_DEV_MD 14*1da177e4SLinus Torvalds tristate "RAID support" 15*1da177e4SLinus Torvalds depends on MD 16*1da177e4SLinus Torvalds ---help--- 17*1da177e4SLinus Torvalds This driver lets you combine several hard disk partitions into one 18*1da177e4SLinus Torvalds logical block device. This can be used to simply append one 19*1da177e4SLinus Torvalds partition to another one or to combine several redundant hard disks 20*1da177e4SLinus Torvalds into a RAID1/4/5 device so as to provide protection against hard 21*1da177e4SLinus Torvalds disk failures. This is called "Software RAID" since the combining of 22*1da177e4SLinus Torvalds the partitions is done by the kernel. "Hardware RAID" means that the 23*1da177e4SLinus Torvalds combining is done by a dedicated controller; if you have such a 24*1da177e4SLinus Torvalds controller, you do not need to say Y here. 25*1da177e4SLinus Torvalds 26*1da177e4SLinus Torvalds More information about Software RAID on Linux is contained in the 27*1da177e4SLinus Torvalds Software RAID mini-HOWTO, available from 28*1da177e4SLinus Torvalds <http://www.tldp.org/docs.html#howto>. There you will also learn 29*1da177e4SLinus Torvalds where to get the supporting user space utilities raidtools. 30*1da177e4SLinus Torvalds 31*1da177e4SLinus Torvalds If unsure, say N. 32*1da177e4SLinus Torvalds 33*1da177e4SLinus Torvaldsconfig MD_LINEAR 34*1da177e4SLinus Torvalds tristate "Linear (append) mode" 35*1da177e4SLinus Torvalds depends on BLK_DEV_MD 36*1da177e4SLinus Torvalds ---help--- 37*1da177e4SLinus Torvalds If you say Y here, then your multiple devices driver will be able to 38*1da177e4SLinus Torvalds use the so-called linear mode, i.e. it will combine the hard disk 39*1da177e4SLinus Torvalds partitions by simply appending one to the other. 40*1da177e4SLinus Torvalds 41*1da177e4SLinus Torvalds To compile this as a module, choose M here: the module 42*1da177e4SLinus Torvalds will be called linear. 43*1da177e4SLinus Torvalds 44*1da177e4SLinus Torvalds If unsure, say Y. 45*1da177e4SLinus Torvalds 46*1da177e4SLinus Torvaldsconfig MD_RAID0 47*1da177e4SLinus Torvalds tristate "RAID-0 (striping) mode" 48*1da177e4SLinus Torvalds depends on BLK_DEV_MD 49*1da177e4SLinus Torvalds ---help--- 50*1da177e4SLinus Torvalds If you say Y here, then your multiple devices driver will be able to 51*1da177e4SLinus Torvalds use the so-called raid0 mode, i.e. it will combine the hard disk 52*1da177e4SLinus Torvalds partitions into one logical device in such a fashion as to fill them 53*1da177e4SLinus Torvalds up evenly, one chunk here and one chunk there. This will increase 54*1da177e4SLinus Torvalds the throughput rate if the partitions reside on distinct disks. 55*1da177e4SLinus Torvalds 56*1da177e4SLinus Torvalds Information about Software RAID on Linux is contained in the 57*1da177e4SLinus Torvalds Software-RAID mini-HOWTO, available from 58*1da177e4SLinus Torvalds <http://www.tldp.org/docs.html#howto>. There you will also 59*1da177e4SLinus Torvalds learn where to get the supporting user space utilities raidtools. 60*1da177e4SLinus Torvalds 61*1da177e4SLinus Torvalds To compile this as a module, choose M here: the module 62*1da177e4SLinus Torvalds will be called raid0. 63*1da177e4SLinus Torvalds 64*1da177e4SLinus Torvalds If unsure, say Y. 65*1da177e4SLinus Torvalds 66*1da177e4SLinus Torvaldsconfig MD_RAID1 67*1da177e4SLinus Torvalds tristate "RAID-1 (mirroring) mode" 68*1da177e4SLinus Torvalds depends on BLK_DEV_MD 69*1da177e4SLinus Torvalds ---help--- 70*1da177e4SLinus Torvalds A RAID-1 set consists of several disk drives which are exact copies 71*1da177e4SLinus Torvalds of each other. In the event of a mirror failure, the RAID driver 72*1da177e4SLinus Torvalds will continue to use the operational mirrors in the set, providing 73*1da177e4SLinus Torvalds an error free MD (multiple device) to the higher levels of the 74*1da177e4SLinus Torvalds kernel. In a set with N drives, the available space is the capacity 75*1da177e4SLinus Torvalds of a single drive, and the set protects against a failure of (N - 1) 76*1da177e4SLinus Torvalds drives. 77*1da177e4SLinus Torvalds 78*1da177e4SLinus Torvalds Information about Software RAID on Linux is contained in the 79*1da177e4SLinus Torvalds Software-RAID mini-HOWTO, available from 80*1da177e4SLinus Torvalds <http://www.tldp.org/docs.html#howto>. There you will also 81*1da177e4SLinus Torvalds learn where to get the supporting user space utilities raidtools. 82*1da177e4SLinus Torvalds 83*1da177e4SLinus Torvalds If you want to use such a RAID-1 set, say Y. To compile this code 84*1da177e4SLinus Torvalds as a module, choose M here: the module will be called raid1. 85*1da177e4SLinus Torvalds 86*1da177e4SLinus Torvalds If unsure, say Y. 87*1da177e4SLinus Torvalds 88*1da177e4SLinus Torvaldsconfig MD_RAID10 89*1da177e4SLinus Torvalds tristate "RAID-10 (mirrored striping) mode (EXPERIMENTAL)" 90*1da177e4SLinus Torvalds depends on BLK_DEV_MD && EXPERIMENTAL 91*1da177e4SLinus Torvalds ---help--- 92*1da177e4SLinus Torvalds RAID-10 provides a combination of striping (RAID-0) and 93*1da177e4SLinus Torvalds mirroring (RAID-1) with easier configuration and more flexable 94*1da177e4SLinus Torvalds layout. 95*1da177e4SLinus Torvalds Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to 96*1da177e4SLinus Torvalds be the same size (or at least, only as much as the smallest device 97*1da177e4SLinus Torvalds will be used). 98*1da177e4SLinus Torvalds RAID-10 provides a variety of layouts that provide different levels 99*1da177e4SLinus Torvalds of redundancy and performance. 100*1da177e4SLinus Torvalds 101*1da177e4SLinus Torvalds RAID-10 requires mdadm-1.7.0 or later, available at: 102*1da177e4SLinus Torvalds 103*1da177e4SLinus Torvalds ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/ 104*1da177e4SLinus Torvalds 105*1da177e4SLinus Torvalds If unsure, say Y. 106*1da177e4SLinus Torvalds 107*1da177e4SLinus Torvaldsconfig MD_RAID5 108*1da177e4SLinus Torvalds tristate "RAID-4/RAID-5 mode" 109*1da177e4SLinus Torvalds depends on BLK_DEV_MD 110*1da177e4SLinus Torvalds ---help--- 111*1da177e4SLinus Torvalds A RAID-5 set of N drives with a capacity of C MB per drive provides 112*1da177e4SLinus Torvalds the capacity of C * (N - 1) MB, and protects against a failure 113*1da177e4SLinus Torvalds of a single drive. For a given sector (row) number, (N - 1) drives 114*1da177e4SLinus Torvalds contain data sectors, and one drive contains the parity protection. 115*1da177e4SLinus Torvalds For a RAID-4 set, the parity blocks are present on a single drive, 116*1da177e4SLinus Torvalds while a RAID-5 set distributes the parity across the drives in one 117*1da177e4SLinus Torvalds of the available parity distribution methods. 118*1da177e4SLinus Torvalds 119*1da177e4SLinus Torvalds Information about Software RAID on Linux is contained in the 120*1da177e4SLinus Torvalds Software-RAID mini-HOWTO, available from 121*1da177e4SLinus Torvalds <http://www.tldp.org/docs.html#howto>. There you will also 122*1da177e4SLinus Torvalds learn where to get the supporting user space utilities raidtools. 123*1da177e4SLinus Torvalds 124*1da177e4SLinus Torvalds If you want to use such a RAID-4/RAID-5 set, say Y. To 125*1da177e4SLinus Torvalds compile this code as a module, choose M here: the module 126*1da177e4SLinus Torvalds will be called raid5. 127*1da177e4SLinus Torvalds 128*1da177e4SLinus Torvalds If unsure, say Y. 129*1da177e4SLinus Torvalds 130*1da177e4SLinus Torvaldsconfig MD_RAID6 131*1da177e4SLinus Torvalds tristate "RAID-6 mode" 132*1da177e4SLinus Torvalds depends on BLK_DEV_MD 133*1da177e4SLinus Torvalds ---help--- 134*1da177e4SLinus Torvalds A RAID-6 set of N drives with a capacity of C MB per drive 135*1da177e4SLinus Torvalds provides the capacity of C * (N - 2) MB, and protects 136*1da177e4SLinus Torvalds against a failure of any two drives. For a given sector 137*1da177e4SLinus Torvalds (row) number, (N - 2) drives contain data sectors, and two 138*1da177e4SLinus Torvalds drives contains two independent redundancy syndromes. Like 139*1da177e4SLinus Torvalds RAID-5, RAID-6 distributes the syndromes across the drives 140*1da177e4SLinus Torvalds in one of the available parity distribution methods. 141*1da177e4SLinus Torvalds 142*1da177e4SLinus Torvalds RAID-6 requires mdadm-1.5.0 or later, available at: 143*1da177e4SLinus Torvalds 144*1da177e4SLinus Torvalds ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/ 145*1da177e4SLinus Torvalds 146*1da177e4SLinus Torvalds If you want to use such a RAID-6 set, say Y. To compile 147*1da177e4SLinus Torvalds this code as a module, choose M here: the module will be 148*1da177e4SLinus Torvalds called raid6. 149*1da177e4SLinus Torvalds 150*1da177e4SLinus Torvalds If unsure, say Y. 151*1da177e4SLinus Torvalds 152*1da177e4SLinus Torvaldsconfig MD_MULTIPATH 153*1da177e4SLinus Torvalds tristate "Multipath I/O support" 154*1da177e4SLinus Torvalds depends on BLK_DEV_MD 155*1da177e4SLinus Torvalds help 156*1da177e4SLinus Torvalds Multipath-IO is the ability of certain devices to address the same 157*1da177e4SLinus Torvalds physical disk over multiple 'IO paths'. The code ensures that such 158*1da177e4SLinus Torvalds paths can be defined and handled at runtime, and ensures that a 159*1da177e4SLinus Torvalds transparent failover to the backup path(s) happens if a IO errors 160*1da177e4SLinus Torvalds arrives on the primary path. 161*1da177e4SLinus Torvalds 162*1da177e4SLinus Torvalds If unsure, say N. 163*1da177e4SLinus Torvalds 164*1da177e4SLinus Torvaldsconfig MD_FAULTY 165*1da177e4SLinus Torvalds tristate "Faulty test module for MD" 166*1da177e4SLinus Torvalds depends on BLK_DEV_MD 167*1da177e4SLinus Torvalds help 168*1da177e4SLinus Torvalds The "faulty" module allows for a block device that occasionally returns 169*1da177e4SLinus Torvalds read or write errors. It is useful for testing. 170*1da177e4SLinus Torvalds 171*1da177e4SLinus Torvalds In unsure, say N. 172*1da177e4SLinus Torvalds 173*1da177e4SLinus Torvaldsconfig BLK_DEV_DM 174*1da177e4SLinus Torvalds tristate "Device mapper support" 175*1da177e4SLinus Torvalds depends on MD 176*1da177e4SLinus Torvalds ---help--- 177*1da177e4SLinus Torvalds Device-mapper is a low level volume manager. It works by allowing 178*1da177e4SLinus Torvalds people to specify mappings for ranges of logical sectors. Various 179*1da177e4SLinus Torvalds mapping types are available, in addition people may write their own 180*1da177e4SLinus Torvalds modules containing custom mappings if they wish. 181*1da177e4SLinus Torvalds 182*1da177e4SLinus Torvalds Higher level volume managers such as LVM2 use this driver. 183*1da177e4SLinus Torvalds 184*1da177e4SLinus Torvalds To compile this as a module, choose M here: the module will be 185*1da177e4SLinus Torvalds called dm-mod. 186*1da177e4SLinus Torvalds 187*1da177e4SLinus Torvalds If unsure, say N. 188*1da177e4SLinus Torvalds 189*1da177e4SLinus Torvaldsconfig DM_CRYPT 190*1da177e4SLinus Torvalds tristate "Crypt target support" 191*1da177e4SLinus Torvalds depends on BLK_DEV_DM && EXPERIMENTAL 192*1da177e4SLinus Torvalds select CRYPTO 193*1da177e4SLinus Torvalds ---help--- 194*1da177e4SLinus Torvalds This device-mapper target allows you to create a device that 195*1da177e4SLinus Torvalds transparently encrypts the data on it. You'll need to activate 196*1da177e4SLinus Torvalds the ciphers you're going to use in the cryptoapi configuration. 197*1da177e4SLinus Torvalds 198*1da177e4SLinus Torvalds Information on how to use dm-crypt can be found on 199*1da177e4SLinus Torvalds 200*1da177e4SLinus Torvalds <http://www.saout.de/misc/dm-crypt/> 201*1da177e4SLinus Torvalds 202*1da177e4SLinus Torvalds To compile this code as a module, choose M here: the module will 203*1da177e4SLinus Torvalds be called dm-crypt. 204*1da177e4SLinus Torvalds 205*1da177e4SLinus Torvalds If unsure, say N. 206*1da177e4SLinus Torvalds 207*1da177e4SLinus Torvaldsconfig DM_SNAPSHOT 208*1da177e4SLinus Torvalds tristate "Snapshot target (EXPERIMENTAL)" 209*1da177e4SLinus Torvalds depends on BLK_DEV_DM && EXPERIMENTAL 210*1da177e4SLinus Torvalds ---help--- 211*1da177e4SLinus Torvalds Allow volume managers to take writeable snapshots of a device. 212*1da177e4SLinus Torvalds 213*1da177e4SLinus Torvaldsconfig DM_MIRROR 214*1da177e4SLinus Torvalds tristate "Mirror target (EXPERIMENTAL)" 215*1da177e4SLinus Torvalds depends on BLK_DEV_DM && EXPERIMENTAL 216*1da177e4SLinus Torvalds ---help--- 217*1da177e4SLinus Torvalds Allow volume managers to mirror logical volumes, also 218*1da177e4SLinus Torvalds needed for live data migration tools such as 'pvmove'. 219*1da177e4SLinus Torvalds 220*1da177e4SLinus Torvaldsconfig DM_ZERO 221*1da177e4SLinus Torvalds tristate "Zero target (EXPERIMENTAL)" 222*1da177e4SLinus Torvalds depends on BLK_DEV_DM && EXPERIMENTAL 223*1da177e4SLinus Torvalds ---help--- 224*1da177e4SLinus Torvalds A target that discards writes, and returns all zeroes for 225*1da177e4SLinus Torvalds reads. Useful in some recovery situations. 226*1da177e4SLinus Torvalds 227*1da177e4SLinus Torvaldsconfig DM_MULTIPATH 228*1da177e4SLinus Torvalds tristate "Multipath target (EXPERIMENTAL)" 229*1da177e4SLinus Torvalds depends on BLK_DEV_DM && EXPERIMENTAL 230*1da177e4SLinus Torvalds ---help--- 231*1da177e4SLinus Torvalds Allow volume managers to support multipath hardware. 232*1da177e4SLinus Torvalds 233*1da177e4SLinus Torvaldsconfig DM_MULTIPATH_EMC 234*1da177e4SLinus Torvalds tristate "EMC CX/AX multipath support (EXPERIMENTAL)" 235*1da177e4SLinus Torvalds depends on DM_MULTIPATH && BLK_DEV_DM && EXPERIMENTAL 236*1da177e4SLinus Torvalds ---help--- 237*1da177e4SLinus Torvalds Multipath support for EMC CX/AX series hardware. 238*1da177e4SLinus Torvalds 239*1da177e4SLinus Torvaldsendmenu 240*1da177e4SLinus Torvalds 241