1# 2# DRBD device driver configuration 3# 4 5comment "DRBD disabled because PROC_FS, INET or CONNECTOR not selected" 6 depends on !PROC_FS || !INET || !CONNECTOR 7 8config 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 41config 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 52config 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. 83