diff options
Diffstat (limited to 'drivers/block/drbd/Kconfig')
-rw-r--r-- | drivers/block/drbd/Kconfig | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/drivers/block/drbd/Kconfig b/drivers/block/drbd/Kconfig new file mode 100644 index 000000000000..f4acd04ebeef --- /dev/null +++ b/drivers/block/drbd/Kconfig | |||
@@ -0,0 +1,71 @@ | |||
1 | # | ||
2 | # DRBD device driver configuration | ||
3 | # | ||
4 | |||
5 | comment "DRBD disabled because PROC_FS, INET or CONNECTOR not selected" | ||
6 | depends on !PROC_FS || !INET || !CONNECTOR | ||
7 | |||
8 | config BLK_DEV_DRBD | ||
9 | tristate "DRBD Distributed Replicated Block Device support" | ||
10 | depends on PROC_FS && INET && CONNECTOR | ||
11 | select LRU_CACHE | ||
12 | default n | ||
13 | help | ||
14 | |||
15 | NOTE: In order to authenticate connections you have to select | ||
16 | CRYPTO_HMAC and a hash function as well. | ||
17 | |||
18 | DRBD is a shared-nothing, synchronously replicated block device. It | ||
19 | is designed to serve as a building block for high availability | ||
20 | clusters and in this context, is a "drop-in" replacement for shared | ||
21 | storage. Simplistically, you could see it as a network RAID 1. | ||
22 | |||
23 | Each minor device has a role, which can be 'primary' or 'secondary'. | ||
24 | On the node with the primary device the application is supposed to | ||
25 | run and to access the device (/dev/drbdX). Every write is sent to | ||
26 | the local 'lower level block device' and, across the network, to the | ||
27 | node with the device in 'secondary' state. The secondary device | ||
28 | simply writes the data to its lower level block device. | ||
29 | |||
30 | DRBD can also be used in dual-Primary mode (device writable on both | ||
31 | nodes), which means it can exhibit shared disk semantics in a | ||
32 | shared-nothing cluster. Needless to say, on top of dual-Primary | ||
33 | DRBD utilizing a cluster file system is necessary to maintain for | ||
34 | cache coherency. | ||
35 | |||
36 | For automatic failover you need a cluster manager (e.g. heartbeat). | ||
37 | See also: http://www.drbd.org/, http://www.linux-ha.org | ||
38 | |||
39 | If unsure, say N. | ||
40 | |||
41 | config DRBD_FAULT_INJECTION | ||
42 | bool "DRBD fault injection" | ||
43 | depends on BLK_DEV_DRBD | ||
44 | help | ||
45 | |||
46 | Say Y here if you want to simulate IO errors, in order to test DRBD's | ||
47 | behavior. | ||
48 | |||
49 | The actual simulation of IO errors is done by writing 3 values to | ||
50 | /sys/module/drbd/parameters/ | ||
51 | |||
52 | enable_faults: bitmask of... | ||
53 | 1 meta data write | ||
54 | 2 read | ||
55 | 4 resync data write | ||
56 | 8 read | ||
57 | 16 data write | ||
58 | 32 data read | ||
59 | 64 read ahead | ||
60 | 128 kmalloc of bitmap | ||
61 | 256 allocation of EE (epoch_entries) | ||
62 | |||
63 | fault_devs: bitmask of minor numbers | ||
64 | fault_rate: frequency in percent | ||
65 | |||
66 | Example: Simulate data write errors on /dev/drbd0 with a probability of 5%. | ||
67 | echo 16 > /sys/module/drbd/parameters/enable_faults | ||
68 | echo 1 > /sys/module/drbd/parameters/fault_devs | ||
69 | echo 5 > /sys/module/drbd/parameters/fault_rate | ||
70 | |||
71 | If unsure, say N. | ||