我正在运行 KVM 和一些 Ubuntu VM 作为客户机。客户机包含一个大多数时候不需要运行的应用程序,但每隔几个月就会出现意外的随机触发事件,需要立即运行该应用程序(延迟时间小于 5 秒),持续几个小时。
如果我让虚拟机一直运行,就会浪费大量的 CPU 资源,因为虚拟机一年中 99.99% 的时间都处于不活动状态。
如果我将 VM 状态休眠到磁盘,则启动应用程序将需要启动 VM,这在我的计算机上需要花费太长时间(几分钟)。
我想将虚拟机暂停/挂起到内存中,因为恢复虚拟机似乎是瞬间的事情。当虚拟机处于非活动状态时,我可以在其他地方重新使用 CPU 资源(尽管我知道我不能重新使用内存)。
是否建议长时间(数月或数年)暂停客户虚拟机?恢复是否可靠?几个月后我需要时,有哪些最佳做法可以确保它能够正常恢复?
我原本想为主机购买 ECC 内存,以防止随机位翻转。但我还应该做些什么呢?
答案1
否,让虚拟机保持运行。
暂停期间,您无法维护应用程序或操作系统实例。至少,每几个月进行一次安全更新。
已运行会比恢复快。 最好超过 5 秒,不会留下太多的延迟时间。
说到时间,客人的时间可能不对。不清楚如何针对简历情况解决这个问题,请参阅如何使用 libvirt 来保持恢复的 KVM 客户机的时间?
恢复不会为您节省资源。存储和 RAM 已经用完了。您可以稍微多使用一点 CPU。换句话说,假设此客户端的空闲 CPU(大多数时间都处于空闲状态)可供主机上的其他客户端使用。
在容量规划中考虑峰值使用情况:当它在典型工作负载之上运行时会发生什么?必要时为您的计算主机购买 CPU。有时这是保持快速响应时间的代价。