Hi, 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. * 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. Best regards, Joel _______________________________________________ Star us on GITHUB: https://github.com/LINBIT drbd-user mailing list drbd-user@lists.linbit.com http://lists.linbit.com/mailman/listinfo/drbd-user