joel.colledge at linbit.com
Mon Aug 5 17:06:17 CEST 2019
The first drbd-10.0 alpha release is out. We are working on some major
new features in DRBD, so we have created a drbd-9.0 stable branch and
upcoming releases from master will belong to the drbd-10.0 series.
The main changes for drbd-10.0 so far are:
* Reduced lock contention. The wide-reaching "req_lock" has been
removed and replaced by more fine-grained synchronization. This
improves DRBD performance in highly concurrent usage scenarios.
Initial testing indicates a 50% improvement in throughput with a
highly concurrent workload.
* No wire compatibility with DRBD 8 or below. This is necessary for
other planned changes.
New features in development:
* Request forwarding. DRBD will be able to send data to peers with
which it has no direct connection. The main use-case for this is
disaster recovery with multiple nodes at each site. The data will only
be sent once to the other site, reducing the bandwidth demands on the
long-distance replication link.
* PMEM journaling. DRBD can already access its metadata in a PMEM
optimized fashion. That will be extended to using a PMEM device as a
write-back cache. This should dramatically improve performance in
latency-sensitive scenarios. It is also a necessary prerequisite for
* Erasure coding. DRBD will be able to erasure code and distribute its
data. This provides the same functionality as RAID5/6, but with an
arbitrary number of parity nodes. The result is lower disk usage with
similar redundancy characteristics.
Note for building from source: Both master and drbd-9.0 now use spatch
from the Coccinelle project to transform the source code to build
against distribution/older kernels. This replaces previous compat
based on conditional compilation. The major benefit is that the DRBD
sources match up with the mainline kernel much more closely, which is
an important step towards upgrading DRBD in the mainline kernel from
8.4 to 9.0+.
Please help testing, and share your experience on the mailing list. Do
not complain if it fails in your production environment. It is not
intended for that. The “a” in the version string stands for “alpha”.
We have not yet released any binary packages for drbd-10.0.
More information about the drbd-user