System Center

使用 Virtual Machine Manager 2007 实现真正的控制

Edwin Yuen

 

概览:

  • System Center Virtual Machine Manager 2007 的主要功能
  • 如何安装 VMM
  • 将物理机或虚拟机转换为 VM

System Center Virtual Machine Manager 2007 是提供综合界面来管理整个虚拟基础结构的新解决方案。Virtual Machine Manager (VMM)

可管理现有 Microsoft® Virtual Server 2005 安装,还可将 Virtual Server 2005 R2 SP1 安装在新虚拟机 (VM) 主机上。使用 VMM 后,可通过集中式界面更加有效地执行传统 Virtual Server 2005 管理任务,并具有多个 Virtual Server 安装的管理访问权限。

此外,VMM 为 Virtual Server 带来了多种新功能,包括 VMware 虚拟机磁盘格式 (VMDK) 磁盘到 Virtual Server 虚拟硬盘 (VHD) 的物理到虚拟 (P2V) 转换、虚拟到虚拟 (V2V) 转换以及通过集中式虚拟基础结构对象库实现从模板和预配置 VHD 的快速 VM 部署。

在以下篇幅中,我将探讨 VMM 和它向 IT 管理员提供的强大功能组。然后,我将介绍创建 VMM 安装的需求和步骤。最后,我会深入介绍 VMM 的几个更激动人心的功能,并告诉您一些非常有用的入门技巧。

Virtual Machine Manager 2007 简介

System Center Virtual Machine Manager 2007 是一种独立应用程序,它针对在 Microsoft Virtual Server 2005 下运行的虚拟机提供企业级集中式管理。作为 System Center 系列的一部分,Virtual Machine Manager 与其他 System Center 产品相集成以提供端到端物理和虚拟基础结构管理。图 1 显示了 Virtual Machine Manager 的各种组件以及 VMM 如何与 Virtual Server 主机连接。

左侧框代表 VMM 服务器,右侧框代表虚拟机主机。如果愿意,也可将 VMM 组件安装在单独的服务器上以提高性能和可伸缩性。在本文中,我们将使用图 1 中的模型,即核心 VMM 组件均安装在一台计算机上。VMM 产品的核心是 Virtual Machine Manager 服务(左侧中心)。它的上面是进入服务的三个不同界面:Windows PowerShellTM 界面、管理员控制台以及具有委派置备管理的自助门户。起支持作用的 VMM 是一个 Microsoft SQL Server® 2005 数据库(可使用完整安装的 SQL Server 或 SQL Server 2005 Express Edition)和集中式库(它是虚拟基础结构组件的文件共享)。

图 1 System Center Virtual Machine Manager 2007 架构

图 1** System Center Virtual Machine Manager 2007 架构 **(单击该图像获得较大视图)

图 1 右侧代表 VMM 正在管理的 Virtual Server 2005 R2 虚拟机主机。底部为主机操作系统 — 在本例中为 Windows Server® 2003 R2。VMM 将在虚拟机主机上安装一个代理,以方便 VMM 和 Virtual Server 2005 R2 之间的通信。它是在物理主机上的单个安装,未在 VM 或来宾 OS 中安装。如果未在主机上安装 Virtual Server,则在将主机添加到受管服务器列表中时,VMM 可自动执行安装。

作为 System Center 系列产品的一部分,Virtual Machine Manager 将新 System Center(或 Outlook® 样式)界面用作管理员控制台(与传统 MMC 插件相反)。VMM 管理员控制台(参见图 2)采用 Microsoft .NET Framework 2.0 并以 Windows PowerShell 1.0 为基础。实际上,在管理员控制台中执行的所有操作均实际调用相关 Windows PowerShell 命令。因此,在管理员控制台中调用的任何命令或函数也可通过 Windows PowerShell 中的命令行来直接调用。

图 2 显示受管理虚拟机的 VMM 管理界面

图 2** 显示受管理虚拟机的 VMM 管理界面 **(单击该图像获得较大视图)

管理员控制台中的每个向导还包含一个 View Script(查看脚本)按钮,用于显示要运行的命令的相关 Windows PowerShell 脚本,从而为学习 Windows PowerShell 提供一个不错的起点,因为它与 VMM 相关。一旦习惯将 Windows PowerShell 与 VMM 配合使用,您将可以通过 VMM 编写大量操作的脚本。

