虚拟化

自动虚拟机主机部署

Fergus Strachan

 

概览:

  • Hyper-V 部署和自动化
  • 解决 Sysprep 归纳问题
  • 提供的虚拟资源
  • 配置来宾 OS 和 Server 技术的无人参与的部署

可在代码下载: StrachanHyperV2009_02.exe(1,026 KB)

内容

部署体系结构
WDS 基于 Hyper-V 部署
WMI 基于 Hyper-V 配置
虚拟实验室部署
服务器应用程序部署
结论

您在可能熟悉许多充分的理由可以设置在超 V 的环境,但可能特别有趣的是如何超 V 可以简化产品评估和在测试实验室培训和学习环境不牺牲 64 位兼容性。Hyper-V 运行,甚至在入门级 64 位硬件上的提供有一个能够 CPU 和最新的 BIOS 更新以支持硬件虚拟化。这使得部署基于完全受支持的软件版本 (如为 64 位版本的 Microsoft Exchange Server 2007 的全面的测试环境的启动。一旦您设置最部署,这样做它很容易重新部署,只要您需要从零开始,启动是否查看新的产品或启动新的类会话。

即使将为具有两个域控制器 (DC) 的客户部署在测试环境,一台运行 SQL Server、 两个 SharePoint 前端服务器、 Exchange 2007 邮箱服务器、 集线器传输服务器和在客户端访问服务器的计算机它将花费大量精力。假设您有更多大的环境,与可能 600 虚拟机 (VM)。可以想象重新安装这些 VM 每周或时需要新的实验室环境?是强制自动这样的部署,这其中超 V 可差异。

Hyper-V Windows 技术,您可以合并其与 Windows Management Instrumentation (WMI),Windows PowerShell,Windows 部署服务 (WDS) Windows 自动安装工具包 (AIK) 和 Windows 预安装环境 (Windows PE) 2.0 能够全面部署在一眼的闪烁,或至少无多注意。您可能会发现有趣看的安装屏幕和进度栏,在系统部署,和配置自己,但您不必做这样,如果在您的列表中有更重要的事情。

此文章中, 我介绍如何通过 WDS 部署超 V 的服务器、 VM、 来宾操作系统和无需任何管理员交互的服务器应用程序,自定义安装图像、 unattend.xml 的文件和 WMI 脚本。其目的是一次预先配置在 WDS 环境并安装测试系统时需要出现如时重新安装在教学环境、 不同的配置中的复杂的问题疑难解答和开发以及测试自定义解决方案。

在部署过程中唯一需要的交互是按 F 12 键以启动 Preboot 启动执行环境 (PXE),如果您使用该 Startrom 可以消除甚至此步骤。而不是默认 Startrom.com 启动文件,如 TechNet 文章中所述在 WDS 配置中的 n12"完全自动安装设计背景."

余下的任务就已经 WDS、 AIK 和 WMI 的手中之后自动启动超 V VM。您将能够找到配置文件,并且可从 2 月 2009 代码所助理材料中的脚本下载一部分 technet.microsoft.com/magazine/cc135868 TechNet Magazine Web 站点。实际的安装映像不包含,它们是太大,但您应该能够适应您自己的实验室环境附带文件。

部署体系结构

我实验室部署的核心基础结构是运行 Active Directory 域服务 (AD DS) 域名系统 (DNS),动态主机配置协议 (DHCP) 和 WDS,当然,WDS 服务器。为管理的方便起见我也 AIK 和超 V 工具远程管理此服务器上安装。这就是所需准备超 V 部署效率。尽管可以引入其他的 WDS 服务器,如果通过冗余的高可用性是重要,不需要更多。剩余的物理计算机是通过 WDS 部署和承载,如 图 1 所示表单实际的测试环境中,该 VM 的超 V 服务器。

fig01.gif

图 1 基于 Hyper-V 和虚拟机一个全面的实验室环境

有关部署 WDS 服务器的说明,签出助理工作表相同的"部署 Windows 部署服务"下载前面提到的网站。正如您将看到安装是简单。就在部署和进行的配置的超 V 主机的困难,但更多有关此。

WDS 基于 Hyper-V 部署

用于超 V 部署 WDS 的优点之一是 WDS 简化了更新是必需的原始媒体仅包括超 V 一个预发布版本,因为在 Windows Server 2008 安装媒体。实际的发行版本是作为一个单独的更新,从 Microsoft 下载中心提供的。

一个简单地说如下采取的步骤: 部署引用计算机上的 Windows Server 2008、 更新与最新超-V 文件安装、 安装超 V、 使用 Sysprep.exe 归纳安装、 捕获和上载,WDS 服务器通用的安装映像,然后自动实现的物理基础结构中的所有主机,默认超 V 部署。我希望对超 V 使用 Windows Server 2008 服务器核心,因为超 V 服务器专用于承载 VM,并且服务器核心提供一个小的操作系统内存占用量以及安全性、 可靠性和可管理性的优点。并用于捕获安装映像,我使用 WDS,当然。签出助理工作表"通过使用 Windows 部署服务部署默认超 V 主机查看创建是多么容易,上载,和使用的更新超 V 安装映像。无法更简单。

疑问,超 V 部署基于 WDS 默认值是简单,但无人参与的配置不挑战。此问题是您需要运行 Sysprep.exe 归纳引用安装才能捕获和上载该安装图像,但 Sysprep.exe 通用超 V 映像中删除重要的配置信息。

此外,Sysprep.exe 推广启动配置数据 (BCD),并 BCD 存储从中删除该程序的启动指令。BCD 应该为独立的固件,但是这并不与超 V。该程序取决于基础的硬件和 BIOS 的虚拟化功能、 使该程序启动指令必须转到归纳安装映像。可以在 Sysprep 归纳后,修改 BCD 存储脱机但这不是一个解决方案。

使用 ImageX.exe (AIK 中包含一个工具) 装入该安装映像则您可以 re-enter 通过 BCDEdit.exe 的启动指令 ; Windows 安装程序正在再次在实际安装例程的归纳阶段但是,删除此指令。现在返回在开头。

这是一些棘手情况,因为您需要启动该程序的启动指令。一个正在运行的程序没有超 V 服务器不工作。图 2 显示了当尝试通过使用自定义部署 Hyper-V 服务器上启动 VM 安装映像,但不启动配置的调整会显示该错误信息。

fig02.gif

图 2 无法启动虚拟机,因为该程序未运行

一个方法重新输入该程序的启动指令是添加它手动在服务器安装后通过运行命令

bcdedit /set hypervisorlaunchtype auto

重新启动超 V 服务器,但是该手动步骤将为完全无人参与的测试实验室部署的严重 roadblock。 幸运的是,AIK 包含 Windows 系统映像管理器可以使用创建为 WDS 应用除了其自己 WDSClientUnattend.xml 文件安装过程中的安装映像的 unattend.xml 文件。 此 unattend.xml 文件中可以指定的安装程序应自动使用由 WDS 客户端提供的管理凭据登录到 Windows,然后运行返回将在程序启动指令插入 BCD 存储,然后重新启动服务器的脚本。

图 3 说明了常规的方法,并附带材料包括 unattend.xml 文件,以及完成 hypervconfig.vbs 脚本的完整版本。 可以直接在安装映像中包含 hypervconfig.vbs 脚本,以使其可用在安装过程中。 您只需助理工作表"自定义超 V 部署"中列出装入 ImageX.exe 的图像

fig03.gif

图 3 Reconfiguring,并启动该程序

WMI 基于 Hyper-V 配置

重新启用该程序不太难,但如果您在分析 hypervconfig.vbs 脚本,您将发现它包含有些超过以下五个简单行代码。 除了在启动指令必须配置在整个的超 V 环境,并这是部署文章的困难部分。

您的方法不能只需创建图像捕获之前在参考系统上的 VM 的、 将它们包含在该安装映像中,然后希望能够解决该程序的启动指令后的所有内容。 服务器将具有该的 VM 当然,但硬件依赖项都丢失。

图像归纳从物理网络接口卡 (NIC) 和从基础硬盘和 CD/DVD 设备通过传递驱动器断开您的 VM 的以太网端口。 您可以跳过该的归纳,但它并不是好的安装映像中包含预安装的 VM。 预安装的 VM 创建夸大图像评估许可证已部署的测试服务器的最终到期,脱机的时间长不是喜欢的 Active Directory 域。 如果使用 VM 安装几个月前的备份还原在实验室环境,您将有遇到 Active Directory 身份验证和复制问题的公平机会。 最好每次启动从零开始。

因此让我们提供 VM 和关联的资源,如 NIC、 硬盘的磁盘和解决测试实验室的实际部署之前在超 V 环境中的 DVD 驱动器。 如您可能已经猜到,则提供这些虚拟资源将是 hypervconfig.vbs 脚本的主要任务。

该方法是相当简单的。 脚本确定本地超 V 服务器的名称,并将配置 VM 一主机特定组。 每个 VM 接收两个虚拟 DVD 驱动器映射到服务器特定.iso 文件和常规安装.iso 文件。 特定于服务器的.iso 文件对应于启动 DVD 中。 它包括所有必要的脚本和特定实验室服务器的无人参与安装的配置文件。

在常规的安装文件提供实际的安装媒体。 共享之间所有 VM 常规.iso 文件,在服务器上的有助于使中等控制超 V 安装图像大小。 请将您未能.iso 文件放在网络服务器,但一种方法或另一个您必须将该文件复制到该超 V 服务器安装,因此我决定将其包括直接在该安装映像。 以这种方式,您具有.iso 文件可用本地只要需要。 此,是例如如果可安装其他组件或重新安装而不在整个的实验室环境下撕开的特定的 VM。

我将讨论特定于服务器的安装 DVD 进行。 首先,我将重点超 V 基础结构的配置的基于 WMI 的脚本。 图 4 所示,有各种您必须提供,包括与其自身的与他们虚拟的以太网卡、 虚拟 IDE 驱动器连接到虚拟硬盘 (VHD) 的文件和虚拟的 DVD 驱动器连接到的来宾操作系统和服务器应用程序安装.iso 文件,VM 的内部和外部的交换机端口的虚拟交换机的虚拟资源。

fig04.gif

图 4 提供在实验室环境的虚拟资源

您还需要调整该 VM 的自动启动配置,并跟虚拟的 DVD 驱动器连接到该服务器特定.iso 文件的情况下更改启动顺序先使用虚拟磁盘驱动器。 在这种配置 VM 启动从安装 DVD 操作系统之前安装了虚拟的硬盘。 我肯定您已熟悉此规则的),因为它是用于任何现代的个人计算机的标准。

