当资源需求增加时如何使虚拟机扩展

当资源需求增加时如何使虚拟机扩展

我有一台服务器16 个虚拟核心和 24G RAM,使用 Xen 虚拟化和 ubuntu 作为 dom0 创建了 4 个 VM (在 para 模式中),各有不同的应用。

每个虚拟机的 CPU 负载各不相同,有时第一个虚拟机的 CPU 负载接近 100%,而其他虚拟机的 CPU 负载低于 25% 甚至更低。

那么,当虚拟机实际上没有使用 CPU 或者利用率低于 25% 时,有没有办法让虚拟机从其他虚拟机那里获取 CPU?RAM 的情况也是一样的。

我不确定我在这里是否提到了云。

最初,我想为每个虚拟机提供一个 VCPU,但如果其他虚拟机未使用 CPU,则可以通过从其他虚拟机获取 CPU 来扩展到 8 个或更多。

是否存在某种工具可以让虚拟机在需求增加时扩展其资源。

Cloudstack 和 Openstack 是为此类目的而设计的吗,或者它们仅仅是用于管理虚拟机的 GUI。

答案1

这取决于应用程序的架构和扩展能力。理想情况下,您可以使用某种负载均衡器后面的节点进行扩展。

听起来您有一个无法水平扩展的应用程序堆栈。现有的虚拟机管理程序解决方案将根据请求对资源进行优先排序。空闲虚拟机的优先级低于资源密集型虚拟机。

至于根据需要添加虚拟 CPU,我认为在您的设置中这是不可能的。

答案2

没有办法动态地向正在运行的虚拟机添加处理器。

相反,您应该利用超额订阅。现在分配处理器。您可以为虚拟机分配比物理处理器更多的处理器。虚拟机管理程序将根据其自己的内部规则分担负载。

答案3

Citrix Xenserver 具有工作负载平衡器和动态内存管理功能,有助于共享资源。

相关内容