Virtual Machine Manager 旨在向 IT 管理员提供以下三个主要优点:它允许您最大限度地利用资源、具备更好的灵活性并充分利用现有技能。VMM 通过多种特性和功能来提供这些优点。首先,VMM 提供一种方法来将物理服务器转换成虚拟机,即称为 P2V 转换的过程,以此帮助最大限度地使用资源。它使您可将现有物理机器合并成虚拟机,而无需重新安装这些机器。在转换硬件利用率较低的计算机时,这一点尤为重要,因为可将多台此类计算机一起放置在单个物理硬件上。这点对于某些机器可能特别有用,例如,对于具有很少使用但由于每年要运行一次而仍需维护的旧版软件(如监管会计软件)的计算机。在与 System Center Operations Manager 2007 结合使用时,VMM 可有助于生成服务器合并候选对象报告,以查看物理基础结构中的哪些计算机可能是 P2V 的候选对象。

如果虚拟机已为 Vmware 的 VMDK 格式,VMM 可执行 V2V 转换以将现有 VMDK 转换成 VHD 格式。您可因此迅速启用并运行 Virtual Server 2005 环境。

作为任意部署(无论是新的还是已通过转换启动的)的一部分,VMM 均使用名为“智能定位”的过程将 VM 部署到虚拟机主机。通过“智能定位”,VMM 查询所管理的所有虚拟机主机、检索有关这些主机的资源可用性的多个参数,然后返回将 VM 部署到其中的推荐主机加权列表。然后,管理员可选择接受建议、调整算法以满足特殊需求或仅将 VM 部署到所选择的服务器,如图 3 所示。通过使用虚拟基础结构和其主机建议的合并视图,“智能定位”大大减轻了与 VM 部署相关的负担。

图 3 智能定位提供对最佳 Virtual Server 主机的建议

图 3** 智能定位提供对最佳 Virtual Server 主机的建议 **(单击该图像获得较大视图)

VMM 其他具备很多优点的功能包括集中式库和用于委派置备的自助门户。图 4 中所示的库可集中存储构建虚拟基础结构所需的所有组件,包括预创建和可付诸部署的 VHD、具有 OS 和硬件配置的模板、ISO 文件、脚本和配置文件。可通过这些组件创建和部署新的 VM,并使用模板和配置文件在各 VM 之间标准化硬件和软件配置。VMM 还支持分布式库,在继续集中管理组件的同时允许将组件存储在远程位置中并在远程位置中保持大的文件传输量。

图 4 VMM 库包含虚拟基础结构的所有构建块

图 4** VMM 库包含虚拟基础结构的所有构建块 **(单击该图像获得较大视图)

自助门户是与 VMM 服务和 IIS 安装集成的网站。门户向 Active Directory® 授权用户和组授予对 VM 的访问权限,具体可用功能取决于针对该用户或组创建的策略。这些功能包括能查看和访问 VM、运行和关闭 VM 及根据具体委派资源新建 VM。

管理员创建自助策略来将特定功能授予 Active Directory 用户和组、特定虚拟机主机或主机组、特定 VM 和模板。自助门户使管理员能安全地将功能委派给最终用户。若无此功能,管理员将需要授予最终用户对管理员控制台的访问权限以管理他们的 VM,或者要求最终用户针对每个功能提交请求,从而带来繁重的电子邮件和电话工作量,而其目的仅是执行如 VM 启动和重置之类的操作。

Virtual Machine Manager 安装

VMM 当前管理 Active Directory 域(或受信任域)中 Window Server 2003 SP1(和更高版本)上安装的 Virtual Server 2005(和更高版本),以及使用 VMM 的外围网络支持的非域主机。不支持在桌面操作系统(如 Windows® XP)上安装 Virtual Server。P2V 操作仅适用于与 VMM 服务器位于同一域(或受信任域)中的物理机器。

尽管我已建议在生产环境中的服务器上分别安装每个 VMM 组件,此处的说明将介绍的是单服务器安装。安装 VMM 服务器的建议硬件是基于 x86 或 x64 的服务器、至少 2GB RAM 且频率为 2.8GHz 或更高。由于它是具有本地 SQL Server 数据库的单服务器安装,因此需要 7GB 的硬盘空间。如果改为使用远程数据库,则 VMM 安装仅需 1GB。本地库安装另外需要 80GB 的硬盘空间。

此外,VMM 要求将 WinRM 1.1 安装在 VMM 服务器、所有虚拟机主机以及 VMM 将管理的任何库服务器上。WinRM 是管理 Web 服务 (WS-Management) 协议的 Microsoft 实现。WinRM 是基于 SOAP 的协议,它不受防火墙的影响,允许不同供应商的硬件和软件相互操作和管理。VMM 使用 WinRM 来在 VMM 服务器、虚拟机主机和库服务器之间执行操作。可从 go.microsoft.com/fwlink/?LinkId=103610 下载 WinRM 1.1。

