设想:
Windows Server 2012 上的三节点(无共享)集群。主数据中心中的两个节点,均有投票(节点权重 = 1)和文件共享见证。第三个节点位于远程数据中心,没有选票(节点权重为 0)。
问题:一个集群节点(拥有集群名称)因自动更新而停机。集群名称无法访问远程数据中心节点,并且远程节点能够锁定文件共享见证文件。那时,我们的 VPN 隧道掉线了。在主数据中心启动的一个节点(并且正在运行服务)注意到远程集群节点已关闭并试图使集群名称联机。文件共享见证文件仍被远程节点锁定,并且主数据中心中一个可见的正在运行的集群节点无法使集群名称联机,它自行关闭了集群服务。
注意事项:由于使用它的其他进程,从远程节点防火墙文件共享不是一个选项。
我考虑过尝试从集群名称的可能所有者中删除远程集群节点,但我之前没有做过或测试过,我不想破坏我的生产集群。是否可以从集群名称的可能所有者中删除集群节点?如果我们必须将我们的服务故障转移到远程数据中心,则需要协调许多移动部分,所以我不希望将服务“自动”故障转移到远程数据中心。远程节点在集群中的原因完全是为了 SQL Server 可用性组,以管理到远程节点的复制。
我还考虑过删除文件共享见证并给远程节点投票。如果一个节点因重启而出现故障并且与远程数据中心的网络连接丢失,新的动态仲裁“应该”使集群保持在线。
鉴于我的情况,哪个选项(或其他替代方案)将给我最高的可用性。
我实际上喜欢给远程节点投票,因为它会使计划的故障转移变得容易得多。您可以将数据库和资源迁移到远程数据中心,然后逐渐关闭主数据中心中的节点,并且您不必为了让它工作而胡乱投票。另外,您不必担心文件共享的高可用性。
所以我在这里和布伦特在一起。我从来不喜欢删除一个节点作为投票者,除非你绝对 100% 确定你不关心它。您应该努力做的一件事是将 WSFC 集群组保留在您的主要副本所在的位置,以希望避免脑裂。
将群集节点作为可能的所有者从 WSFC 中删除不是一个好主意。如果您需要这样做,请从集群中逐出该节点。糟糕,糟糕的魔力。
使用 Windows Server 2012,您还拥有动态仲裁,因此除非您的故障全部同时发生,否则您几乎可以只剩下最后一个站着的人(当然会有警告)。
另外,我会解决任何网络问题。如您所知,它们将在地理分散的情况下成为杀手。