我想用运行虚拟机的单个服务器替换一堆运行各种单元测试的老化桌面。
这些测试占用大量内存和处理器,需要花费一些时间运行(有些情况下长达 12 小时),还需要测试并行代码(因此我们在多核机器上运行它们)。
目前每台机器(共 5 台)都有 2 到 8 核处理器,4-16G 内存,其中一些还可以兼作开发工作站。
与购买用于网络托管的服务器或文件服务器相比,在考虑虚拟化服务器时我应该寻找哪些重要事项?
另外,您会推荐哪种虚拟化软件(这是一家只提供 Linux 的商店)?目前我倾向于使用免费的开源 Virtualbox,主要是因为我对它有一点经验。
为什么在目前的环境下我还要考虑 VMWare vSphere 或其他高级替代方案?谢谢。
答案1
在没有确定所测试应用程序的特性(持续/平均/峰值负载、内存、I/O 等)的情况下,需求/规格仍然过于模糊。根据您确定的单个系统配置,潜在的集体需求可能相当可观。
答案2
我想用运行虚拟机的单个服务器替换一堆运行各种单元测试的老化桌面。
行不通。一台服务器需要太多的处理能力,这才有意义。并不是说虚拟化不行,但除非你想在 CPU 方面为一台巨型机器投入大量资金,否则你最好不要为一些服务器做计划。
与购买用于网络托管的服务器或文件服务器相比,在考虑虚拟化服务器时我应该寻找哪些重要事项?
磁盘 IO。这是大多数低端服务器的瓶颈,当您在同一磁盘上执行大量服务器时,情况只会变得更糟。Supermicro 拥有出色的服务器机箱,专为虚拟化而设计(除非您有 SAN),在一个机箱中支持 24 到 72 个磁盘。如果您认为这太多了...我运行一个 64gb 双处理器 Hyper-V 服务器,现在大约有 19 个磁盘,其中三个是 SSD,但有时我仍然在 IO 子系统上遇到性能问题(这没关系 - 修补 30 台服务器会导致大量磁盘 IO)。
目前我倾向于免费的开源 Virtualbox,主要是因为我对它有一点经验。
VmWare ESXI 也是免费的。一般来说,商业产品(VmWare 和 Microsoft)更适合高端市场,因为它们在高端市场使用得更多,而企业客户只需要一些低端场景永远没有的功能。VmWare 在功能方面处于领先地位,但并不总是具有相关的优势(例如,Hyper-V 具有我认为重要的所有功能,但缺少一些我并不真正关心的功能)。如果我没记错的话,VirtualBox 有点原始。当它开始传播时,您不想替换它 - 虚拟化也非常适合许多其他场景,因此您可以将公司推向新的方向 ;)
答案3
我不确定您实际的服务器配置。您有带多处理器的服务器吗?如果是,那么解决方案可能是将它们用作虚拟机管理程序类型 1。
此外,由于您的计算机负载过大,只有 1 个虚拟化服务器无异于自杀!请记住,虚拟化是一种强大的工具,但误用和误解虚拟化原理将导致灾难!您必须仔细研究问题,并问问自己虚拟化是否是解决方案。
正如 TomTom 所说,使用虚拟化可以为您的公司带来一种管理服务器的新方法。
不要忘记进入虚拟化之路是一项非常昂贵的投资,但它是值得的!!!