虚拟服务器超额订阅

虚拟服务器超额订阅

我正在寻找一个基本指南,以便开始为我的虚拟机超配主机硬件。我的基本场景如下,但我并不想解决这个特定案例,而是希望提供有关如何分配所述类型的资源以及衡量结果的一般信息。

假设我有一台充当 VM 主机的服务器。它有一个 6 核处理器,具有超线程(12 个虚拟 CPU)和 12 GB 内存。该服务器目前有六台 VM。分配给每台 VM 的资源从 1 到 4 个 CPU 和 0.5 到 4GB 内存不等,具体取决于特定 VM 的预期负载或重要性。目前分配的总资源加起来正好是 12 GB 内存和 12 个核心。这包括为 VM 主机预留的一小部分。

我忍不住觉得我浪费了资源。并不是每个虚拟服务器都一直处于 100% 繁忙状态……远非如此。我希望我可以通过为虚拟服务器提供更多资源来提高整体性能,这样繁忙的服务器就可以利用空闲服务器闲置的资源。我希望这很清楚。

我想知道如何捕获这些闲置资源。如何衡量有多少是真正免费的?我真正可以超额认购多少?如何随着时间的推移监控情况(系统往往会增长,因此我预计今天适当的超额认购明天可能不会保持这种状态)。在增加资源时,我需要做什么特别的事情,以便主机知道如何在资源紧张时共享?

我的主机是 Server 2008 R2 上的 Hyper-V,但我还是想找更多常规信息。欢迎提供有关 VMWare、Xen 等的详细信息。

答案1

为什么你觉得你“浪费了资源”?系统不会需要充分发挥其运行能力。

需要注意以下几点...

  • 超线程核心并不真正等于十二可用的物理 CPU,因此您已经超额订阅了某一点。

  • 在虚拟化中,您往往会在 CPU 资源之前耗尽 RAM......

  • 内存过量使用将是你面临最大压力和竞争的地方。其影响将比 CPU 不足更为严重。

  • 以 VMware 为例,您可以使用内存膨胀、压缩和重复数据删除。在 VMware 中,我会以不同于其他虚拟化技术的方式处理 RAM 的超额认购问题。

  • 另一个 VMware 示例:可以设置共享级别(资源池) 来指示在资源不足时哪些虚拟机应优先使用。这样可以确保数据库服务器获得所需的 RAM/CPU/磁盘/网络优先级相对您的域控制器处境艰难。

相关内容