对于核心 Linux 已提出一套补丁方案,用于实现 DRBD 9 分布式复制块设备,该设备允许创建由连接到不同系统的网络镜像驱动器组成的 RAID-1 阵列。该驱动程序将首先在 linux-next 分支中进行测试,并最终完成内核集成。 Linux 7.2.
旧版 DRBD 实现自 16 年前发布的 2.6.33 版本起就已包含在内核中。内核代码基于 DRBD 8 分支,该分支与 2015 年发布的 DRBD 9 分支存在显著差异,并且在协议层面上不兼容。因此,DRBD 9 被开发为一个独立的外部模块,与内核核心模块不同步。内核的 DRBD 实现一直独立维护,比当前的 DRBD 代码库落后了 10-15 年。本文提出的补丁旨在弥合这一差距。
DRBD 允许将集群节点驱动器合并成一个单一的容错存储单元。对于应用程序和系统而言,该存储单元表现为一个单一的统一块设备。借助 DRBD,所有本地磁盘操作都会发送到其他节点,并与其他机器的磁盘同步。如果一个节点发生故障,存储单元会自动利用剩余节点继续运行。当故障节点恢复可用时,其状态会自动恢复到当前状态。
构成存储的集群最多可以包含 32 个节点,这些节点既可以位于本地网络中,也可以位于地理位置分散的位置。 数据中心在这种分布式存储系统中,同步是在网状网络中进行的——数据在节点之间流动。节点复制可以同步进行,也可以异步进行。例如,本地节点可以使用同步复制,而远程站点的节点可以使用异步复制,并辅以额外的流量压缩和加密。
DRBD 9 分支的特点在于传输层的抽象化,这使得通信信道的实现不仅可以在底层实现,还可以在底层实现。 TCP/IP此外,DRBD 9 还采用了 RDMA/Infiniband 技术。与传统的 IP 网络相比,通过 RDMA(远程直接内存访问)直接访问另一台计算机的 RAM,复制性能提高了一倍,同时 CPU 负载降低了 50%。同步存储的最大容量也增加到了 32 个节点。DRBD 9 还改进了节点重新同步逻辑,重新设计了锁定机制,增加了对网络命名空间的支持,支持基于活动自动调整节点状态,并支持两阶段提交和非阻塞更新传播。 
来源: opennet.ru