hypervconfig.vbs 脚本配置为自动启动时在物理计算机启动,以便在 HypervisorLaunchType 重新启动后在 VM 联机并这如何实验室安装 commences VM。 在 VM 最终启动进入安装程序例程,其来宾操作系统的中。 这是完全无人参与的实验室部署关键。

在很大程度 VM 配置遵循相同的原则您考虑配置多个驱动器连接到多个 IDE 控制器的物理计算机时。 在虚拟的交换机但是,需要进一步的说明,因为它是启用计算机网络上的单独服务器上的 VM 之间以及在同一个超 V 服务器上的 VM 之间的通信的关键。 实质上是,可以比较虚拟切换到其物理副本。 在创建通过调用该 CreatedVirtualSwitch 方法,但端口没有开关不是非常有用。

为了连接到物理网络的开关,您必须通过调用 CreateSwitchPort 方法中创建交换机端口,并与服务器上的可用以太网网络卡关联此端口。 可以将一个物理网络卡连接到只有一个的虚拟交换机,但您可能有连接彼此直接或通过运行路由器软件的 VM 的多个开关。 对于本文的目的,但是,网络路由器没有一个基本的 LAN 环境就使我上配置单个的虚拟交换机每个超 V 服务器连接到第一个可用物理以太网卡。