安装的其他前提条件包括 .NET Framework 2.0 和 3.0、Windows PowerShell 1.0 和 IIS(用于自助门户)。将在 VMM 软件安装过程中检查所有其他软件要求,并提供到正确安装程序的链接。如果任何需求未得到满足,安装将无法继续。

在开始 VMM 安装时,主菜单中提供有三个选项:Virtual Machine Manager Server、管理员控制台和自助门户。我们将在单个计算机上安装全部三个选项,从 Server 开始。设置过程开始后,开始屏幕会检查系统前提条件,您必须确保已满足所有这些条件才能继续安装。

满足前提条件后,应查看安装选项,尤其是与 SQL Server 数据库相关的选项。通过 VMM,可选择 SQL Server 2005 Express Edition 安装或使用现有 SQL Server 2005 数据库。在此示例中,我们将使用 SQL Server 2005 Express Edition。

在 VMM 安装向导的下一步中,您需确定集中式库的位置。该位置可以是 VMM 服务器上的本地目录(并且会针对该目录创建共享),也可使用现有文件共享。默认位置为 C:\Documents and Settings\All Users\Shared Documents\Virtual Machine Manager Library Files。

下一步为端口分配。在此步骤中,您需配置核心 VMM 服务器服务与管理员控制台连接所用的端口(端口 8100)、WinRM 用于执行管理功能的端口(端口 80,它是标准 HTTP 端口)以及后台智能传输服务 (BITS) 用于将文件移动到虚拟机主机的端口(端口 443,它是标准 HTTPS 端口)。收集完所有此类信息后,将显示摘要屏幕且服务器安装到此结束。

现在,我们开始安装管理员控制台。系统前提条件类似于 VMM 服务器,需要 .NET Framework 2.0 和 3.0 以及 Windows PowerShell 1.0。唯一配置选项是确认用于连接核心 VMM 服务器服务的通信端口。该端口应为 8100(在 VMM 服务器安装中所配置的)。安装结束时,会让您选择创建管理员控制台的桌面快捷方式以及在结束安装后打开控制台。建议两者都选。首次打开管理员控制台时,系统会提示您输入服务器连接信息。在单服务器安装情况下,您会连接到端口 8100 上的本地主机并按 Enter 启动控制台。

最后,在此服务器上安装自助门户。它的前提条件是 IIS、.NET Framework 2.0 和 3.0 以及 Windows PowerShell 1.0。在安装期间,唯一配置选项是与自助门户使用的端口相关的选项。第一个端口是连接到核心 VMM 服务的端口(端口 8100,与管理员控制台相同)。第二个端口是用于运行门户的端口。默认端口为端口 80,但是,在许多配置中,该端口可能已占用。必要时,将此端口更改为另一打开的端口(如 81)。

安装程序会创建一个名为“Microsoft System Center Virtual Machine Manager 2007 自助门户”的网站,并且可在 IIS 管理器中更改配置。以下为轻松实现安装的技巧:进入 IIS 管理器,并选择“Microsoft System Center Virtual Machine Manager 2007 自助门户”属性。查看网站的 ASP.NET 配置并确认 ASP.NET 版本已设置为 2.0。自助门户无法与设置为版本 1.1 的 ASP.NET 协同工作,并且由于 IIS 和 .NET Framework 版本安装顺序的不同,这些设置可能有所不同。

完成 IIS 安装后,可通过浏览至 Internet Explorer® 中的 https://localhost:81。如果在打开网站的过程中系统提示您进行身份验证,那是 Internet Explorer 安全设置所导致的。应在 Internet Explorer 的 Intranet 环境中运行自助门户;您可能需将 VMM 服务器添加到本地配置中的 Intranet 站点列表中。完成此类更改后,您将随时可以在 VMM 中创建和使用自助策略。

Virtual Machine Manager 功能

尽管 VMM 中存在许多令人兴奋的功能,但最令人感兴趣的两个功能无疑是“物理到虚拟”以及“虚拟到虚拟”功能。管理员控制台支持这两种功能。由于 VMM 管理员控制台构建于 Windows PowerShell 的基础上,因此也可通过 Windows PowerShell 自身运行所有命令。对我们而言,我们将探讨使用管理员控制台的 P2V 过程以及通过 Windows PowerShell 实现的 V2V 过程。

物理到虚拟转换

