概要
Cluster-Aware Updating(CAU)是一项功能强大的特性,旨在优化 Windows 故障转移群集中节点的更新过程,并使工作负荷的中断降至最低。 尽管 CAU 增强了高可用性和维护效率,但可能会出现各种作和配置问题,从更新故障和群集服务中断到权限错误和资源中断。 本指南提供了一种经过现场测试的彻底方法,用于诊断和解决最常见的 CAU 和集群更新故障,确保您的集群负载保持正常运行并保持最新。
故障排除清单
使用此清单进行系统故障排除:
- 查看最近的更改:
- 是否有 OS 版本升级、驱动程序或固件更新或 Active Directory 更改?
- 是否有新节点、网络配置或更改更新计划?
- 验证集群和 CAU 设置:
- 是否已安装并运行 CAU 群集角色?
- 每个节点是否正常且能够与其他节点通信?
- 群集网络和存储是否处于正常状态?
- 检查更新源和管理工具:
- 是否所有节点都配置为使用相同的更新源?
- SCCM 或其他管理工具是否与环境中的 CAU 兼容?
- 验证 Active Directory 权限:
- 群集名称对象(CNO)是否具有创建和管理虚拟计算机对象(VCO)的完全控制权?
- 是否存在 AD 复制或委派问题?
- 监视服务故障和故障转储文件:
- 节点或虚拟机(VM)是否意外重启?
- 是否存在故障转储文件或事件日志错误表明驱动程序、存储或网络问题?
- 收集日志和错误消息:
- 收集群集日志、更新日志和系统/应用程序事件日志。
- 请注意任何特定的错误消息或事件 ID。
常见问题和解决方案
CAU 角色缺失或功能失败
症状
- 无法管理或检查 CAU 角色的状态。
- 错误:“找不到群集资源”、WU_E_PT_ENDPOINT_DISCONNECTED、CAUUpdatePlugin 失败。
决议
- 在故障转移群集管理器中或通过 PowerShell (Get-ClusterResource) 验证 CAU 角色。
- 删除任何冲突或命名错误的群集资源(Remove-ClusterRole -ClusterName <ClusterName> -force)。
- 在 Active Directory 中重新创建和预暂存 CAU 计算机对象。
- 重新添加 CAU 角色(Add-CauClusterRole ...),确保正确的插件、账户和调度。
- 使用 Test-Cluster 确认群集验证通过。
2. 权限或 Active Directory 问题
症状
- 更新插件报告“访问被拒绝”。
- 事件 ID:1194、1069。 CNO 无法创建 VCO。 更新后资源不会在线。
决议
- 在 Active Directory 用户和计算机中,验证 CNO 是否对相应的 OU 拥有完全控制和“创建计算机对象”权限。
- 如果群集资源失败,请重置或修复它:根据需要右键单击以修复或重置密码。
- 使用 CAU 测试运行重新应用权限并验证功能性。
- 确保群集网络名称资源已启用并在 AD 中存在。
3.群集节点未使用相同的更新源
症状
- 某些节点在更新周期期间不会接收更新。
- 错误:“群集感知更新在某个节点上失败了”,并且更新日志中持续出现 0x80072ee2。
决议
- 比较所有节点上的更新源(例如 WSUS 服务器)的注册表设置(reg query)。
- 导出工作节点中与更新相关的注册表。 导入到受影响的节点。
- 检查组策略,查找可能导致更新源重置的设置。
- 验证重启后的一致性,并确保将来的 CAU 运行成功。
4.影响更新的网络或存储故障
症状
- VM 重启而不是迁移。
- 事件 ID:158、58、155(存储/fs)、“群集网络已关闭”设备删除。
- 群集共享卷进入暂停状态,无法访问存储。
决议
- 查看受影响节点上的物理网络和存储连接/电缆。
- 验证群集网络运行状况(Get-ClusterNetwork),解决适配器或 VLAN 问题。
- 使用 Test-Cluster 识别硬件健康问题。
- 请存储/网络团队协助解决持续的设备或连接错误。
- 还原存储,更正网络问题,重试更新。
5. 更新顺序错误或强制节点故障转移
症状
- 更新在耗尽群集角色之前安装,从而导致工作负荷中断。
- 在多次失败的排空尝试(VM 强制重启/故障转移)后更新继续。
决议
- 计划更新脚本或 CAU 运行时,请始终使用 -ForcePauseAndDrain 标志。
- 审查更新策略,以确保在更新之前执行节点排空和进入维护模式。
- 请勿使用可能导致损坏状态的自定义更新前/更新后资源移动脚本。
- 如有必要(Set-VMHost -MaximumVirtualMachineMigrations),请提高并发 VM 迁移限制。
6. 驱动程序相关的群集或节点故障
症状
- 主机节点意外重启。 许多 VM 重启。
- 错误检查(“a”),随机内存损坏,内核页填充了null。
- WinDbg 报告涉及图形或存储适配器驱动程序的内存损坏。
决议
- 识别和更新过时的驱动程序(例如 GRID/Nvidia、存储 HBA)。
- 安装制造商推荐的驱动程序版本(例如,Nvidia GRID = 573.48)。
- 重启节点,对进一步的崩溃进行监控。
- 使用 WinDbg 分析故障转储文件以进行验证。
7. 未删除孤立或陈旧的群集角色
症状
- 删除尝试后,群集资源将保持不变。
- PowerShell 返回:“警告:当前群集未配置 Cluster-Aware 更新群集角色。
决议
- 使用 PowerShell(Remove-ClusterRole... -force)删除永久性角色。
- 尝试在重试删除之前将核心群集组移到另一个节点。
- 如果所有其他步骤都失败,请手动查看群集数据库注册表树并清除剩余条目。
8. 管理工具和更新源集成问题
症状
- SCCM 中计划的更新不会反映或应用于群集节点。
- 使用第三方更新管理进行的集成尝试失败。
决议
- 确认 SCCM 无法感知群集,并且不会与 CAU 进行原生集成。
- 作为独立的进程运行群集感知更新和 SCCM 更新。
- 查看文档以获取任何可用的集成信息,或升级请求以获得定制解决方案/支持。
数据收集
- 群集日志:Get-ClusterLog -UseLocalTime
- 事件日志:通过事件查看器导出:系统、应用程序、故障转移群集 (FailoverClustering)、Hyper-V 高可用性 (Hyper-V-High-Availability)
- 更新日志:Get-WindowsUpdateLog
- 诊断数据包(SDP): .\SDP_Cluster.exe -SDP -SkipSDPList -acceptlogs
- 网络跟踪命令: netsh trace start capture=yes
- 注册表设置:reg export “HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate” C:\WU-Reg-Backup.reg
- 驱动程序信息和转储文件:系统故障转储文件,使用 WinDbg 或类似工具进行分析。
常见问题快速参考表
| 症状/错误 | 根源 | 决议 |
|---|---|---|
| CAU 角色缺失,或出现“找不到资源”错误 | 角色缺失或配置错误 | 删除冲突角色,在 AD 中重新创建,重新添加 CAU 角色 |
| 更新插件“访问被拒绝”,VCO 错误 | AD 权限/委派问题 | 授予 CNO/VCO 完全控制权限,重置权限,修复资源 |
| 更新未能在节点上执行,错误码0x80072ee2,拆分更新源。 | GPO/注册表不一致 | 对齐注册表设置,修复 GPO,确保所有节点都使用相同的源 |
| VM 重启而不是迁移,存储/网络失败,事件 ID 158/58/155 | 存储/网络/驱动程序失败 | 检查电缆,验证群集运行状况,更新驱动程序,查看日志 |
| 更新在清空前运行,意外的角色故障转移 | 更新算法的更改,标志缺失 | 使用 -ForcePauseAndDrain 参数,调整迁移限制 |
| “删除后群集资源保持不变”,删除警告 | 过时/孤立资源 | 使用 Remove-ClusterRole... -force,移动核心组,在 hive 中进行清除操作。 |
| SCCM 或第三方更新工具无法更新群集节点 | 没有原生工具集成 | 单独使用 CAU,并对自定义或不支持的集成进行升级处理 |
| 主机重启、VM 大规模重启、转储中的内存损坏 | 过时的驱动程序(例如 Nvidia GRID) | 将驱动程序更新为固定版本。 检查硬件缺陷 |