仅使用一个节点即可使 Windows 故障转移群集上线

仅使用一个节点即可使 Windows 故障转移群集上线

我想设置一个策略,使得我的故障转移群集始终投入使用,即使只有一个(两个节点中)可用。

背景:集群中只有两个节点,另外 DC 上的共享中有一个见证仲裁。对于这个问题,假设 DC 保持服务状态。(Windows Server 2019)。

如果我关闭节点 1,那么节点 2 将处于活动状态。如果我随后关闭节点 2,那么集群将停止(显然),但是,如果我随后仅启动节点 1,集群将绝不恢复。没有 node2,它不仅无法恢复,而且我看不出有什么简单的方法可以让集群使用集群管理器投入使用。仅有的在这种情况下,我可以恢复集群的方法是启动节点2,然而,在我看来,这似乎不是真实的高可用性。我认为我应该能够设置一个策略,或者有一个相当简单的方法让集群重新上线(也许在等待一段时间后),即使节点2绝不恢復。

我是不是以错误的方式思考了这个问题,或者忽略了一些显而易见的东西?

更新:我确实看到了一个错误:

Node 'SOM2' failed to form a cluster. This was because the 
witness was not accessible. Please ensure that the witness 
resource is online and available.

然而,证人曾是当时是可用的,这让我怀疑这是一个权限问题,也就是说,见证共享对集群可用,但对每个节点上的集群服务帐户不可用。这可能吗?

见证共享上是否有一些特殊的权限设置以确保每个节点上的本地服务帐户都可以访问它?

更新:

为了修复权限错误(不是核心问题),我需要使用以下 powershell 命令:

https://docs.microsoft.com/en-us/powershell/module/failoverclusters/set-clusterquorum

检查见证人的权限,以允许正确的人进行完全控制领域帐户,例如密码永不过期且无法更改的服务帐户。然后,在集群主机上,首先摆脱当前的见证配置:

Set-ClusterQuorum -NoWitness
Get-ClusterResource

如果需要的话:

Remove-ClusterResource -Name "File Share Witness"

或者使用故障转移群集管理器将其删除

然后,重新添加文件共享见证,并进行必要的领域允许访问的凭据:

Set-ClusterQuorum -NodeAndFileShareMajority \\server\path-to-witness -Credential $(Get-Credential)

答案1

正如 @stuka 所说,这是设计使然。在整个集群瘫痪之前,文件已被活动节点锁定。节点 1 无法知道节点 2 实际上并不在线,而是无法通过集群网络访问。它必须依赖锁定的文件是正确的。在这种情况下,节点 1 上线会更糟糕,因为如果集群网络瘫痪,两个节点都无法打破仲裁投票平局。

如果您确实遇到这种情况,则必须编辑仲裁设置并手动强制节点重新上线。

实际上这不应该引起担忧,因为集群完全离线的情况很少见。

双节点集群在高可用性方面总是会有所妥协。见证文件共享建立了仲裁,但无法覆盖所有场景。3 节点(或其他奇数节点)集群将提供更好的容错能力。

答案2

如果在线节点可以访问仲裁见证共享,则它肯定能够使集群联机。这是标准的 WSFC 行为。如果您的集群未启动且见证共享处于联机状态,则一定是有其他原因阻止了集群启动。查找任何错误。

此外,集群仲裁设置是如何配置的?

请参阅此处以供参考:https://docs.microsoft.com/en-us/windows-server/failover-clustering/manage-cluster-quorum

相关内容