虚拟环境概念和准则
提示
本主题假定您熟悉虚拟化的基本概念,如在主题为应用程序生命周期使用虚拟实验室中介绍的虚拟机和虚拟机模板。
本主题介绍有关使用 Visual Studio 实验室管理工具版在 Microsoft 测试管理器中创建虚拟环境的概念和准则。 本主题包含以下各节:
虚拟环境
存储环境和部署环境
团队项目实验室中的部署环境
团队项目库中的存储对象
环境查看器
虚拟环境创建准则
无网络隔离的环境
网络隔离环境
组合环境
存储的虚拟机和模板的准则
虚拟环境
虚拟环境是由 实验室管理工具版管理的虚拟机集合。 可以使用此虚拟环境从 Microsoft 测试管理器运行手动测试和自动测试。 可计划 Microsoft Team Foundation Build 工作流以在虚拟环境中生成、部署和测试应用程序的生成。 通过将实验室管理工具版与 Microsoft System Center Virtual Machine Manager (SCVMM) 集成,可以有效地创建、存储和运行这些环境。
利用实验室管理工具版环境,测试人员可执行以下任务:
存储环境的快照,此快照保存了环境中所有虚拟机在某个时间点的状态。
测试人员可以为已配置的环境拍摄快照,然后在测试后将该环境恢复到此干净状态。 发现 Bug 的测试人员可以为该环境拍摄快照,然后将该快照的链接附加到 Bug。 当测试人员继续执行其工作时,调查 Bug 的开发人员可创建快照环境的副本。
同时启动和停止虚拟机。
运行存储在库中的环境的多个副本。
Microsoft 测试管理器实验室和库中的存储环境和部署环境
从测试管理器的**“实验室”和“库”**选项卡,为团队项目管理实验室管理工具版环境。
**“实验室”**选项卡提供对虚拟环境和团队项目的主机组上部署的计算机的访问。 主机组是用于承载环境的一个或多个物理计算机的集合,它们由实验室管理工具版管理。 将主机组视为一台计算机来与之进行交互。
**“库”选项卡提供对用于在团队项目的“实验室”**中创建虚拟环境的存储环境、虚拟机和模板的访问。
团队项目实验室中的部署环境
测试管理器的**“实验室”**选项卡显示可用于团队项目的部署环境和虚拟机。
部署环境是位于团队项目主机组上的虚拟机的集合。 已部署环境可以正在运行或已停止。
从**“实验室”**选项卡中,可通过环境查看器连接到各台计算机,并可在团队项目库中创建和存储虚拟机和模板。
部署环境的源
可从以下源创建部署环境:
1 |
一个或多个模板。 模板是一个其计算机标识符已被删除的虚拟机。 |
2 |
存储的虚拟机或模板的任意组合。 大多数情况下,减少出现错误的可能性的最佳做法是,仅从存储的虚拟机或模板创建环境。 |
3 |
模板的存储环境。 |
4 |
存储的虚拟机或模板的任意组合的存储环境。 |
5 |
已在实验室管理工具版外部创建的一台或多台部署虚拟机。 这些环境称为“组合环境”。 |
团队项目库中的存储对象
从**“库”**选项卡中,可导入、修改和删除存储的虚拟机和模板。 还可创建和修改存储环境,并将这些环境部署到实验室。
存储的虚拟机和模板
**“实验室”**选项卡的“存储的虚拟机和模板”区域列出了可用于创建部署环境的虚拟机和虚拟机模板。
以下是存储的虚拟机和模板的两个源:
管理员在 SCVMM 库共享中创建和存储虚拟机和模板。 然后,您将虚拟机和模板导入团队项目库中。
您从部署环境中的虚拟机创建虚拟机或模板,并将其存储在库中。
存储模板
模板是一个其标识信息已被删除的虚拟机。 在部署环境中包括模板时,会创建新的虚拟机。 可配置模板以自动提供标识信息,也可以在部署环境时提供标识信息。
存储的虚拟机
当您在部署环境中包含来自团队项目**“库”中的存储的虚拟机时,该虚拟机的副本将准确复制到“实验室”**的主机中。 由于复制的虚拟机的标识与源虚拟机的标识相同,因此您必须采取措施以避免联网的计算机上出现重复标识。
最佳做法是,确保**“库”**中的所有虚拟机都是工作组计算机,而不是加入域的计算机。
在创建非网络隔离的环境时,请更改计算机名称,然后将其加入外部域。
通过先更改计算机名称,然后将计算机加入域,可以确保虚拟机的标识是唯一的。
如果创建网络隔离环境,则实验室管理工具版会为外部网络上的虚拟机创建别名。 可使用环境内的专用网络中的计算机,也可以将其保留为工作组计算机。
环境
“库”选项卡的环境区域列出了团队项目的存储环境。 存储环境包括虚拟机和模板的配置信息和参考。 可从存储环境部署新环境。
环境查看器
用于在实验室中管理正在运行的环境和虚拟机的 Microsoft**“环境查看器”。 利用“环境查看器”**,可执行以下操作:
启动、停止和暂停环境。
拍摄环境状态的快照,或将环境还原到上一个快照。
查看环境及其包含的虚拟机的状态和系统信息。
连接到环境中的单个计算机。
有关更多信息,请参见操作和修改虚拟环境。
虚拟环境创建准则
以下是创建和使用虚拟环境的三个常见模式:
使用非网络隔离环境。
使用网络隔离。
在组合环境中使用部署虚拟机。
无网络隔离的环境
未使用网络隔离的环境将仅加入外部网络。 从项目**“库”**中的虚拟机、模板和存储环境中创建这些环境。
创建从存储的虚拟机和模板中创建的环境
在从存储的虚拟机或模板创建部署环境时,自定义每台部署虚拟机以使其具有唯一名称。 可将模板配置为自动提供自定义项。 操作完环境后将其删除。 其他用户可使用同一方式从相同的存储的虚拟机或模板创建类似的环境。 有关更多信息,请参见如何:从虚拟机或模板创建环境
从存储环境中创建环境
还可从存储的虚拟机、模板或部署环境中创建存储环境。 在部署存储环境时,您必须自定义从存储的虚拟机中创建的虚拟机的名称;可将模板配置为自动提供自定义项。 有关更多信息,请参见创建存储环境。
从模板的存储环境生成的各个环境在功能上相同。 这些环境不是各自的完全相同的副本,因为计算机在部署环境中的标识都是唯一的。
优点
可以同时运行环境的多个副本。
如果更改虚拟机的标识不会影响您环境中正在运行的预安装应用程序,则部署环境是一项简单的任务。
环境中虚拟机的数量和大小不受限制。
缺点
必须为每个部署的虚拟机都提供标识信息。 可使用模板自动执行此过程。
部署环境不是各自的准确副本。
会破坏不能为处理更改的标识而重新配置的预安装应用程序。 这些应用程序必须在部署后安装。
一次只能运行一个环境快照。 例如,如果测试人员在发现 Bug 时创建环境状态的快照,则无法在与负责调查的开发人员共享环境副本,并将继续操作其环境。
网络隔离环境
通过使用两个网络适配器,可避免网络隔离环境中的计算机发生网络冲突。 一个网络适配器用于环境内的专用网络。 另一个适配器由实验室管理工具版配置,用于向外部网络呈现单独的唯一标识。 计算机的 NetBIOS 广播处于禁用状态,并且实验室管理工具版标识注册为该计算机的别名。 利用此单独的标识,可以在环境中的虚拟机与外部网络之间进行双向通信,即使该环境的多个副本正处于运行状态。
可存储网络隔离环境,以便能同时运行环境的多个副本。 在复制网络隔离环境时,这两个副本中的对应的虚拟机是各自的准确副本,因为每当部署专用网络中的计算机时,其标识都保持不变。 外部网络上的虚拟机的别名可确保不发生网络冲突。
在从虚拟机或模板部署环境时,通过选择网络隔离功能来创建网络隔离环境。 然后,安装任何所需的应用程序。 如有必要,还可将虚拟机连接到专用网络。 之后,可将环境的副本直接存储到库中。 团队成员可同时部署存储环境的多个副本。 有关更多信息,请参见如何:创建和使用网络隔离环境。
优点
部署的环境是相互之间的精确副本。 开发人员和测试人员可确保其环境是相同的。
预安装应用程序不受部署的影响。 由于计算机的标识未发生更改,因此不必重新配置或重新安装应用程序。
为生产环境建模的环境以隔离环境的形式进行创建时最方便。
可同时运行环境的多个快照。 例如,测试人员可在发现 Bug 时创建环境状态的快照,然后将环境的副本存储到库中。 当开发人员从存储副本部署新环境并使用存储快照调查 Bug 时,测试人员可继续操作环境。
缺点
隔离网络中的所有虚拟机都必须在单个主机上装载。
网络隔离环境中的虚拟机必须加入工作组或加入虚拟环境中由域控制器承载的专用域。 无法将网络隔离环境中的虚拟机加入由实验室网络上的域控制器承载的域。
当隔离环境使用专用域时,每个部署的环境都需要域控制器和 DNS 服务器。 应将另一个虚拟机用于此角色。 专用工作组不需要另一个计算机。
环境中的每个虚拟机都需要两个网络适配器。 您的应用程序在使用两个网络适配器的计算机上可能无法工作。
组合环境
从主机上部署的虚拟机创建组合环境。 这些虚拟机的创建和管理由测试管理器执行。 因此,在创建环境之前,必须配置部署虚拟机以避免发生网络冲突。
当管理员将虚拟机放置在团队项目**“实验室”**中的物理计算机上后,可通过在复合环境中选择一个或多个虚拟机来创建新的环境。 完成对环境的操作后,将其删除可将虚拟机释放给管理员。 不应将组合环境的副本存储到库中。 有关更多信息,请参见如何:利用部署的虚拟机构造环境。
组合环境在以下两种常见方案中很有用:
通过使用现有虚拟机开始使用实验室管理工具版。组合是创建虚拟环境最快方式,了解在这些环境中执行测试的好处。 开始前,您不必了解模板和库的概念。
合并组织内用于测试实践的虚拟机。 您只需利用现有虚拟机,将其组合到虚拟环境中,然后将其用作工作流部署或测试的目标,而不用重新创建所有资产。
优点
在现有虚拟机上安装实验室管理工具版和相应的测试管理器软件代理后,可立即创建并使用虚拟环境。
无需中断当前测试,即可过渡到实验室管理工具版。
缺点
无法将这些环境存储到库中,也无法创建多个副本。
无法在组合环境中配置网络隔离功能。
存储的虚拟机和模板的准则
可以使用团队项目库中存储的虚拟机和模板的任意组合。
在团队项目库中选择存储的虚拟机和模板时,主要的注意事项是避免域中出现命名冲突。
虚拟机中的命名冲突
一台计算机有多个标识符,可利用这些标识符在网络上或工作组中对计算机进行唯一标识。 这些标识符包括:
计算机名称 - 此名称也称作计算机名或主机名。
MAC(媒体访问控制)地址 - 网络适配器的标识符。
SID - 分配给计算机的 Windows 安全标识符。
IP(Internet 协议)地址 - 计算机的唯一数字标识符。
如果一台虚拟机的多个副本正在域或工作组中运行并共享这些标识符中的一个或多个标识符,则经常会发生命名冲突。 两台虚拟机之间的命名冲突可能导致以下情况:
一台或两台虚拟机从网络中断开。
如果两台虚拟机在网络上具有相同的标识,则网络通信的目标将发生错误,即应发送给一台虚拟机的命令或消息可能会发送给另一台虚拟机。
建议的做法是,尽可能使用模板。 虽然一些用户并不熟悉模板这一概念,但使用模板可减少出现名称冲突的风险,因而付出额外的时间来了解模板还是可接受的。 可将模板配置为自动为从中创建的虚拟机创建唯一标识,也可以配置模板以要求用户在部署模板时提供标识。 模板还提供其他部署选项,这些选项(例如,在部署虚拟机时运行脚本以及指定部署虚拟机要加入的域或工作组)对存储的虚拟机不可用。
在某些情况下,存储的虚拟机会成为首选。 例如,如果安装了依赖固定计算机名称的应用程序(如 SQL Server),则应使用虚拟机(而非模板)将已配置虚拟机的副本存储到团队项目库中。 在上述情况下,若要同时运行虚拟机的多个副本,您必须在环境中使用网络隔离。
可以通过虚拟机模板和存储在团队项目**“库”**中的虚拟机,在部署环境中创建具有唯一标识的虚拟机。