Mailing List Archive

drbd-9.2.0
Hello,

I am proud and glad to announce drbd-9.2.0. It is a new feature release,
bringing:

1) Lower latency for mirrored write requests
Every mirrored write request gets completed one scheduler context switch
earlier. This is a result of better integration with the networking stack.

2) Lower contention between application IO and resync IO
While a resync runs, DRBD used to "lock out" all application IO in areas of
128MB while the resync was active within such 128MByte resync-extents. We
got rid of the resync-extents, the IO lock-out is not as small as the actual
requests are.

3) Much better resync performance on thinly provisioned backends
We coalesce trim/discard operations originating from a resync operation on
thinly provisioned backend devices. As trim/discard can be costly (compared
to regular writes), this can speed up resync one to two orders of magnitude.

4) Support for network namespaces
By binding DRBD's connections to the namespace they get created from, we
enable the Project Piraeus (LINSTOR/DRBD to Kubernetes integration) to put
the replication network traffic into the overlay/container network, instead
the host network.

5) A native RDMA/verbs/Infiniband/RoCE transport
The transport_rdma module allows you to use Infiniband/RoCE instead of
TCP-IP over Ethernet for DRBD. It brings zero-copy receive, lower CPU usage,
and lower latency.

Apart from these features, it is compatible with existing drbd-9.0 or
drbd-9.1 in configuration, meta-data, and network protocol.

Attention might be necessary regarding resource naming. drbd-9.2 accepts
only [0-9A-Za-z.+_-]* as resource names. If you depend on the old behaviour,
it can be brought back with `echo 0 >
/sys/module/drbd/parameters/strict_names`.

We will continue to maintain drbd-9.1 until the end of September 2023.

https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.0.tar.gz
https://github.com/LINBIT/drbd/commit/71e60591f3d7ea05034bccef8ae362c17e6aa4d1