1

DRBD 采用什么协议来保证它可以保持 2 个磁盘彼此同步?

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

DRBD 是否有一个异步/离线协调器不断检查磁盘是否有偏差?

4

1 回答 1

2

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

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

在此处输入图像描述

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

于 2017-09-05T17:37:04.970 回答