分析群集服务切换日志需串联“异常出现—仲裁判断—角色变更—服务接管”四阶段:起始点为event id 1135/1641等节点失联信号;仲裁阶段关注1177与1069及quorum关键词;执行阶段识别1234/1235及资源子事件;闭环验证依赖get-clustergroup输出与1221等周期性健康日志。
分析群集服务切换在系统日志中的事件流,关键在于按时间顺序串联“异常出现—仲裁判断—角色变更—服务接管”四个逻辑阶段,而不是逐条翻看报错。windows 故障转移群集(failover cluster)的日志信号有明确模式,需结合事件 id、来源组件和时间戳交叉验证。
锁定切换起始点:找第一个节点失联信号
切换流程通常始于某个节点被判定为不可用。不要只盯着 ERROR 级别日志,重点筛查以下事件:
-
Event ID 1135(节点被强制移出群集):这是最典型的起点,常伴随“Node
was removed from the cluster because it failed to respond to health checks”描述; - Event ID 1641(节点被隔离):说明 RHS 或群集服务自身异常,已触发保护性隔离;
- Event ID 1201(资源启动失败)或 1205(资源停止失败):若发生在主节点上,可能是切换导火索;
- 配合查看同一时间点的 System 日志中 NetworkConnection、Tcpip、NetFT 来源事件,确认是否存在网络中断、心跳超时(如“Failed to send heartbeat message”)。
还原仲裁与决策过程:看群集是否达成法定人数
节点失联后,群集需判断是否还能维持多数派(quorum)。这个阶段日志分散但可识别:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- Event ID 1177(仲裁丢失):说明群集无法确定自身状态,可能进入暂停模式;
- Event ID 1069(服务启动失败)紧随 1177 后出现,表明仲裁恢复失败,触发主动故障转移;
- 查看 Microsoft-Windows-FailoverClustering/Diagnostic 日志(非默认显示,需手动展开),搜索 “quorum vote”、“majority node set”、“cloud witness” 等关键词,确认投票结果和仲裁模型是否匹配实际配置;
- 注意时间差:从 1135 到 1069 的间隔,应接近群集属性中设置的 SameSubnetDelay 和 CrossSubnetDelay 值。
追踪角色切换执行:确认主资源迁移路径
一旦决策完成,群集开始移动角色。此阶段日志集中在资源操作和服务启动:
- Event ID 1234(资源组正在移动到节点 X):明确指示切换动作启动;
- Event ID 1235(资源组已在节点 X 上联机):表示迁移成功完成;
- 检查对应资源(如 SQL Server、文件共享、IP 地址)的子事件:例如 IP 资源的 Event ID 1191(地址绑定成功)、磁盘资源的 Event ID 5120(CSV 已联机);
- 若切换后服务未就绪,查目标节点上的 Application 日志,看 SQL Server 或 IIS 是否因依赖项缺失而启动失败(如 Event ID 1000、7000、7009)。
验证切换闭环:确认新主节点稳定运行
切换完成不等于服务可用,需确认新节点已真正承担主角色且无副作用:
- 在新主节点上运行 Get-ClusterGroup,确认资源组状态为 Online 且 OwnerNode 是当前节点;
- 查 System 日志 中是否有 Event ID 1207(群集服务已启动)和周期性 Event ID 1221(群集健康检查通过);
- 观察 RHS.exe 进程日志(在 Application 日志中搜 “RHS”):正常应持续输出 “Resource
is online”,若频繁出现 “failed to bring resource online”,说明资源脚本或依赖存在问题; - 对比切换前后客户端连接日志(如 SQL 客户端的登录失败事件 ID 18456),确认连接是否已自动重定向至新主节点。










