当您已经拥有冗余通信链路时为什么还要使用隔离?

当您已经拥有冗余通信链路时为什么还要使用隔离?

本文你应该同时使用隔离(又名 STONITH)和冗余通信链路。我试图了解 STONITH 在裂脑情况下有什么好处。例如,假设你有节点 A、节点 B、STONITH 设备,它们使用交换机 I 连接。如果交换机 I 死机 - 网络被分区 - 并且节点 A 无法向 STONITH 设备发送请求,那么它就毫无用处了。

好的,我们可能有专用的交换机 II,用于将节点与 STONITH 设备连接起来。如果交换机 I 发生故障,我们仍然可以向 STONITH 设备发送信号,它可能会关闭节点 B。

但问题是,为什么不直接使用交换机 II 作为节点 A 和节点 B 之间的冗余通信路径?如果交换机 I 发生故障,您仍然可以使用交换机 II,而不需要关闭节点 B。

答案1

这个想法是,当您的集群决定需要对某个节点进行故障转移时,该节点一定出现了问题。

隔离、摧毁其他节点的头部(STONITH)是确保故障节点释放其所持有的所有资源的最佳方法,如果问题与软件有关,则很可能通过硬重置来解决,这是一个很好的奖励……

您构建集群通常是因为集群服务不支持并发运行,而当两个实例并发运行时,事情就会变得非常糟糕。需要付出很多努力来防止这种情况发生。作为集群设计者,高可用性在您的优先事项中往往排在第二位。

相关内容