您也必须连接该 VM 到虚拟交换机。 再次,必须为每个 VM 创建一个单独的交换机端口,通过调用 Create­SwitchPort。 然后您可以将每个交换机端口关联与 VM 的虚拟网络适配器。 请不要忘记父分区连接到虚拟交换机,如果您想要提供外部网络连接。 可以通过调用 SetupSwitch 方法作为参数需要一个外部和内部的交换机端口,引用一个可用的物理以太网卡,和一个唯一的设备名和一个显示名称方便地完成此任务。

通过调用 SetupSwitch 方法,转换虚拟交换机从专用的交换机到一个外部的开关 hypervconfig.vbs 脚本助理材料中所示。 该脚本包含为 VM 设置外部网络连接的所有详细信息。 有关详细信息,阅读该 虚拟化 WMI 提供程序文档在 MSDN。 我 hypervconfig.vbs 脚本大量部分基于下可用示例"使用虚拟化 WMI 提供程序"

虚拟实验室部署

现在,完成超 V 的部署,并自动在每个系统重新启动后,VM 启动,我可以打开在实验室环境的实际部署我注意。 为培训中心,它可能 suffices 部署虚拟网络基础结构和来宾操作系统,并让以后部署在剩余的服务器应用程序的 trainees。 但对于开发、 测试和评估目的它是自动实现在整个部署实验室环境的更好。

