diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2009-09-25 19:07:19 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-10-01 15:17:49 -0400 |
commit | b411b3637fa71fce9cf2acf0639009500f5892fe (patch) | |
tree | 6b88e5202e0f137fef50e95b0441bcafdbf91990 /drivers/block/drbd/Kconfig | |
parent | 1a35e0f6443f4266dad4c569c55c57a9032596fa (diff) |
The DRBD driver
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/Kconfig')
-rw-r--r-- | drivers/block/drbd/Kconfig | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/drivers/block/drbd/Kconfig b/drivers/block/drbd/Kconfig new file mode 100644 index 000000000000..4e6f90f487c2 --- /dev/null +++ b/drivers/block/drbd/Kconfig | |||
@@ -0,0 +1,82 @@ | |||
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_TRACE | ||
42 | tristate "DRBD tracing" | ||
43 | depends on BLK_DEV_DRBD | ||
44 | select TRACEPOINTS | ||
45 | default n | ||
46 | help | ||
47 | |||
48 | Say Y here if you want to be able to trace various events in DRBD. | ||
49 | |||
50 | If unsure, say N. | ||
51 | |||
52 | config DRBD_FAULT_INJECTION | ||
53 | bool "DRBD fault injection" | ||
54 | depends on BLK_DEV_DRBD | ||
55 | help | ||
56 | |||
57 | Say Y here if you want to simulate IO errors, in order to test DRBD's | ||
58 | behavior. | ||
59 | |||
60 | The actual simulation of IO errors is done by writing 3 values to | ||
61 | /sys/module/drbd/parameters/ | ||
62 | |||
63 | enable_faults: bitmask of... | ||
64 | 1 meta data write | ||
65 | 2 read | ||
66 | 4 resync data write | ||
67 | 8 read | ||
68 | 16 data write | ||
69 | 32 data read | ||
70 | 64 read ahead | ||
71 | 128 kmalloc of bitmap | ||
72 | 256 allocation of EE (epoch_entries) | ||
73 | |||
74 | fault_devs: bitmask of minor numbers | ||
75 | fault_rate: frequency in percent | ||
76 | |||
77 | Example: Simulate data write errors on /dev/drbd0 with a probability of 5%. | ||
78 | echo 16 > /sys/module/drbd/parameters/enable_faults | ||
79 | echo 1 > /sys/module/drbd/parameters/fault_devs | ||
80 | echo 5 > /sys/module/drbd/parameters/fault_rate | ||
81 | |||
82 | If unsure, say N. | ||