[DRBD-user] drbd-9.2.0-rc.1, drbd-9.1.5-rc.1, drbd-9.0.32-0rc1

Philipp Reisner philipp.reisner at linbit.com
Mon Dec 6 23:04:30 CET 2021


Hello,

Nikolaus/Saint Nicholas brings you the first triple release of DRBD.

For 9.0 we got a dividend from the WinDRBD effort. There was an
access-after-free bug hiding in the code, that is no issue when DRBD is
running in the Linux kernel since the Linux kernel does not un-map the
addresses after freeing objects from a mem-pool. With WinDRBD this is
different, after analyzing the bug, we fixed it in the Linux DRBD of course
(which is the upstream for WinDRBD). As announced earlier this Year the
9.0.32 release will be the final release of the 9.0 branch.

DRBD-9.1 gets the bug fixes from the 9.0 branch, and a locking regression
was fixed, specific to the 9.1 branch. From now on 9.1 is the branch that
receives bug fixes only.

In DRBD-9.2 we merged 3 exciting changes:

 * Ack processing in TCP/RDMA softirq context. This reduces the latency of
   mirrored write requests. The faster your NVMe-SSD is, the higher is the
   effect of reducing IO latency by removing two invocations of the Linux
   process scheduler. In a quick test I got these improvements:
     17µs for 4kiB block writes (455.93µs -> 439.28µs)
     239µs for 64kiB block writes (1813.66µs -> 1579.62µs)

 * Reducing the granularity of lockout between application IO and resync
   IO. Before this change, any 128MB chunk of a DRBD device could only do
   either application IO or resync IO. This was completely removed, now the
   lockout between those two is exactly as big as the IO requests are. This
   is an important improvement for intense workloads on fast (NVMe) drives,
   making resync and critical database IO coexist nicely and letting both
   make fair progress.

 * Add the RDMA-transport code. It is a transport implementation for RDMA -
   InfiniBand - RoCE - iWarp networks (the RDMA/verbs API). It supports load
   balancing between multiple paths and fault tolerance for the DRBD
   connection.
   ATTENTION: The rdma-transport is "tech preview" at the moment.

Ohh, and drbd-9.2 is completely drop-in compatible with 9.1.

Apart from all those features, I want to point out that our continuous
integration reached unprecedented coverage. It runs 64 tests on each and
every commit, and it is what makes these massive changes, the ack processing
in softirq context and the better coordination between resync and
application IO, possible. One of the next steps: We need to enable automatic
testing of the rdma-transport in the CI system.

Please help test these release candidates.

When everything goes according to the plan, the final releases will come out
next week.

https://pkg.linbit.com/downloads/drbd/9.0/drbd-9.0.32-0rc1.tar.gz
https://pkg.linbit.com/downloads/drbd/9/drbd-9.1.5-rc.1.tar.gz
https://pkg.linbit.com/downloads/drbd/9/drbd-9.2.0-rc.1.tar.gz

best regards,
 Philipp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20211206/0c040d69/attachment.htm>


More information about the drbd-user mailing list