DRBD协议C的解释

An explanation of DRBD Protocol C

DRBD使用什么协议来保证它可以保持2个磁盘相互同步?

它是否使用两阶段提交(或类似于 2PC 的变体)?

DRBD 是否有一个 asynchronous/offline 协调器不断检查磁盘是否有偏差?

默认情况下,DRBD 将使用协议 C(完全同步)复制。它在将写入复制到其对等方时使用自己的内部协议,并且通常以 Active/Passive 方式使用。

DRBD 在内存中保留一个位图以跟踪已复制的内容和仍在复制的内容 "in flight"。如果 DRBD 与它的对等体断开连接,这些位图将被下推到磁盘(进入 DRBD 的元数据)。当对等点重新连接时,它们交换位图和生成标识符以确定要同步的方向和块。

该图像显示了 DRBD 在 Linux 内核存储堆栈中的位置。希望对您有所帮助!