Drbd 问题 - 是设计使然吗?

Drbd 问题 - 是设计使然吗?

在新的 drbd 设置中(drbd0 上没有文件系统,刚刚同步),我已使“node2”状态无效并开始完全同步:

root@node1:~# drbdadm invalidate-remote drbd0
root@node1:~# drbd-overview
 0:drbd0/0  SyncSource Secondary/Secondary UpToDate/Inconsistent
        [>....................] sync'ed:  0.2% (153188/153464)Mfinish: 1:04:59 speed: 40,180 (40,180) K/sec

并且正在进行 drbd0 从 node1 同步到 node2 的过程中,我已将其在 node1 上设置为主节点一段时间,创建了 ext4,然后将其重新设置为待机,然后我转到 node2(不一致)并将其设置为主节点,没有任何警告(原文如此!)

root@node2:~# drbd-overview
 0:drbd0/0  SyncTarget Secondary/Secondary Inconsistent/UpToDate
        [====>...............] sync'ed: 26.7% (112500/153464)Mfinish: 0:47:58 speed: 40,000 (40,296) want: 74,040 K/sec
root@node2:~# drbdadm primary drbd0
root@node2:~# drbd-overview
 0:drbd0/0  SyncTarget Primary/Secondary Inconsistent/UpToDate
        [====>...............] sync'ed: 27.1% (111912/153464)Mfinish: 0:50:37 speed: 37,724 (40,252) want: 75,600 K/sec
root@node2:~#

接下来,我从不一致的设备文件系统安装了 ext4,没有任何问题: root@node2:~# mount /dev/drbd0 /mnt

然后在 /mnt 中我创建了几千个 rsa 密钥对(始终在节点 2 上不一致的 drbd0 上并从 progres 中的节点 1 同步)

然后我在node2上卸载了/mnt并将其安装在node1上,我看到了我在node2上的不一致状态drbd0上创建的所有文件(同步node1->node2仍在进行中)。

接下来,我在node1上创建了另外数千个文件,并将/mnt重新挂载到node2,我看到了在node1和node2上创建的所有文件(在porgress中的node2上的drbd0上完全同步期间=它的状态不一致)

我已经检查了每个步骤中的所有文件校验和,一切正常。

怎么运行的??这是设计使然吗?为什么在不一致的设备上激活 drbd0 时没有出现裂脑状态?可用作读/写主节点的不一致节点上的 drbd0 设备的真实状态是什么?重新同步是否以两种方式完成:从节点1-节点2完全同步(因为节点2在第一步中无效)以及从不一致的节点节点2->节点1,我在安装它时创建的更改/文件?

同步完成后,最终状态正常,但我仍然很困惑......

root@node2~# drbd-overview
 0:drbd0/0  Connected Primary/Secondary UpToDate/UpToDate /mnt ext4 148G 1.7G 145G 2%

预先感谢您的任何解释,

此致,

答案1

完全是设计使然。当您将磁盘设为主节点时,Inconsistent它实际上是通过网络向具有磁盘的对等节点进行读写操作UpToDate

如果您在磁盘为主磁盘时中断网络连接Inconsistent,事情就会很快恶化。 ;-)

如果主节点上的磁盘发生故障,这同样适用。 DRBD 会切换到无盘,然后将所有读写推送到对等节点(假设对等节点有一块磁盘为 )UpToDate。这可以帮助避免由于本地磁盘故障而导致服务中断。

相关内容