为执行 P2V 转换,我们使用 VMM 管理员控制台。对于将转换的物理机器有几个要求。首先,该机器必须为当前域或某个受信任域的成员。VMM 将连接到该机器上以安装 P2V 代理以及转换必要的信息。其次,源机器必须运行支持的操作系统。P2V 的支持操作系统为 Windows Server 2003、Windows 2000 Server 和 Windows XP Professional。如果该源机器运行的是 Windows Server 2003 或 Windows XP,VMM 将使用卷影复制服务 (VSS) 来合并硬盘并将数据以流式传入虚拟硬盘。它可在无任何停机时间的情况下转换机器,因此您不必为此服务器计划停机时间,只需创建 P2V 映像。对于 Windows 2000,会创建一个 Windows PE 引导盘以方便 P2V 映像创建。在此示例中,我将使用 Windows Server 2003 目标。

通过选择管理员控制台右上部分中的 Actions(操作)下的“Convert physical server(转换物理服务器)”选项,启动 P2V 过程。随即出现 P2V 向导(如图 5 所示)。第一个页面是 Select Source(选择源)步骤,即确定要转换的机器。输入该机器的 DNS 名称以及连接并管理机器的适当域凭据。下一步是命名产生的 VM。

图 5 VMM 的 P2V 功能具备向导,并内置于 
管理界面中

图 5** VMM 的 P2V 功能具备向导,并内置于 
管理界面中 **(单击该图像获得较大视图)

然后,向导将开始从源机器收集信息。单击 Gather System Information(收集系统信息)后,VMM 将安装 P2V 代理,它将检索有关源机器的操作系统、硬盘和网络适配器的必要信息。单击 Next(下一步)进入验证屏幕,以确认不存在阻碍转换的已知问题。如果有,应显示可能的解决方案。

检索到配置信息后,可选择要转换的硬盘分区。默认情况下,选择引导分区并且存在的任何其他分区均变为可用。可选择在转换中包含哪些分区。P2V 是智能复制过程,即意味着它仅拉动指定分区上的数据,而非固定传输整个硬盘映像和大小。

最后,向导将执行标准 VMM 部署步骤(包括之前所述的 Virtual Server 启动配置和“智能定位”过程)。完成向导后,将弹出 Jobs(作业)窗口以向您展示 P2V 的整个过程和进度。

默认情况下,新转换的 VM 不会自动启动(它们已转换成 Stopped(停止)状态),并且 P2V 过程也不会关闭或更改源机器的运行状态。它是一个非破坏性 P2V 过程。由于新 VM 与原始服务器具有相同的计算机名称、IP 地址甚至 MAC 地址,必须先关闭该机器才能启动 VM。如果希望源机器关闭或新转换的 VM 自动启动,可从 Windows PowerShell 命令行实现。作为此过程的一部分,在测试环境中执行 P2V 然后运行所得 VM 是个不错的主意,这样可以确保成功转换所有数据。

虚拟到虚拟转换

要执行 V2V,需具有 VMWare 虚拟机(VMDK 文件格式)以及在指定目标虚拟机主机上有效安装的 VMM。VMM V2V Windows PowerShell cmdlet new-v2v 支持以下四种 VMDK 文件格式:monolithicSparse、monolithicFlat、twoGbMaxExtentSparse 和 twoGbMaxExtentFlat。大部分现有 VMDK 文件均属于这些类别之一。

V2V 过程仅适用于脱机 VMDK 文件。然而,P2V 过程可用于转换当前正在运行的 VMware 虚拟机。VMware 虚拟机包含两个主要组件 — 作为存储数据的虚拟硬盘的 VMDK 文件以及包含虚拟机配置信息的 VMX 文件。VMDK 文件和相关 VMX 可放置在库位置中,该位置应使您可以访问和转换 VMware 虚拟机,而无需从原始服务器授予文件的访问权限。

在 V2V 过程中,VMDK 文件将转换成 VHD 文件,来宾操作系统将被整理以与 Virtual Server 协同工作,并创建一个新虚拟机以尽可能接近地匹配原始配置,以执行 Virtual Server 支持的虚拟硬件所需的更改。注意:可通过 Windows PowerShell 分别管理转换过程的每个部分,从而可在针对新虚拟机分配主机前实现大量格式转换。在本示例中,我们是希望转换和部署 VHD。

尽管可通过管理员控制台和 Windows PowerShell 执行 V2V,但在本示例中,我们将使用 Windows PowerShell。为启动 V2V 过程,先启动加载 VMM cmdlet 的 Windows PowerShell 窗口。方法是单击 Start(开始)| All Programs(所有程序)| Microsoft System Center | Virtual Machine Manager 2007 | Windows PowerShell—Virtual Machine Manager。

出现的窗口标题应为 Windows PowerShell—Virtual Machine Manager。否则,可能是未加载 VMM cmdlet。Windows PowerShell 打开后,可通过运行以下命令查看 new-v2v 命令:

get-help new-v2v –full | more

