为基于 kvm 的虚拟机提供 vm 优先级

为基于 kvm 的虚拟机提供 vm 优先级

有没有什么方法可以在基于 kvm/qemu 的虚拟化环境中,根据虚拟机的资源(vCPU、内存等)使用情况对虚拟机进行优先排序,以便我可以为一些最需要的虚拟机分配更多的 CPU/内存,而不是一些低优先级的虚拟机。

假设在我的云环境中,我主要有 Ubuntu 16 OS 主机,它们托管一些开发和生产客户虚拟机。在某些情况下,当主机资源紧张时,我需要为生产虚拟机提供比开发虚拟机更多的资源,以便它们可以比开发虚拟机具有更好的优先级。因此,我想为优先虚拟机提供比其他虚拟机更多的 vcpu 或内存,这应该在主机级别完成,或者在这种情况下,主机应该决定资源分配。主机应该决定增加或减少不同类型虚拟机的优先级 - 即生产或开发。

我尝试了 virsh 命令行选项,但要更改 vcpucount,需要重新启动 VM,而这不是我现在的选择。linux-kvm-如何向 guest-on-fly 添加和删除 vcpu.html/

尝试使用 linux 的 nice/renice 命令来增加或减少 nice 值,这反过来又会影响虚拟机管理程序进程(如 qemu-system-x86)对虚拟机的优先级 - 但我不确定这在现实生活中是否真的有效,因为 nice/renice 只是对内核调度程序的一个提示,不一定是调度程序本身可以忽略的操作。

我的问题类似于此处发布的问题- 理解 kvm-cpu-调度算法

请告诉我是否有任何 Linux 命令行实用程序或工具可用于实现期望的结果。

谢谢您的回复和指点。

祝好,桑杰

答案1

我已经能够使用进程组 ( renice -g ...) 重新调整主机上的 qemu-system 进程。不确定这是否是最好的方法,但对我来说似乎合乎逻辑。您可以在小型主机上进行实验吗?

祝你好运。

相关内容