Published Distributed Replicated Block Device Release DRBD 9.1.0 , which allows you to implement a semblance of a RAID-1 array formed from several disks from different machines connected over a network (network mirroring). The system is designed as a module for the Linux kernel and is distributed under the GPLv2 license.
The drbd 9.1.0 branch can be used for transparent replacement drbd 9.0.x and is fully compatible at the protocol, configuration file and utility level. The changes are limited to reworking the mechanism for setting locks and are aimed at reducing contention when setting locks in the code responsible for I / O in DRBD. The change allowed us to improve performance in configurations with a large number of CPUs and with NVMe drives, by eliminating a bottleneck that negatively affects performance when a large number of parallel I / O requests are received from different CPU cores. Otherwise, the drbd 9.1.0 branch is similar to 9.0.28 .
Recall that DRBD can be used to combine drives of cluster nodes into a single fault-tolerant storage. For applications and the system, such storage looks like a block device that is the same for all systems. With DRBD, all local disk operations are sent to other nodes and synchronized with disks on other machines. In case of failure of one node, the storage will automatically continue working at the expense of the remaining nodes. When the failing node becomes available again, its state will be automatically brought up to date.
A cluster forming a storage can include several dozen nodes located both in a local network and geographically dispersed in different data centers. Synchronization in such branched storages is performed using mesh-network technologies (data spreads along a chain from node to node). Replication of nodes can be performed both in synchronous mode and asynchronous. For example, locally hosted hosts can use synchronous replication, and asynchronous replication with additional compression and encryption of traffic can be used to move to remote hosted sites.