本文介绍如何解决将 Windows 更新应用到虚拟机(VM)群集主机时可能会遇到的问题。
症状
你遇到以下一个或多个症状:
- Windows 更新不会安装在群集主机上。
- VM 间歇性地无法正确迁移。
- 作意外超时。
原因
如果群集中 VM 的检查点(有时称为快照)增长过大,则会出现这些问题。 检查点生成大型 VMRS 文件。 此类文件占用磁盘空间,并可能会中断迁移过程。 中断和磁盘空间不足可能进一步导致操作超时,并导致更新无法安装。
有关检查点的详细信息,请参阅 使用检查点将虚拟机还原到以前的状态。
决议
在开始之前,请验证你是否对群集主机具有管理员访问权限。 请确保备份所有关键数据和配置信息。
以下过程假定你熟悉 Windows 更新服务和 Cluster-Aware 更新概述。
若要解决此问题,请使用以下解决方案之一。
解决方案 1:将所有主机手动更新到最新版本
重要
群集中的所有主机都应运行相同版本的 Windows Server(包括相同的更新)。
在每个群集主机上执行以下步骤:
-
若要标识主机上最近安装的更新,请选择 “设置>更新和安全>Windows 更新>视图更新历史记录”。
-
下载并安装主机的最新兼容更新。 可以使用以下任何工具来访问更新:
- Windows 更新
- Windows Server Update Services (WSUS)
- Microsoft更新目录
-
如有必要,请重启主机。
-
更新过程完成后,查看主机的更新历史记录。 确保更新已成功安装。
解决方案 2:计划 CAU 在维护时段内发生,并暂时禁用 Windows 更新服务
使用此解决方案可防止 CAU 与 Windows 更新服务之间的冲突。
重要
如果长时间禁用自动更新,系统可能会受到攻击。 将维护时段安排为尽可能简短。
-
在故障转移群集管理器中,选择群集感知更新。
注释
作为替代方法,可以打开 Windows PowerShell 命令提示符窗口,然后运行
Get-CauRun。 -
查看和修改更新计划,使其与维护时段保持一致。
-
在每个主机上,按照以下步骤暂时禁用 Windows 更新服务:
- 打开服务控制台(services.msc),然后选择 Windows 更新服务。
- 右键单击该服务,选择“ 属性”,然后将 启动类型 设置为 “已禁用”。
- 若要停止服务,请选择“ 停止”。
-
在后续维护时段结束后,请检查每个主机的更新历史记录,以确保更新已成功安装。 若要检查主机的更新历史记录,请选择设置>更新和安全>Windows 更新>查看更新历史记录。
-
使用服务控制台重新启用 Windows 更新服务。 在服务属性中,将 启动类型 设置为 “自动”,然后选择“ 启动”。
重要
最后一步可确保主机继续接收安全更新。
解决方案 3:删除不需要的检查点
不要尝试将 VM 检查点用于长期备份存储。 通常,检查点可用于测试目的。
注释
在维护时段内使用此过程。 删除检查点时,Windows 会将相关的差异磁盘合并到 VM 的父 VHDX 中。 对于大型 VM,此作可能非常耗时和资源密集型。
不再需要检查点时,请按照以下步骤删除检查点:
- 打开 Hyper-V 管理器或首选虚拟化管理工具。
- 转到具有检查点的虚拟机。
- 查看检查点,并确认你不需要它们。
- 删除每个检查点。 如有必要,请确认是否要删除检查点。
- 检查 VM 以确保删除检查点并回收磁盘空间。
- 请重试在群集主机上安装更新。