当资源需求增加时如何做一个虚拟秤

我有一个16虚拟核心和24G内存的服务器,使用Xen虚拟化和Ubuntu的dom0创build4虚拟机( 在段模式 ),每个虚拟机具有不同的应用程序。

每个虚拟机的CPU负载是不一样的,第一个虚拟机的虚拟机几乎可以达到100%的CPU,而其他虚拟机可以达到25%甚至更低。

那么有没有一种方法可以让vm从其他虚拟机获得cpu,当它们没有实际使用它或者利用率低于25%的时候。同样也是在RAM的情况下。

我不确定我是否在这里提到

最初我想给每个vm一个VCPU,但如果不使用它,可以通过从其他vms获取cpu来扩展到8个或更多。

有没有什么工具可以让vm在需求增加时扩展资源。

Cloudstack和Openstack是为了这些目的而devise的,还是只是一个GUI来pipe理虚拟机。

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

就像这样,这听起来像你有一个不能水平伸缩的应用程序堆栈。 已经存在的pipe理程序解决scheme将根据请求优先考虑资源。 空闲虚拟机的优先级低于资源密集型虚拟机。

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

没有办法dynamic地将处理器添加到正在运行的虚拟机。

相反,您应该利用超额订阅。现在分配处理器。 你可以分配更多的处理器到你的虚拟机,那么你有物理处理器。 pipe理程序将根据自己的内部规则来分割负载。

Citrix Xenserver具有负载平衡器和dynamic内存pipe理function,可以帮助共享资源。