我想知道以下堆栈是否可行,如果可行那么效果如何,以及在设置它时我可能会遇到什么样的问题?
- 硬件层——大量廉价服务器
- SMP 层-ScaleMP
- 操作系统 - Linux 64 位(例如 Red Hat Enterprise Linux 6,或 ScaleMP 支持的任何操作系统)
- VM 主机 - 在 Linux 上运行的 VirtualBox 或类似产品
- VM OS - Windows Server(在此处插入相关版本)
- 在 Windows Server 上运行的资源密集型应用程序
我希望能够创建多个 Windows VM,每个 VM 都能够利用整个服务器硬件池中的 CPU 和内存。这对我来说很有意义,因为所涉及的应用程序仅适用于 Windows。
据我所知,每一层都与下一层兼容,但我从未尝试过这样做,而且目前也没有合适的硬件来测试。我预计运行这样的集群会有相当多的开销,但我不确定会有多少。任何建议都值得赞赏。
答案1
是的,可以按照上面写的方法(已经测试,有效)进行操作,但请注意以下事项:
ScaleMP 的 vSMP Foundation 支持以下基于 Linux 的虚拟机管理程序:KVM 和 Xen。因此,在您的示例中,将 VirtualBox 更改为 KVM 或 Xen。
基准测试表明,虽然内存聚合效果很好(即,如果您的资源密集型 Windows 应用程序需要大 RAM,则通过这种方式在多个物理节点上使用 RAM 您将看到出色的性能),但高核心 Windows 应用程序的情况并不那么明显(即,使用来自多个物理服务器的计算核心可能不会产生 Windows 客户操作系统或应用程序的预期计算可扩展性)
可以通过使用更大的构建块来克服 CPU 扩展问题(例如,让物理服务器成为 64 核 AMD 机器,或者 32-48 核 Intel 机器,这无论如何都接近 Windows 和基于 Windows 的应用程序的有效扩展限制)
至于运行此功能所需的硬件集群,您将需要:
InfiniBand 结构
要使用经过 ScaleMP 认证的服务器型号 (http://Swww.ScaleMP.com/spec)