SQL Server ->> 高可用与灾难恢复(HADR)技术之 -- Windows故障转移群集
WSFC 群集 (WSFC cluster)
“Windows Server 故障转移群集”(WSFC) 群集是一组独立的服务器,它们共同协作以提高应用程序和服务的可用性。
故障转移群集实例 (Failover cluster instance)
一个 Windows 服务实例,用于管理 IP 地址资源、网络名称资源和运行一个或多个应用程序或服务所需的其他资源。 客户端可以使用网络名称访问组中的资源,类似于使用计算机名称访问物理服务器上的服务。 但是,因为故障转移群集实例是一个组,所以该实例可以故障转移到另一个节点,而不会影响基础名称或地址。
节点
作为服务器群集的活动或非活动成员的 Microsoft Windows Server 系统。
群集资源 (Cluster resource)
节点可以拥有的物理实体或逻辑实体,可联机和脱机、在节点间移动和作为群集对象进行管理。 在任何时间点,群集资源只能为单个节点所拥有。
资源组 (Resource group)
作为单个群集对象管理的群集资源集合。 通常,资源组包含运行特定应用程序或服务所需的所有群集资源。 故障转移和故障回复始终作用于资源组。
资源依赖项 (Resource dependency)
一个资源所依赖的另一个资源。 如果资源 A 依赖于资源 B,则 B 是 A 的依赖项。
网络名称资源 (Network name resource)
作为群集资源进行管理的逻辑服务器名称。 网络名称资源必须与一个 IP 地址资源结合使用。
首选所有者 (Preferred owner)
资源组优先运行的节点。 每个资源组都按优先顺序与首选的所有者列表关联。 在自动故障转移过程中,资源组将移动到首选所有者列表中的下一个首选节点。
可能的所有者 (Possible owner)
可在其上运行资源的辅助节点。 每个资源组都与一系列可能的所有者关联。 资源组仅可故障转移到作为可能的所有者列出的节点。
仲裁模式 (Quorum mode)
故障转移群集中的仲裁配置,用于确定群集可以承受的节点故障数。
强制仲裁 (Forced quorum)
即使仅有仲裁所需的少数元素进行通信,该过程也会启动群集。
WSFC 群集中的节点协同工作,共同提供这些类型的功能:
-
“分布式元数据和通知。”群集中的每个节点上维护着 WSFC 服务和承载的应用程序元数据。 除了承载的应用程序设置之外,此元数据还包括 WSFC 配置和状态。 对一个节点的元数据或状态进行的更改会自动传播到群集中的其他节点。
-
“资源管理。”群集中的各节点可能提供物理资源,如直接连接存储、网络接口和对共享磁盘存储的访问。 承载的应用程序将其本身注册为群集资源,并可配置启动和运行状况对于其他资源的依赖关系。
-
“运行状况监视。”节点间和主节点运行状况检测是通过结合使用信号样式的网络通信和资源监视来实现的。 群集的总体运行状况是由群集中节点仲裁的投票决定。
-
“故障转移协调。”每个资源都配置为由主节点承载,并且每个资源均可自动或手动转移到一个或多个辅助节点。 基于运行状况的故障转移策略控制节点之间资源所有权的自动转移。 在发生故障转移时通知节点和承载的应用程序,以便其做出适当的响应。
WSFC 资源运行状况检测
WSFC 群集节点中的每个资源都可以定期或按需报告其状态和运行状况。 很多情况可以指示资源故障;例如,电源故障、磁盘或内存错误、网络通信错误或服务不响应。
WSFC 群集资源(如网络、存储或服务)可能彼此依赖。 资源的累计运行状况由持续汇总其运行状况和其每个资源依赖项的运行状况来确定。
WSFC 节点间运行状况检测和仲裁投票
WSFC 群集中的每个节点都参与周期性信号通信,以便与其他节点共享该节点的运行状况。 未响应的节点被认为是处于故障状态。
“仲裁”节点集是 WSFC 群集中的大多数投票节点和见证服务器。WSFC 群集的总体运行状况和状态是由定期“仲裁投票”确定的。 仲裁的存在意味着群集运行状况正常,且能提供节点级别的容错能力。
“仲裁模式”在 WSFC 群集级别配置,用于指示用于仲裁投票的方法以及执行自动故障转移或使群集脱机的时间。
WSFC 群集中最好始终有奇数数目的仲裁投票。 为进行仲裁投票,不必在群集的所有节点上安装 SQL Server。 其他服务器可以充当仲裁成员,或者可以将 WSFC 仲裁模式配置为将远程文件共享用作补救措施。
通过强制仲裁进行灾难恢复 根据操作实践和 WSFC 群集配置,您可以引发自动故障转移和手动故障转移,同时仍保持可靠、容错的 SQL Server AlwaysOn 解决方案。 但是,如果 WSFC 群集中合格投票节点的仲裁彼此之间无法通信,或者 WSFC 群集无法执行运行状况验证,则 WSFC 群集可能会脱机。 如果 WSFC 群集由于计划外灾难或由于持续的硬件或通信故障而导致脱机,则需要管理员手动干预才能“强制仲裁”,并在非容错配置中将仍有效的群集节点变为联机状态。 之后,还必须执行一系列步骤来重新配置 WSFC 群集,恢复受影响的数据库副本,并重新建立一个新仲裁。
参考:
在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
Disable-NetAdapterChecksumOffload
Cluster Shared Volume (CSV) Inside Out
Understanding Quorum in a Failover Cluster
Microsoft Windows Multi-Site Failover Cluster Best Practices