Difference between revisions of "linux kernel configuration for software raid"
(4 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | == Versions == | ||
− | + | Kernel 3.10.17 was reference in the writing of this guide. | |
== Check for support == | == Check for support == | ||
Line 9: | Line 10: | ||
# zcat /proc/config.gz |grep CONFIG_BLK_DEV_MD | # zcat /proc/config.gz |grep CONFIG_BLK_DEV_MD | ||
CONFIG_BLK_DEV_MD=y | CONFIG_BLK_DEV_MD=y | ||
+ | |||
+ | The above option is required for any / all software raid | ||
And | And | ||
Line 17: | Line 20: | ||
CONFIG_MD_RAID456=y | CONFIG_MD_RAID456=y | ||
+ | All or one of the above required. | ||
+ | |||
+ | if you see something like... | ||
+ | # CONFIG_BLK_DEV_MD is not set | ||
+ | for an option you need, then you need to reconfigure your kernel and enable it. | ||
== menuconfig / kconfig info == | == menuconfig / kconfig info == | ||
− | We assume you know how to configure your kernel. This section details the menuconfig options. For | + | We assume you know how to configure your kernel. This section details the specific,minimum menuconfig options for basic software raid functionality. Refernce you distro's documentation for kernel configuration if needed. For general info on configuring linux kernels, archlinux has a good guide here... |
[https://wiki.archlinux.org/index.php/Kernels/Compilation/Traditional Kernels/Compilation/Traditional] | [https://wiki.archlinux.org/index.php/Kernels/Compilation/Traditional Kernels/Compilation/Traditional] | ||
Line 40: | Line 48: | ||
+ | == at least of of the following required == | ||
+ | |||
+ | Enable all or one of the options below depending on what kind of raid you plan to do. | ||
Symbol: MD_RAID1 [=y] | Symbol: MD_RAID1 [=y] | ||
Line 51: | Line 62: | ||
Depends on: MD [=y] && BLK_DEV_MD [=y] | Depends on: MD [=y] && BLK_DEV_MD [=y] | ||
Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m] | Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m] | ||
− | + | ||
− | + | ||
Symbol: MD_RAID0 [=y] | Symbol: MD_RAID0 [=y] | ||
Type : tristate | Type : tristate | ||
Line 61: | Line 71: | ||
(3) -> RAID support (BLK_DEV_MD [=y]) | (3) -> RAID support (BLK_DEV_MD [=y]) | ||
Defined at drivers/md/Kconfig:60 | Defined at drivers/md/Kconfig:60 | ||
− | Depends on: MD [=y] && BLK_DEV_MD [=y] | + | Depends on: MD [=y] && BLK_DEV_MD [=y] |
− | + | ||
Symbol: MD_RAID456 [=y] | Symbol: MD_RAID456 [=y] |
Latest revision as of 17:25, 30 March 2014
Contents |
Versions
Kernel 3.10.17 was reference in the writing of this guide.
Check for support
If your system has RAID support, you should have a file called /proc/mdstat. If you do not have that file, maybe your kernel does not have RAID support.
Also, gentoo & archlinux users can run...
# zcat /proc/config.gz |grep CONFIG_BLK_DEV_MD CONFIG_BLK_DEV_MD=y
The above option is required for any / all software raid
And
# zcat /proc/config.gz |grep MD_RAID CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y CONFIG_MD_RAID10=y CONFIG_MD_RAID456=y
All or one of the above required.
if you see something like...
# CONFIG_BLK_DEV_MD is not set
for an option you need, then you need to reconfigure your kernel and enable it.
We assume you know how to configure your kernel. This section details the specific,minimum menuconfig options for basic software raid functionality. Refernce you distro's documentation for kernel configuration if needed. For general info on configuring linux kernels, archlinux has a good guide here... Kernels/Compilation/Traditional
Multiple devices driver support (required)
Symbol: BLK_DEV_MD [=y] Type : tristate Prompt: RAID support Location: -> Device Drivers (1) -> Multiple devices driver support (RAID and LVM) (MD [=y]) Defined at drivers/md/Kconfig:14 Depends on: MD [=y] Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m]
Help text:
Support multiple physical spindles through a single logical device. Required for RAID and logical volume management.
at least of of the following required
Enable all or one of the options below depending on what kind of raid you plan to do.
Symbol: MD_RAID1 [=y] Type : tristate Prompt: RAID-1 (mirroring) mode Location: -> Device Drivers -> Multiple devices driver support (RAID and LVM) (MD [=y]) (2) -> RAID support (BLK_DEV_MD [=y]) Defined at drivers/md/Kconfig:80 Depends on: MD [=y] && BLK_DEV_MD [=y] Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m]
Symbol: MD_RAID0 [=y] Type : tristate Prompt: RAID-0 (striping) mode Location: -> Device Drivers -> Multiple devices driver support (RAID and LVM) (MD [=y]) (3) -> RAID support (BLK_DEV_MD [=y]) Defined at drivers/md/Kconfig:60 Depends on: MD [=y] && BLK_DEV_MD [=y]
Symbol: MD_RAID456 [=y] Type : tristate Prompt: RAID-4/RAID-5/RAID-6 mode Location: -> Device Drivers -> Multiple devices driver support (RAID and LVM) (MD [=y]) -> RAID support (BLK_DEV_MD [=y]) Defined at drivers/md/Kconfig:121 Depends on: MD [=y] && BLK_DEV_MD [=y] Selects: RAID6_PQ [=y] && ASYNC_MEMCPY [=y] && ASYNC_XOR [=y] && ASYNC_PQ [=y] && ASYNC_RAID6_RECOV [=y] Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m]
Symbol: MD_RAID10 [=y] Type : tristate Prompt: RAID-10 (mirrored striping) mode Location: -> Device Drivers -> Multiple devices driver support (RAID and LVM) (MD [=y]) (4) -> RAID support (BLK_DEV_MD [=y]) Defined at drivers/md/Kconfig:102 Depends on: MD [=y] && BLK_DEV_MD [=y] Selected by: DM_RAID [=m] && MD [=y] && BLK_DEV_DM [=m]
Links
this guide is recommended by the linux kernel help... [Software RAID HOWTO]