Kconfig 2.4 KB

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