Cluster computing DRBD-断开连接后自动恢复

Cluster computing DRBD-断开连接后自动恢复,cluster-computing,high-availability,pacemaker,drbd,Cluster Computing,High Availability,Pacemaker,Drbd,我有配置了DRBD资源的高可用性集群 Master/Slave Set: RVClone01 [RV_data01] Masters: [ rvpcmk01-cr ] Slaves: [ rvpcmk02-cr ] 我执行一个测试,断开连接DRBD网络接口的一个网络适配器(例如关闭网络适配器)。 现在,集群显示状态,一切正常,但运行“DRBD overview”时,DRBD的状态显示在主服务器中: [root@rvpcmk01 ~]# drbd-overview 0:d

我有配置了DRBD资源的高可用性集群

 Master/Slave Set: RVClone01 [RV_data01]
     Masters: [ rvpcmk01-cr ]
     Slaves: [ rvpcmk02-cr ]
我执行一个测试,断开连接DRBD网络接口的一个网络适配器(例如关闭网络适配器)。 现在,集群显示状态,一切正常,但运行“DRBD overview”时,DRBD的状态显示在主服务器中:

[root@rvpcmk01 ~]# drbd-overview
 0:drbd0/0  WFConnection Primary/Unknown UpToDate/DUnknown /opt ext4 30G 13G 16G 45%
[root@rvpcmk02 ~]# drbd-overview
 0:drbd0/0  StandAlone Secondary/Unknown UpToDate/DUnknown
在辅助服务器中:

[root@rvpcmk01 ~]# drbd-overview
 0:drbd0/0  WFConnection Primary/Unknown UpToDate/DUnknown /opt ext4 30G 13G 16G 45%
[root@rvpcmk02 ~]# drbd-overview
 0:drbd0/0  StandAlone Secondary/Unknown UpToDate/DUnknown
现在我有几个问题: 1.为什么集群不知道DRBD的问题? 2.为什么当我将已关闭的网络适配器重新启动并连接回DRBD之间的连接时,DRBD没有处理此故障,并在连接正常时同步回DRBD? 3.我看了一篇关于“解决DRBD分裂大脑”的文章 在本文中,将解释如何克服DRBD的断开和重新同步问题。 但是我怎么知道存在这种问题呢

我希望我能清楚地解释我的情况,并提供足够的信息,说明我拥有什么和我需要什么…

1)您没有在起搏器或DRBD中使用围栏/STONITH设备,这就是为什么当您拔下DRBD正在使用的网络接口时不会发生任何事情的原因。如果不在DRBD和Pacemaker内定义围栏策略和STONITH设备,Pacemaker不会对此做出反应

2) 您可能只使用一个环进行Corosync通信(与DRBD设备相同),这将导致辅助设备升级到主设备(在DRBD中引入一个分割的大脑),直到集群通信重新连接,并意识到它们有两个主设备,将一个主设备降级到辅助设备。同样,围栏/石砌石可以防止/处理这种情况

3) 您可以在DRBD配置中设置分割大脑通知处理程序

一旦您在Pacemaker中设置了STONITH/Fenging设备,您将在DRBD配置中添加以下定义,以“修复”您在问题中提到的所有问题:

resource <resource>
  handlers {
    split-brain "/usr/lib/drbd/notify-split-brain.sh root";
    fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
    after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
    ...
  }
  disk {
    fencing resource-and-stonith;
    ...
  }
  ...
}
资源
处理者{
分割大脑“/usr/lib/drbd/notify-split-brain.sh root”;
围栏对等节点“/usr/lib/drbd/crm fence peer.sh”;
在重新同步目标“/usr/lib/drbd/crm unfence peer.sh”之后;
...
}
圆盘{
围栏资源和石堆;
...
}
...
}
在Pacemaker中设置围栏/石笼对您的硬件/软件来说太依赖了,我无法为您的集群提供设置指南。这会让你找到正确的方向:


希望有帮助

这对我很有帮助,因为我试着按照你所说的,阅读了关于击剑/石碑的内容,但仍然不明白一些事情,在起搏器中设置击剑/石碑是否取决于我的物理服务器?我的服务器需要支持围栏吗?我在一些地方看到了术语“击剑设备”,它是什么意思?击剑设备(在本例中特别是STONITH设备)是一种可以将服务器置于未知状态,并将其置于已知状态(在本例中,该状态为断电)的设备,因此,允许其余集群节点安全地继续执行其启动/停止/监视任务。这可以通过带外远程管理接口(如DRAC、ILO、IPMI等)完成。或者,您可以使用智能PDU/UPS之类的设备切断特定端口/插座的电源。你应该认真阅读我在回答中提供的clusterlabs.org链接;您将看到有许多实现方法。我阅读了您发送的内容,并使用以下指南实现了stonith/fenicng资源:配置stonith/fenicng资源后,它正确启动,但几分钟后停止。请告知可能出现的问题。my_vCenter-fence(stonith:fence_vmware_soap):停止您是否尝试手动运行
fence_vmware_soap
命令以列出VMs vCenter正在按照链接到的指南建议运行?如果您没有,我强烈建议您这样做,因为它会给您带来一些更有意义的错误。若你们不能让它手动工作,起搏器也不能。