RabbitMQ 两节点高可用性集群因 Veeam 备份作业而间歇性中断

jka*_*505 5 rabbitmq veeam

该环境由两个 2012R2 虚拟机组成,它们在其队列上以高可用性(ha-all)运行 RabbitMQ。我使用 Veeam 创建作为 DR 策略一部分发送到异地的快照备份。

我看到的是 Veeam 备份发生时集群的间歇性故障。当集群中断时,它会导致 Mnesia 事件被记录或有时会导致一个节点完全关闭自身。我认为问题在于 Veeam 如何对 VM 进行闪烁,在这种情况下,它基本上会暂停 VM 片刻,然后继续运行。当此 blip 发生时,两个节点都会看到另一个消失,并且辅助节点立即将自己提升为主节点。两个主人一看到对方就跑(字面意思是几秒钟后),他们撞头,集群破裂。

我在net_ticktime 此处阅读并实施了 300 秒,认为这将有助于使集群对短暂的 Veeam 光点更具弹性,但它似乎没有帮助。当一个节点看到另一个消失时,辅助节点立即将自己提升为主节点,并且似乎不使用该net_ticktime设置。

Mnesia 错误示例:

Mnesia('rabbit@Node01'): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'rabbit@Node02'}
Run Code Online (Sandbox Code Playgroud)

有没有其他人经历过这种情况或类似的事情?RabbitMQ 或 Erlang 是否有额外的配置设置可能有助于使集群对节点之间的连接丢失的小点具有更强的弹性?