The Linux kernel is proposed to include a distributed replicated block device (DRBD 9).

A set of patches has been released for the Linux kernel implementing the DRBD 9 distributed replicated block device, which allows for the creation of a RAID-1 array using network-mirrored drives connected to different systems. The driver will initially be tested in the linux-next branch and finalized for integration into the Linux 7.2 kernel.

The old DRBD implementation has been included in the kernel since version 2.6.33, released 16 years ago. The kernel code is based on the DRBD 8 branch, which differs significantly from the DRBD 9 branch, released in 2015 and is incompatible at the protocol level. As a result, DRBD 9 developed as a separate external module, out of sync with the core kernel module. The kernel's DRBD implementation was maintained separately and lags behind the current DRBD codebase by 10-15 years. The proposed patches are designed to bridge this gap.

DRBD makes it possible to combine the 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. When using DRBD, all local disk operations are sent to other nodes and synchronized with the disks of other machines. In case of failure of one node, the storage will automatically continue to work at the expense of the remaining nodes. When the availability of a failed node is restored, its state will be automatically brought up to date.

The cluster that forms the storage can include up to 32 nodes located both in the local network and in geographically dispersed locations. data centersSynchronization in such distributed storage systems is performed in a mesh network—data flows from node to node. Node replication can be performed either synchronously or asynchronously. For example, locally hosted nodes can use synchronous replication, while nodes at remote sites can use asynchronous replication with additional traffic compression and encryption.

DRBD 9 features transport layer abstraction, enabling communication channels to be implemented not only over TCP/IP but also using RDMA/Infiniband. Compared to running over a traditional IP network, integrating direct access to the RAM of another computer using RDMA (Remote Direct Memory Access) doubles replication performance while reducing CPU load by 50%. The maximum synchronized storage size has been increased to 32 nodes. DRBD 9 also features modified node resynchronization logic, a redesigned locking mechanism, added support for network namespaces, automatic node status adjustment based on activity, and support for two-phase commits and non-blocking update propagation. The Linux kernel is proposed to include a distributed replicated block device (DRBD 9).

Source: opennet.ru

Add a comment