我已经建立了一个 2 节点 Always On 可用性组。两个副本都处于具有自动故障转移的同步模式。如果我执行手动故障转移,一切都按预期工作:主服务器和辅助服务器切换,没有数据丢失,监听器按预期工作。
但是,如果我突然关闭主服务器(出于测试目的),辅助服务器不会切换为主服务器。主副本卡在“正在解决”状态,并且在主服务器重新联机之前无法访问侦听器。
简而言之,可用性组在手动故障转移中工作正常,但在自动故障转移中却不行。似乎集群不知道其中一个节点不再可用。
我是否应该执行任何特定配置以启用“不可用性检测”之类的功能?我认为这是一种内置行为。
我运行了集群验证,报告了以下警告:
- 集群未配置仲裁见证。作为最佳实践,配置仲裁见证以帮助实现集群的最高可用性。(我真的应该通过 Failover Manager 更改仲裁设置吗?)
- 此资源并未将集群的所有节点都列为可能的所有者。此资源所属的集群角色将无法在未列为可能所有者的任何节点上启动。(我读到不建议通过故障转移管理器进行更改,所以我没有这样做)
- 节点NODE01只能通过一对网络接口从节点NODE02到达。此网络路径可能是集群内通信的单点故障。请验证此单一路径是否具有高可用性,或考虑向集群添加其他网络。(这是在谈论添加冗余卡吗?)
在故障转移集群管理器中添加仲裁配置。为了使集群继续在线,大多数节点需要在线,您只有两个节点。如果一个坏了,只有一个在线,这不是大多数。如果您添加需要存储在节点外的共享驱动器之类的见证,那么如果一个节点出现故障,则大多数两个仍然在线,因此集群将保持在线。