分布在工作站或大型中央服务器上进行testing和文档化的虚拟化?

我们正在考虑推动为我们的testing和文档团队应用虚拟化,以帮助pipe理一致的testing和文档环境。 我们正在考虑select一个真正的大型中央盒子来整合多个VM实例,或者只是确保每个人都拥有大量的磁盘空间,并在每台机器上运行诸如虚拟盒子之类的东西。

我相信肯定有人试过这两种configuration中的一种或两种,并且可以告诉我这两种方法的优缺点是什么?

我们已经做了类似的事情,但最终还是回到了基于桌面的虚拟化解决scheme。

优点是你可以控制你的configuration的细节水平,并确保他们是与我们的生产机器同步的标准化和升级。

不足之处在于,Selenium运行的深夜(作为webapps上持续集成的一部分)可能会取消其他人可能需要的实例,因此您需要为每个人提供Dom0的root权限,并希望开发人员能够修复当他们rest的时候,或者一个pipe理员不得不花费很less的时间让中央盒子运行。 我们也尝试分割实例(每个开发者每种types的一个实例),但是发现pipe理也很复杂,因为每个开发者都以自己独特的方式破坏了事物。

我们目前的政策是让开发人员在苹果的硬件上工作,因为它可以在各种产品下运行Linux和Windows的DomU,而且我们还没有想过如果在Wintel硬件上甚至有可能运行OSX DomU。

我可以给你我喜欢集中式/服务器方式的理由。

  • 配额:允许我/pipe理员将VM用户分组,并将他们可分配的资源分配给项目/ VM
  • 集中观点:让我发现趋势,我们需要多快购买更多内存/服务器
  • 备份:我比pipe理工作站更容易pipe理服务器备份
  • 共享池:我相信,花费在服务器硬件上的资金将比工作站(尤其是在弹性时间组织方面)有更高的利用率。 当人们度假时,他们会闲着。

我也觉得,为了降低高端服务器和工作站的负担,你会得到更多的回报,但这可能只是一种直觉。

我们确实有一些爽快的VM搅拌笔记本电脑,主要用于:

  • 专业服务:将testing环境拖到客户现场是一种天赐良机
  • 销售演示

答案当然是“视情况而定”。

如果您在工作站上运行VMWare Workstation或使用VMWare Player,因为每个用户都需要自己的实例,则VM的每个运行实例都必须是唯一的副本。 由于本地磁盘总是比networking磁盘快,所以您最好将虚拟机复制到各个工作站。 这意味着最终用户对虚拟机拥有更多的控制权,并可以在虚拟机停止/杀死虚拟机。

如果你在中央服务器上运行它们,因为你需要严格控制虚拟机的内容,而且你有一些像NetApp或者其他什么类似的可靠的文件服务器,那么我想把它们放在文件服务器上iSCSI或NFS)并像那样运行它们。 这样,如果虚拟机服务器死了,你的虚拟机就不会停留在被破坏的服务器的本地磁盘上。 (我认为你的超可靠的文件服务器有一些7×24的forms,“这是一个破产”的支持合同。

根据目标是什么,我已经完成了这两种方法。

我们在工作站上testing/开发虚拟机,而不是集中式虚拟机服务器。 主要的好处是更好的开发人员控制(重新启动,摆弄等),更好的隔离(如果开发者做了一些非常愚蠢的事情,最糟糕的事情就是他们将自己的工作站的CPU融入到了玻璃中),而且事实上硬件只是坐在人们的办公桌下,什么都不做(绿色计算,等等)…