我正在尝试运行一组虚拟机,以便为大型企业类型的项目提供专用的 Web 测试环境。我需要适用于 xp、vista、7、ubuntu 以及 hackintosh 或 2000 的虚拟机。我想基本操作系统将是 windows 7 或 ubuntu。我知道我需要大量的内存。我想问题是系统的规格应该是什么,以便我可以支持所有这些东西,或者我不应该在一个盒子里做这一切?谢谢!
答案1
很大程度上取决于您想要实现什么。您可以在 ESXi 机箱上同时运行上述所有操作,该机箱具有 8GB RAM、四核 CPU 和一对速度相当快的磁盘(10k),这些磁盘组成了 RAID 1 阵列,用于数据存储。您将在虚拟机上拥有相当少的硬件配置,而且我认为 ESXi 无法处理 OS X,至少我从未听说过有人这样做。
VMWare Workstation 7 可在 XP、Vista 和 7 客户端上提供更好的图形性能,改进对 Ubuntu(至少是 9.04)的支持,并且会稍微鼓励一下启动 OS X 客户机。新的 VMWare 播放器(免费)将处理相同的客户机并具有相同的性能,但它的局限性在于它不支持快照、克隆和团队等可能与测试练习相关的更高级的功能。
如果您希望以与真实桌面相当的性能水平运行客户机,那么为客户机预算大约 8-10GB RAM,为主机预算另外 2GB,总共 12GB RAM。
双四核 CPU(或单个六核)将允许虚拟机管理程序在其自己的核心中调度每个虚拟机,而无需处理任何事情,并且交互性能将明显更加流畅。
对于磁盘子系统,您理想情况下希望为托管 VM 文件的卷使用尽可能多的主轴,如果资金和空间不是问题,请尝试在 RAID 10 阵列中获取 6 或 8 个 10k/15k 驱动器,但选择 RAID 1(如果您只能买得起 2 个驱动器)或 RAID 10。无论您做什么,我都会避免在本练习中使用 RAID 5 或 6 - 我认为容量不会成为您的问题,并且典型的客户端 IO 模式的写入惩罚将是致命的,除非您真的不关心客户机的性能。
如果您不打算同时运行虚拟机,上述所有方法都是大材小用。我在双核 2.66Ghz 系统(配备 4GB RAM 和 VMware Workstation 7)上运行上述所有客户操作系统(以及一堆服务器)。
答案2
如果我错了,请纠正我,但从您的操作系统列表中,我假设您希望使用这些虚拟机在各种客户端操作系统上测试您的企业应用程序。
一个问题是,您是想测试纯功能还是也测试性能?
如果您只关心功能测试(我运行应用程序并打开它,我按下此按钮并发生相应的操作等),那么您应该可以在任何还算不错的硬件上运行它们。机箱中的内核越多,性能就越好,RAM 越多也是如此。
但是,您没有理由不能使用单个双核、主机操作系统 1GB RAM 和每个客户操作系统 512MB RAM 进行测试。
如果您希望进行性能测试以了解应用程序对真实客户端的反应速度,那么我会说您基本上需要有足够的 RAM、核心和磁盘来支持每个客户端,就像真实的工作站一样。因此,如果您的工作站是具有 1GB RAM 的单处理器,那么我会获得具有 6GB+ RAM 的双四核处理器、多个磁盘(因为用于测试,您可能不需要 RAID 来存储 VM 数据,只需将 VM 拆分以存储在单独的磁盘上以避免出现 IO 问题)并适当地将资源分配给机器。
答案3
一个盒子就足以应付所有这些——我们在一台物理服务器上运行更多东西而不会产生不利影响。
除了 RAM 之外,硬件规格不需要太过令人兴奋;标准四核(或者如果你想要双四核完全当然),配备 16GB 或 32GB RAM 应该可以解决问题,并使用 RAID-1 中的几个 1TB SATA 硬盘。
对于操作系统,我会选择 Ubuntu 而不是 Windows 7,但这主要是因为我对它比较熟悉。目前我可能会选择 KVM 作为虚拟化层,而且谷歌的研究表明它也应该能够很好地支持 hackintosh,而这正是我主要关心的问题。