总体方法与该超 V 方法类似。 执行无人参与的安装在的 OS 允许管理员帐户自动登录并运行任何其他的安装命令。 但是,您必须协调部署。

所有 VM 都启动到其安装例程实际上与的同时但有些服务器依赖其他服务器,因此不可能同时执行所有的安装。 是例如需要安装 AD DS,才可以将任何其他服务器添加到域,Exchange Server 2007 还要求安装 AD DS,SharePoint 服务器场需要 SQL Server,等,因此,可以在您的情况下,仅 VM 运行的 Windows 安装程序将立即是 DC01.Litware.com。 所有其他 VM 必须等待 DC 后启动并正在运行。

有多种实现的安装顺序。 您可以在 VM 的配置启动延迟,但此方法是众所周知的不可靠。 要匹配 Active Directory 安装始终完成 15 分钟内吗? 和多长时间执行该安装执行第一台 Exchange 服务器之后?

另一种可能是安装前提条件允许它切换在 VM 上一个基于 WMI 的脚本。 这是一个更好的选择不过它要求您协调与分布式 VM 部署的集中式的脚本执行。 它是不太复杂自定义每个单独的安装例程,并让检查任何给定的安装先决条件本身之前启动其 Windows 安装程序例程,如 图 5 所示的 VM。

fig05.gif

图 5 Implementing 部署序列基于安装系统必备组件

Windows PE 使我们可以实现这些自定义的安装例程。 它是一个最小 Win 32 操作系统有限的服务,但支持 Windows Script Host (WScript)、 WMI 和 Microsoft 数据访问组件 (MDAC)。 您只需要创建自定义的 Windows PE 映像、 添加所需的 Windows 功能包、 包含自定义的脚本和然后编辑 startnet.cmd 文件位于 %SYSTEMROOT %\ System 32 Windows PE 映像运行自定义脚本。

助理工作表"创建的服务器部署的自定义的引导映像"概述如何创建测试实验室环境中的每个服务器的自定义的 Windows PE 映像。 图 6 显示了如何使用此方法协调第二个 DC 的部署。

fig06.gif

图 6 测试实验室中的第二个域控制器的 Orchestrated 部署

