Working to Put DRBD 9 in the Mainline Linux Kernel

The LINBIT® team has been busy for more than a year on development work that could put DRBD® 9 in the mainline Linux kernel, possibly as soon as the Linux 7.2 release sometime in September or October 2026. The current version of the DRBD kernel module in the mainline Linux kernel is 8.4.11.

While the work to put DRBD 9 into the upstream Linux kernel is not top secret, admittedly the LINBIT team did not promote its efforts widely in the early or even mid-stages. Now that a Phoronix article has scooped LINBIT on the story, it seems necessary to talk more about this development work and what it means to DRBD and Linux users.

In-tree DRBD version development stagnates

The need for this work comes from the in-tree (DRBD 8) and out-of-tree (DRBD 9) versions diverging. LINBIT worked to develop its out-of-tree, latest version of DRBD at a faster pace than its in-tree development work. The reasons were largely commercial. Most LINBIT customers use DRBD 9 for its feature benefits and advantages over DRBD 8, so that is the version that LINBIT focuses development resources on. Over the years, this divergence became stagnation and the DRBD in-tree version got to a point where it was only receiving critical bug fixes. When asked about this, LINBIT developer Christoph Böhmwalder, who leads LINBIT efforts to bring DRBD 9 to the mainline Linux kernel, was direct in saying the work is “important and long overdue.”

Indeed, the passing of time has only compounded the divergence between the in-tree and out-of-tree DRBD versions. To summarize the significant scope of work involved in replacing the current DRBD 8.4.11 version in the Linux kernel with a 9.3 version, LINBIT CEO and DRBD creator, Philipp Reisner said in an Insights from Phil newsletter:

The most recent release was 8.4.11, eight years ago. However, the development of [DRBD 9] started in October 2011. It was like a rewrite, in place. Over the course of the journey, we had to touch on every line of code to introduce the concept that a cluster can have multiple peers.

Differences between DRBD 8 and DRBD 9

A major difference between the two DRBD versions is that the older 8.4 version was intended for 2-node failover clusters. DRBD 9 supports failover clusters up to 31 peers for each DRBD-replicated volume. While this makes possible some extreme high availability (HA), most HA clusters will use three to five nodes.

DRBD 9 also includes the concept of quorum that works in clusters of three or more nodes. This DRBD quorum feature helps prevent data divergence, so-called split-brain scenarios, when nodes unexpectedly leave the cluster, for example, due to a node-level failure. Other nodes that have maintained quorum will essentially mark the failed node as unable to promote to a primary role when it returns to the cluster, until after it has synchronized with a known good data set from peers holding quorum.

Without DRBD quorum, 2-node DRBD cluster administrators need to resort to using fencing or STONITH solutions to avoid data divergence, and manual intervention is needed upon a failed node returning to the cluster.

You can read more about this and other DRBD 9 features in the DRBD 9 User Guide.

The benefits of the work to upstream DRBD 9

When the merge review dust settles and the hoped-for acceptance of DRBD 9 into the mainline Linux kernel happens, it will be a positive event for existing DRBD 8.4 and DRBD 9 users.

The vast majority of DRBD users who are not LINBIT customers are still on DRBD 8, because that is what the Linux kernel includes. When DRBD 9 merges into the mainline kernel, existing DRBD 8 users who upgrade will get the well-maintained latest DRBD 9, with all its feature and performance benefits.

Improving the DRBD code through independent review

Already, through the merge review, LINBIT developers are hardening the DRBD 9 code. The merge review process means DRBD 9 gets put through independent analysis from Linux power users (kernel maintainers), is tested on exotic CPU architectures, and run through different continuous integration (CI) bot tests outside of the LINBIT development team’s own testing.

Reducing the DRBD code maintenance burden

Although it might not be as visible as a new feature in the software, the process of bringing DRBD 9 to the mainline Linux kernel will “reduce the maintenance burden for [the DRBD] out-of-tree code base,” says Böhmwalder. For example, the LINBIT team currently has to manually backport every change that happens upstream to keep compatibility with new kernel releases. This needs to continue at a minimum, for LINBIT customers still on older kernels. However, says Böhmwalder:

It’s so much easier if you already closely track upstream development. This is because the divergence between in-tree and out-of-tree is minimal, so you don’t need to adapt the patches much and can pretty much just carry the upstream patches 1:1 to out-of-tree.

This is a behind-the-scenes benefit that will be good for all DRBD users.

Taking an upstream-first approach

Lessons learned during the merge review and DRBD code revision process will likely continue to bring benefits to DRBD users, even after a mainline kernel merge event. The DRBD development team will almost certainly adopt an “upstream-first” development workflow, speculates Böhmwalder. “That means that the primary development target will be the upstream kernel, with patches eventually trickling down to the out-of-tree code (and thus, [LINBIT] customers),” says Böhmwalder. “Things like specific fixes for a bug that a customer is hitting will obviously bypass that. So the customer gets the fix first, then it goes into the actual DRBD code base.”

Preparing to upgrade from DRBD 8 to DRBD 9

If you are currently administering an HA cluster running DRBD 8.4 from the mainline Linux kernel, you can learn more about how to upgrade to DRBD 9 by reading Upgrading DRBD from 8.4 to 9.x in the DRBD 9 User Guide. While the process has many steps, it is straightforward and many systems administrators have done it already. If you think you might need help or have questions about the process, specific to your own production or enterprise environment, you can contact the LINBIT team to learn about support options.

You can expect to read and hear more from the LINBIT team about its progress to put DRBD 9 into the upstream Linux kernel in the coming months.

Picture of Michael Troutman

Michael Troutman

Michael Troutman has an extensive background working in systems administration, networking, and technical support, and has worked with Linux since the early 2000s. Michael's interest in writing goes back to an avid reading filled childhood. Somewhere he still has the rejection letter from a publisher for a choose-your-own-adventure style novella, set in the world of a then popular science fiction role-playing game, cowritten with his grandmother (a romance novelist and travel writer) when at the tender age of 10. In the spirit of the open source community in which LINBIT thrives, Michael works as a Documentation Specialist to help LINBIT document its software and its many uses so that it may be widely understood and used.

Talk to us

LINBIT is committed to protecting and respecting your privacy, and we’ll only use your personal information to administer your account and to provide the products and services you requested from us. From time to time, we would like to contact you about our products and services, as well as other content that may be of interest to you. If you consent to us contacting you for this purpose, please tick above to say how you would like us to contact you.

You can unsubscribe from these communications at any time. For more information on how to unsubscribe, our privacy practices, and how we are committed to protecting and respecting your privacy, please review our Privacy Policy.

By clicking submit below, you consent to allow LINBIT to store and process the personal information submitted above to provide you the content requested.

Talk to us

LINBIT is committed to protecting and respecting your privacy, and we’ll only use your personal information to administer your account and to provide the products and services you requested from us. From time to time, we would like to contact you about our products and services, as well as other content that may be of interest to you. If you consent to us contacting you for this purpose, please tick above to say how you would like us to contact you.

You can unsubscribe from these communications at any time. For more information on how to unsubscribe, our privacy practices, and how we are committed to protecting and respecting your privacy, please review our Privacy Policy.

By clicking submit below, you consent to allow LINBIT to store and process the personal information submitted above to provide you the content requested.