是否可以使用单个虚拟机映像来运行多个guest虚拟机(Windows(Server?))?

是否有可能使用单个虚拟机映像来运行多个guest虚拟机,其中每个guest虚拟机都是Windows Server操作系统(特别是Windows 2003R2,我们将迁移到2008R2或其他最新版本) ,安装了完全相同的应用程序和相同的窗口设置(因此希望单个图像),但只有less数configuration文件,计算机名,IP地址等不同。

编辑注意: Windows Server不是我们必须的。 我们可以运行客户机/节点为XP或Win7,它也可以工作。

所以基本上我希望客人分享一个通用的“OS +应用程序服务”,在这里OS和应用程序的所有补丁只需要pipe理一次。

但是,每个访客都应该在networking上显示为一个单独的服务器(域中的计算机名称等),并且每个访客可能会有微小的configuration差异。 (例如,一些客人将运行服务X和Y,其他客人将运行服务X和Z.)

这是可能的任何虚拟化解决scheme? 需要什么硬件? 什么厂商支持这个? 毕竟这是一个好主意(对于服务器)?


背景:这是为我们的生成服务器场。 无论如何,每个构build节点都应该完全相同,除了“身份”(计算机名等)使其可以从主构build节点访问。 (主构build节点与构build自动化软件相同,但是有一些细微的区别)。

我不知道任何解决scheme,可以让你replace主图像的基础位,并让他们神奇地传播到多个从属系统。 但是,如果您可以在每次修补主服务器时以非常低的时间和工作成本重build从服务器,则可以获得几乎相同的结果。

在我们的开发环境中,我们使用vSphere,并使用VMware链接克隆function克隆我们的主开发Web和开发数据库服务器。 您无法使用常规的GUIpipe理工具访问它,因为链接克隆主要用于VMware View(这可以轻松pipe理此类解决scheme,但与Windows Server OS不兼容); 但是,该API可用且受支持,因此可以使用脚本处理链接克隆。 这两个可用的选项是基于Perl的http://download.virtuallyghetto.com/vGhettoLinkedClone.html和PowerCLI(VMware PowerShell扩展) http://www.vmdev.info/?p=202

一旦学习了如何创build链接克隆,您将需要找出一种方法来自定义您创build的每个克隆。 不幸的是,在这里我不能帮你,因为我们的开发工作都是Linux,定制一个Linux克隆是微不足道的(对于初学者来说,没有一个sysprep搞砸了),但是我知道自动化的Windows定制仍然是可行的 – 基本上,来完成与使用vCenter Client创buildWindows VM的常规克隆时所执行的相同的操作。

这不是一个简单的项目,我们花了几个星期才能让所有的东西都顺利运行,但是现在我们可以在几分钟内重新创build完整的开发环境,同时还要pipe理(修补,编码和数据库模式更新,新的应用程序部署)只有两个主虚拟机。

我不打算在这里讨论硬件,因为这一切都取决于您的特定需求:服务器的大小和数量,开发人员对性能的期望等。随意浏览Serverfault以获取vSphere环境的devisebuild议,您将find很多好的build议。

作为PS,由于我怀疑这是除了最大的开发公司之外的任何一个经济高效的途径,但不宜省略:如果您拥有大量资金,则可以使用vCloud Director在任何操作系统上实现类似于查看的结果: http://www.vmware.com/products/vcloud-director/overview.html

不是我所知道的,这就是为什么:

与您所描述的最接近的虚拟化方法就​​是Solaris Zones和OpenVZ之类的东西。 这些当然是nix系统,但它仍然是一个有用的例子。 这种types的虚拟机在所有虚拟机和主机操作系统之间共享一个内核 ,所以当主机操作系统内核被修补时,所有虚拟机都会得到相同的补丁(当然,在重启所有的步骤之后)。 他们无法共享的是任何文件系统更改,如libpam或任何系统库的修补程序。

Windows是一个不同的生物,可以说更依赖于内核/文件的交互。 与* nix系统相比,它更不能做你正在做的事情。 最大的绊脚石是机器身份基本上保存在一个单一的文件支持的内存中而不是* nix系统的文件中。 这比“/ etc中的几个文件”更难改变。

您可以从主图像开始,根据需要复制它,然后根据需要自定义名称和IP等内容。 但是,一旦修改,您将需要pipe理每台机器的修补程序。 如果您使用的是VMware,则可以使用VCenter来pipe理修补程序。