在 startnet.cmd 文件中将包括 netsh 命令为 VM 的网络接口分配一个静态的 IP 地址,然后调用 StartSetup 脚本。 netsh 命令绝对必要,在启用了 DHCP 的环境中没有它有助于突出显示与网络相关的错误。 是例如如果在超 V 配置脚本,而不是旧的网络卡 (Microsoft 模拟以太网端口) 中,为您的 VM 提供标准的网络卡 (Microsoft 综合以太网端口),netsh 命令会通知您 Windows PE 不能识别该。

StartSetup 脚本不会不通知您有关此问题在尝试访问网络资源,因为 On Error Resume Next 语句使该脚本以支持运行时错误时。 如果由于某种原因,DC01 不可用的连接尝试失败,并在脚本继续无限地循环。 循环结束如果连接尝试成功时,仅且 DC01 为表示已安装 AD DS 全局编录服务器。

循环结束时, 该脚本将调用该实际安装程序命令,并将其使用特定于服务器的配置设置中指定的 unattend.xml 文件。 图 6 中的图演示如何等待全局编录服务器联机,但相同的原则也是适用于其他情形,如时检查的文件共享或 SQL Server 数据库。 只尝试访问该资源并退出循环,如果尝试成功。

Hyper-V 资源

Windows Server 2008 Hyper-V 网站上

Windows 虚拟化团队博客

Windows 部署服务指南

Windows 自动安装工具包

无人参与的 Windows 安装参考

服务器应用程序部署

安装任何所需的服务器应用程序配置 unattend.xml 文件以将服务器添加到域、 配置 TCP/IP 设置、 启用在远程桌面协议 (RDP),以及配置 <firstlogoncommands> 唯一的剩余任务是。 大多数 Microsoft Server 应用程序支持无人参与的部署。

对于 AD DS 必须提供的应答文件,如 Microsoft 知识库文章中所述" 如何使用 Windows Server 2008 的基于域控制器上的无人参与的模式安装和删除 Active 的 Directory 域服务." 对于 Exchange Server2007,应使用命令行参数而 (请参阅" 如何在无人参与模式中安装 Exchange 2007"在联机帮助中)。 SQL Server 2008,应遵循联机文章中概述的帮助说明" 如何: 从命令提示符处安装 SQL Server 2008." 和 Windows SharePoint Services 3.0,特别注意" Windows SharePoint Services Config.xml 参考."

要求在复杂性,但您可以部署这些系统无需任何管理员交互。 最后一个任务是按 F 12 键,使用 WDS 基于部署系统。

结论

Hyper-V 是令人兴奋的技术。 它是完全 64 位兼容,因此您无需再部署评估或培训目的的 32 位软件版本,如果 64 位版本可用。 它是 Windows 技术,因此您可以利用完整 WDS、 AIK 和 Windows PE 进行部署。 它支持 WMI 和 Windows PowerShell 通过虚拟化 WMI 提供程序,您可以使用管理虚拟化环境包括该设置的资源和 VM 部署过程中的所有方面。 一个程序而不是虚拟机监视器 (VMM) 来提供高性能,并提高可伸缩性,和它包含在 Windows Server 2008 在无额外成本。

Hyper_-_V 基于环境是相对 uncomplicated 部署。 只需要单击几下鼠标就可以开始使用在第一个的 VM,并且结合 Windows 部署技术是自动化甚至最复杂的方案的乐趣。

我可以看到,唯一缺点是在联机的文档,虚拟化 WMI 提供程序,这是仍在 infant 的阶段,,因此,示例代码不会包括所有相关的任务。 在的结果但是,是值得在努力。 很有趣,以查看部署本身的 IT 环境,即使它包含远少于 600 VM。

Fergus Strachan 是在 Microsoft 服务器基础结构设计和实现公司客户在英国擅长伦敦基于独立顾问。 Fergus 已写入有关 Microsoft 服务器技术和编写使用 Microsoft Exchange 2007 集成 ISA Server 2006 的技术文章。 他还是在 Microsoft Exchange Server 2003 Resource Kit 的 co-author。