The Linux kernel is currently undergoing one of the most substantial overhauls of its storage subsystem in recent years, as developers breathe new life into Distributed Replicated Block Device (DRBD)—a technology many had presumed to be relegated to obsolescence.
Christoph Böhmwalder of LINBIT recently submitted the inaugural series of patches to the kernel mailing list, initiating an extensive refactoring of DRBD 9. The objective, while succinctly stated, is formidable in execution: to align the kernel’s native version with contemporary standards. Currently, the Linux kernel persists with DRBD 8—a relic from the 2.6.33 kernel era—leaving the internal codebase lagging approximately fifteen years behind the external module’s evolution.
DRBD functions by amalgamating multiple servers into a unified storage entity. To the user, it presents as a conventional disk, yet beneath the surface, data is synchronously replicated across nodes. Upon a write operation, information is instantaneously dispatched to secondary machines, ensuring operational continuity should a primary server fail. Once a dormant node is reinstated, its contents are automatically synchronized to maintain parity.
The forthcoming iteration introduces a paradigm shift in architecture. Superseding the antiquated point-to-point scheme is a robust multi-node clustering framework. A single cluster may now encompass up to 32 nodes, spanning local networks or disparate data centers. Data is transmitted via a resilient daisy-chain topology, effectively eliminating single points of failure.
The networking stack has likewise undergone rigorous optimization. In addition to standard TCP, the update introduces support for RDMA and InfiniBand, facilitating direct memory access between remote machines. This enhancement is projected to potentially double replication speeds while simultaneously halving CPU overhead.
Internal logic has been similarly refined; developers have overhauled request handling, state management, and activity logs, while introducing support for non-volatile memory to accelerate metadata processing. Furthermore, a more versatile synchronization model has emerged, featuring two-phase commit protocols and non-blocking data updates.
However, this transition temporarily disrupts compatibility with existing userspace utilities. Legacy tools will find themselves incompatible with the updated driver—a hurdle developers intend to surmount through a novel communication interface and a compatibility layer for ancestral versions. As the project remains a work in progress, the series of patches will be iteratively refined during successive merge windows. The enhancements are slated first for the linux-next testing branch, with the ultimate goal of integration into the mainline kernel, likely targeted for a forthcoming 7.x release.