使用 KVM 和 Libvirt 过度使用内存

使用 KVM 和 Libvirt 过度使用内存

TL;DR;

使用 libvirt 和 kvm 过度使用内存的最佳实践是什么?

很长的故事 -

我有一台运行多个虚拟机(主机和客户机都运行 centos 7.4)的小型且未充分利用的服务器,大多数虚拟机并不重要,主要用于测试。有几个虚拟机比其他虚拟机更重要,如果它们被大量使用,应该可以选择利用服务器的几乎整个内存。

我开始只是为每个虚拟机提供它可能需要的最大内存,但是这只使用了所有的服务器 RAM 和大部分的 SWAP,而且最重要的是,尽管所有虚拟机加起来使用的服务器 RAM 还不到 30%,ksmd 却疯狂运行。

然后我尝试将 currentMemory 设置为所有虚拟机最大内存的 1/4 左右。但随着内存使用量的增加,客户机的可用内存似乎并没有增加,一旦客户机使用了所有可用的 currentMemory,它就会开始失败。

然后我尝试使用 oVirt 项目中的 MOM,它可以与 libvirt 一起工作,但网上的信息相当旧(~2011),虽然该项目似乎得到维护,但我发现文档不完整并且初始设置困难且有缺陷。

在让所有内容运行并查看 balloon.rules 策略代码之后,似乎它可以适用于我的用例,但默认策略可能太基础了,我需要编写一个能够更好地支持我的用例的策略,这似乎很麻烦,尤其是在缺乏文档的情况下。

所以我希望有更好的解决方案或方法我可能错过了

相关内容