【摘要】

Hyper-V虚拟化平台上,关于虚拟机资源规划我们首先都是考虑到CPU和内存资源规划管理,虚拟机分配CPU数量和内存数量,并非越多越好,而是合适。

因此,接下来考虑内存和CPU资源控制。


【正文】

虚拟机会共享物理机资源,共用过程中可能遇到情况:例如a虚拟机分配资源后启动运行,a虚拟机应用程序在编写时并不完善,导致消耗内存和CPU资源,消耗完会向物理机申请更多资源,继而影响其他虚拟机。

     虚拟机分配

定义虚拟机内存和CPU分配边界,由操作系统本身决定,不同系统对硬件支持资源不一样。其中还结合应用程序需求一起考虑。

     资源控制

2.1          CPU资源控制

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

总系统资源可以查看物理资源,例如物理CPU的逻辑处理器是4,每个逻辑CPU运算能力是100%,4个就是4*100=400为总的系统资源的百分比,如下:

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

假设a虚拟机应用程序有问题,那么我们可以限制a虚拟机的百分比,限制50%,如下:

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

假设将虚拟机CPU数量从4调整为2,那么虚拟机限制的50%依然不变,但是可以看到占总系统资源的百分比变成25%,如下;

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

这是由于当前虚拟机CPU资源就是2*50=100,100/400(总),所以得出的结果就是25%。

通过该设置,a虚拟机虽然想去申请资源,但是没有办法申请新资源,通过我们限制指定一定的阀值,如此其他虚拟机运行不会受a虚拟机影响。

2.2          内存资源控制

内存控制和CPU控制类似,静态分配内存,分配多少,虚拟机则使用多少,如下;

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

虚拟机在运行过程中会有使用高峰期和低峰期,高峰期来说占用内存资源较多,如高峰期时候要求内存为4G,但下班时间没有人操作虚拟机,资源只需要512M即可运行,针对这样情况可以设置动态内存。

高峰时期虚拟机要更多资源,向Hyper-V申请,一旦低峰期,资源可以返回给系统,从而可以增强内存资源的使用效率。

虚拟机高峰需要4G,低峰需要512M,若晚上计划更新补丁,虚拟机因为安装补丁后重启过程,重启时有个初始内存的大小需求,如要求2G,如果低峰设置还是512M,那么导致虚拟机无法正常启动,因此指定的时候,可以指定启动的内存大小。

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

最小大小,晚上不占用任何资源时最小值,最大大小就是资源控制。

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

内存缓冲区:意味着晚上12点时候是512M,白天会慢慢增大到指定的最大RAM值,增大的过程中每一次向我们系统申请更多内存时,都会依据最小RAM乘以所设置的缓冲区,例如最小RAM为512M,缓冲区20%,那么就是512*20%=102M

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

内存权重:在众多虚拟机中,希望重要的虚拟机优先拿到内存资源,那么可以恰当调整权重,和CPU的相对权重是一样的,依据虚拟机重要性调整权重。

浅析Windows Server 2012 R2 Hyper-V资源控制管理-LMLPHP

     总结

对于虚拟机的CPU和内存资源控制如何严格把控,需要结合生产环境运行的虚拟机所需的资源一起考虑,为了确保配置资源控制合理,尽可能降低风险,建议经过规划、测试、试运行等阶段。


12-18 08:37