背景
我们正在考虑构建一个用于 QA 测试的虚拟机主机。我们的主要目标是能够在一个独立的环境中轻松配置一组虚拟机,这将模拟我们企业中的主要机器。在每个环境中,我们可能会有一个数据库机器、一个应用服务器、一个 Web 服务器和一到两台客户端机器。
我们希望在任何时候都有两到四个环境处于活动状态(即同时最多二十个虚拟机),并为另外 4 个环境离线提供磁盘空间。
这将需要大量的马力来满足基本要求。我们不会在这些环境中测试性能,它主要是自动化的功能和集成测试,可能还有一些由真人执行的手动测试。虚拟机不需要表现得像拥有快速处理器一样,但我们希望它们不会因磁盘延迟慢而陷入困境。
问题
鉴于这些目标,您认为我们应该从硬件角度考虑什么?是否值得将其拆分为几台“较小”的机器而不是一台鸣喇叭的大机器?
内存可能是你最大的限制。检查您的虚拟环境,看看它是否可以共享未使用的内存(即,您是否可以分配超过 100% 的可用内存)
我们有一个庞大的 8 核 16Gbram 主机,它将运行大约 20 个虚拟机。我认为拥有 2 台这样大小的主机会更具成本效益、通用性和冗余性。然而,只有 20 个虚拟机,超过 4 个主机的任何东西都可能变得难以管理。
如果您想要更多功能,请将 VM 定位在 SAN 或其他共享存储上,以便它们可以在任一/任何主机上运行。
硬盘延迟将是一个问题,因为每个服务器将有不同的访问模式,并且它可能会隐藏同步错误,因为磁盘会强制每个人按特定顺序(基于接收请求的时间),慢慢地事情一般。
我会选择一个由非常快的驱动器组成的条带镜像阵列,以限制您遇到这个问题。它仍然会隐藏问题(尤其是某些竞争条件),但不会那么多。
用内存加载服务器(16-32GB 并不过分),然后选择一台 8 核机器,或者两台 8-16GB 的四核机器。
-亚当
您是否考虑过为此使用刀片式机箱?我公司的所有 VMware 系统都在刀片式机箱中运行,从硬件的角度来看,这为我们提供了很大的灵活性和冗余性。您甚至可以拥有“热备用”刀片,以及添加额外刀片的能力,或者在您闲暇时更换更强大的刀片。
具体来说,VMWare 甚至内置了对 HP 品牌刀片机箱中的一些高级功能的支持。
我使用的虚拟化机制需要为虚拟主机静态分配内存,因此您可能需要在服务器中使用相当大的 RAM。
关于更少的大喇叭机器与更多不那么喇叭的机器,值得记住的是,在虚拟化环境中,物理主机实际上是所有虚拟主机的单点故障。