Windows集群故障转移设置按角色单独配置,含首选所有者排序、故障回复策略、故障次数限制及网络仲裁联动,共同保障高可用性。
windows 集群服务的故障转移设置,核心是控制角色(如sql server、文件服务器、虚拟机等)在节点失效时如何响应、转移到哪、是否回切,以及失败后是否继续尝试。这些设置不写死在系统里,而是按每个群集角色单独配置,直接影响高可用的实际效果。
首选所有者决定故障转移去向
每个角色都有“首选所有者”列表,它不是简单的主备关系,而是一个可排序的候选节点队列。群集在故障转移时,会从列表顶部开始查找第一个可用且健康的节点来承载该角色。
- 可以添加多个节点,并拖动调整顺序——排第一的节点恢复后,是否立刻接管,取决于是否启用“故障回复”
- 若首选所有者全部不可用,群集会自动选择其他健康节点,但不会违反仲裁规则
- 建议将硬件性能更强、网络延迟更低或存储路径更优的节点放在前列
故障回复控制是否“回切”
故障回复(Failback)指原主节点恢复后,角色是否自动迁回。默认是“阻止故障回复”,即保持在当前运行节点上,避免频繁切换影响业务稳定性。
将提醒同步至 Windows/Outlook 日历。用户提及「提醒我」「设置提醒」「加到日历」「同步到日历」「日程」「calendar」「日历」时触发。支持Microsoft Graph API 设备代码流认证,无需 Web 服务器,直接写入用户 Outlook 日历。
- 选择“允许故障回复(立即)”:原首选所有者上线即触发迁移,适合对节点亲和性有强要求的场景
- 选择“允许故障回复(延迟X小时)”:等待指定时间后再判断是否回切,可避开刚恢复时的不稳定窗口
- 生产环境普遍禁用自动故障回复,改为手动触发,便于运维人员确认状态后再操作
故障转移次数与时间窗口限制
为防止服务陷入“反复失败-重启-再失败”的震荡状态,群集提供“指定时间段内最大故障数”保护机制。
- 例如设为“6小时内最多2次故障”:第1、2次失败会尝试重启或转移;第3次失败则停止动作,角色进入“已失败”状态,需人工介入
- 默认值是“节点数减1”,比如3节点群集,默认允许2次/6小时;可根据应用韧性适当调高,但不宜无限制
- 该设置在角色属性的“故障转移”选项卡中配置,对Hyper-V VM、SQL FCI、通用服务均生效
网络与仲裁联动影响故障转移触发
故障转移是否发生,不仅看服务本身,更取决于底层群集健康状态。一旦节点间心跳中断、或仲裁丢失,群集可能主动驱逐节点或暂停资源,这属于底层保护,不受单个角色设置控制。
- 心跳网络必须独立于业务网络,否则业务拥塞可能被误判为节点宕机
- 仲裁配置(如磁盘见证、云见证)必须稳定——见证丢失会导致整个群集停止服务,而非仅某个角色转移
- 若某节点因网络分区被隔离,它会自我停用所有群集角色,防止“脑裂”导致数据损坏

