它将为您提供如何执行 V2V 的语法和示例。在本文的示例中,VMM 服务器名为 vmmserver.contoso.com,目标虚拟机主机名为 vshost1.contoso.com,并且库服务器 vmmserver.contoso.com 提供 VMDK。

首先,通过 get-vmmserver 命令确定将用于执行 V2V 的 VMM 服务器环境。与所有 Windows PowerShell 命令一样,get-vmmserver 遵循“动词-名词”格式并使用破折号表示参数。下行内容显示了用于确定 VMM 服务器的命令:

get-vmmserver –computername "vmmserver.contoso.com"

它将 vmmserver.contoso.com 设置为执行命令的 VMM 服务器环境。以上命令的结果是有关 vmmserver.contoso.com 的详细信息列表。如果命令不正确或语法有错,会显示一条红色错误消息来描述问题。

下一个步骤是确定目标虚拟机主机,即将转换后的 VMDK/VHD 分配至其中的 Virtual Server 主机。接下来,我们将使用 Windows PowerShell 中的以下命令将虚拟机主机值分配给变量 $vmhost:

$vmhost = get-vmhost –computername 
"vshost1.contoso.com"

此命令不会在命令窗口中产生任何反馈,但只需通过在 Windows PowerShell 提示符下键入 $vmhost 然后按 Enter,即可轻松确认是否已正确设置此变量。它应显示 $vmhost 中存储的信息(有关 vshost1.contoso.com 的详细信息,类似于上面针对 VMM 服务器显示的信息)。

除虚拟机主机外,还需确定 VMDK 文件所在的库服务器。命令类似于之前使用的虚拟机主机命令:

$library = get-libraryserver –computername 
"vmmserver.contoso.com"

与 $vmhost 一样,在命令行中输入 $library 将显示库服务器信息。

最后,可实际键入命令来执行 V2V 转换。为此,可使用 new-v2v 命令和 get-help 函数。在该命令中,可继续确定 VMX/VMDK 的库服务器、目标主机、生成 VM 的名称以及转换后 VHD 文件的路径。

对于命令行,大部分引用是从目标主机(在本例中,为 vshost1.contoso.com)角度出发完成的,安装路径为对 VSHOST1 的本地引用。VMX 路径是从库服务器角度出发的。Windows PowerShell 中生成的命令行如下:

new-v2v –LibraryServer $library –vmxpath 
"\\vmmserver.contoso.com\MSCVMMLibrary\VMDKS\ConvertMe.vmx" 
–vmhost $vmhost -name "DemoV2V" 
–path "C:\VHDs"

您可以看到,我们将转换库服务器 $library (VMMSERVER) 上的 \\vmmserver.contoso.com\MSCVMMLibrary\VMDKS\ConvertMe.vmx 的 VMX/VMDK,并以名称 DemoV2V 将它部署到变量 $vmhost 中的主机 (VSHOST1),路径为 VSHOST1 上的 C:\VHDs。

运行命令后,返回 VMM 管理员控制台中的 Jobs(作业)窗口查看进度始终是个不错的主意。VMX/VMDK 将被转换并复制到 VSHOST1,所得 VHD 将在该处作为 DemoV2V 添加到 VM 列表中。完全完成此过程后,您将能够使用 VMM 来启动新虚拟机并查看结果。

总结

您可以看到,System Center Virtual Machine Manager 2007 为虚拟基础结构带来了许多不错的新特性和功能。通过查看 P2V 和 V2V 过程,我应该已清楚表达了 Virtual Machine Manager 操作有多简单。

VMM 旨在简化 IT 管理员在创建、部署和维护 VM 方面的工作。在发布 System Center Virtual Machine Manager 2007 后,我强烈建议 Virtual Server 2005 管理员研究一下使用 Virtual Machine Manager 来维护其虚拟机主机。对于 Windows Server 2008 中新 Windows Server 虚拟化的用户,Microsoft 将在下一版本的 System Center Virtual Machine Manager(它将在最终版 Windows Server 2008 虚拟化发布后可用)中提供针对 Windows Server 虚拟化的支持。

有关 VMM 的其他信息以及下载演示,请访问 microsoft.com/SCVMM。有关所有 Microsoft 虚拟化产品的详细信息,请访问 microsoft.com/virtualization

Edwin Yuen 是 System Center Virtual Machine Manager 的 Windows 企业管理部门的技术产品经理。Edwin 是在 2006 年 7 月 Microsoft 收购 Softricity 后加入 Microsoft 的。Edwin 还具有 13 年在商业和联邦部门担任技术顾问的经验。他拥有约翰-霍普金斯大学的电气工程学士学位。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.