门门精通:为休眠虚拟机打补丁

使用 Microsoft Offline Virtual Machine Servicing Tool 来为休眠虚拟机打补丁,既可确保休眠虚拟机随时做好工作准备,又可避免补丁过时带来的各种问题。

作者:Greg Shields

您不喜欢打补丁?我也不喜欢。打补丁似乎是一件吃力不讨好的任务,而且不会带来任何商业价值,这项任务就更显得乏味。至少,除了可能避免将来出现某些未知灾难的知识以外,没有其他任何商业价值。

不,打补丁长期以来一直是 IT 世界的繁重工作。打补丁和补丁管理是工作时间后熬夜加班的一大原因,会导致:“对不起,亲爱的,我不能回家吃晚饭了。”因此它招致我们所有人的仇恨。

但是,补丁管理在近期变得不再像以前一样可恨。不久以前,要让补丁一目了然,必须维护一个包含大量信息的电子表格,将每个补丁链接到其“MS”编号和“q”编号以及 Microsoft 重要性和我们公司的优先级。要跟踪哪些补丁被其他补丁所取代,每个月至少要花半天时间才能完成。

随着 Windows Server 更新服务 (WSUS) 的发布,一切大有改观。这种简单而又超级省时的工具免除了打补丁过程中的大部分体力活。将 WSUS 与小型脚本结合使用,您甚至可以命令它立即对计算机打补丁,而不是等到下一个预定周期再执行(我有这个脚本。如果您想要一份,请访问 concentratedtech.com)。

WSUS 的一项限制是,仅当您需要打补丁的服务器或台式机确实开机之后,它的自动打补丁机制才能正常工作。如果计算机由于这样那样的原因必须关闭,则会使 WSUS 出现问题。这就需要补丁周期在第二天早晨重新开机后立即执行,否则管理员就得额外在头天晚上找出有问题的计算机并将其开机。

到现在为止,我们都知道 WSUS 的这项限制不是什么大问题。如果在夜间补丁周期内,用户的计算机处于关机状态,则第二天早晨开机后会收到一条弹出式提示,并且补丁会自动开始安装。甚至直到现在,服务器通常仍然是始终保持开机状态的。这意味着,它们始终在运行,可以收到 WSUS 打补丁控制程序的指令。

更改组合

随着我们的数据中心向虚拟化的跃迁,这种令人愉快的静态环境再一次发生了变化。虚拟化后,我们的服务器仍然会始终处于开机状态。但是,这些虚拟服务器必须来自某个地方。对于我们中的大多数人而言,“某个地方”是通过克隆服务器模板来实现的。

服务器模板非常好用,因为利用它们,我们只需很少的操作就能快速启动新的服务器并将其联机。它们还能确保每台服务器开始投入使用时都具有相同的核心配置。当然,服务器模板也有缺点。尽管这些计算机很容易就能生成新服务器,但是模板本身不能直接投入使用。

服务器模板一般是存放在某个文件共享位置处的 VHD 文件。关机后,此文件就会处于休眠状态。该文件与超大型的 Word 文件或 Excel 电子表格没什么区别。开机后,休眠的文件就会变为一台功能齐全的服务器,一台能够处理常规工作负载或者当今恶意软件和其他攻击所产生的恶意工作负载的服务器。

简言之,如果这些休眠的模板不打补丁,它们就有可能变成全新的恶意软件爆发的根源 — 因为它们很容易开机。

这引起您的重视了吗?很好,因为这是 Microsoft Offline Virtual Machine Servicing Tool(目前为 2.1 版)的关键主题。这个免费的解决方案加速器将安装一组自动化机制,可利用 WSUS 使您的非休眠虚拟机 (VM) 模板保持最新。

Figure 1 The three major components of offline VM servicing

图 1 脱机虚拟机服务的三个主要组件。

要了解其工作原理的要点,请查看图 1。您会看到,承载了 System Center Virtual Machine Manager (VMM) 的服务器如何与某个共享库、Hyper-V 主机和您的软件更新管理服务器交互。更新管理服务器可以是 WSUS 服务器,也可以是可用的 System Center Configuration Manager (SCCM) 服务器。两种服务器的过程基本相同。

Offline VM Servicing Tool 使用“维护作业” 来管理如何将更新部署到 VMM 库内的虚拟机。这些维护作业是由 Windows 任务计划程序处理的关键任务,它们将在预定义的时间启动。

当维护作业可以激活时,它首先会从模板位置“唤醒”虚拟机。唤醒过程中要将虚拟机部署到 Hyper-V 主机上,然后开机。一旦该虚拟机开机,就会命令虚拟机内部配置的 Windows Update Agent (WUA) 开始软件更新周期。

虚拟机 WUA 配置的设置方法,与您设置所有计算机时所采用的方法完全相同: 可以通过组策略应用程序完成,也可以通过在虚拟机内手动设置相应的配置来完成。您必须设置所有典型的 WSUS 配置,才能使此进程正常工作,例如,按照安全策略中的定义,更新服务位置、任何 WSUS 计算机组以及其他具体特征。

当您成功更新虚拟机后,维护作业将把虚拟机关机,并将其返回到库中。这个自动化的过程可确保您的虚拟机(以及基础结构的其他部分)用正确的补丁进行更新。Offline VM Servicing Tool 不会自行添加任何更新管理配置,而是采用您已经为 WSUS 或 SCCM 配置的现有设置。

事实上,要安装 Offline VM Servicing Tool,需要执行一些步骤。如果您还没有阅读其相关的解决方案加速器指南,这些步骤对您来说还不是那么明显。此工具的 2.1 版感觉与其早期版本差不多。要安装此工具,需要从 Microsoft 网站执行控制台下载。要运行此工具,还需要再执行一个步骤:下载 PSExec 的二进制文件(包括 psexec.exe 和 pdh.dll),并将其复制到此工具的 bin 文件夹(位于 C:\Program Files\Microsoft Offline Virtual Machine Servicing Tool\bin)中。还需要为 RemoteSigned 配置 Windows PowerShell 执行策略。

Figure 2  The Offline VM Servicing Tool console

图 2 Offline VM Servicing Tool 控制台。

安装后,其控制台(如图 2 所示)实际上仅识别虚拟机组,用于确定当时有哪些虚拟机已经打补丁。它还会识别维护作业,这些作业包含您的更新任务的特征。维护工具也只对 VMM 库中包含的虚拟机有效。这意味着任何已经关机且已经部署到 Hyper-V 主机上的虚拟机都不能使用该工具。

它能处理未使用专门模板的虚拟机,例如,在出现故障后或者在您需要更多服务器时,您已经准备好要联机的任何热备用虚拟机。在这些情况下,该工具建议对热备用服务器使用辅助 NIC,并将其部署到隔离的网络中。这有助于确保在您仅仅打算应用当前补丁时,不会意外让热备用服务器变成运行状态。

Microsoft Offline Virtual Machine Servicing Tool 可能并不能完全满足您的脱机打补丁需要,但是在您只需要使少量休眠的虚拟机保持最新状态时,它便宜的价格、有限的功能就能有所帮助。考虑到手动打补丁的痛苦,以及如果不打补丁所带来的影响,您就会理解监控所有处于休眠状态但可能存在危险的虚拟机有多重要。

Greg Shields

Greg Shields是一位 MVP,也是 Concentrated Technology 的合伙人。若要了解 Shields 这位百事通的更多提示和技巧,请访问 ConcentratedTech.com。

 

相关内容