WSFC 主机资源预留

Hyper-V群集中未预留给VM虚拟机的物理内存量由主机使用,可是做为群集的一部分,主机一般会从群集中的其余节点接收VM 以保持其高度可用性, 这能够是用户发起的移动,例如从另外一个节点实时迁移VM,也能够是资源或硬件故障的致使VM故障切换, 所以最初用户对主机预留的内存没有太多控制权,来自另外一个节点的VM 能够轻松移动到特定节点并压倒其内存, 所以引入群集环境变量RootMemoryReserved,以确保群集主机具备最少许的主机物理内存储备
网络


RootMemoryReserved属性于2008R2首次引入,存在于WSFC 2008R2 2012 2012R2,在2016中消失ide


RootMemoryReserved性能


尽管名称是这样,但RootMemoryReserved变量并不能确保根分区会为本身保留必定数量的物理内存, 而是指定主机操做系统与主机操做系统即将启动的VM(经过用户操做或故障转移移动到该节点)的时间进行比较的内存大小,若是经过启动VM,剩余的主机OS物理内存将低于RootMemoryReserved指定的限制以及主机当前使用的内存,则VM启动操做将失败。spa


例如,在具备16 GB物理内存而且RootMemoryReserved设置为1024 MB(1 GB),主机当前已使用1 GB内存的群集节点上,而且若是每一个VM都占用1 GB内存,则虚拟机的最大数量联机为14个虚拟机,由于主机操做系统已使用1 GB的内存,而主机操做系统保留另外1 GB的内存。 这为主机保留了2 GB的内存,尝试启动第15 个虚拟机会使虚拟机的物理内存使用量超过15 GB,这会致使主机操做系统的物理内存保留时间低于主机操做系统当前使用的1 GB。 所以,第15 个 VM 的VM启动操做将失败。操作系统


RootMemoryReserved默认设置为512 MB,对于除管理虚拟机以外没有执行任何操做的主机虚拟机,这应该足够了,此变量能够由PowerShell cmdlet查看。blog


(get-cluster <cluster name>). RootMemoryReserved内存


要更改RootMemoryReserved,可使用如下PowerShell cmdlet将RootMemoryReserved设置为1024 MB:资源


(get-cluster <cluster name>).RootMemoryReserved = 1024get

2018-03-04_102558.png


更改RootMemoryReserved不会影响任何已经运行的虚拟机, 例如,在具备16 GB物理内存的节点上,若是RootMemoryReserved设置为512 MB,则主机当时使用480 MB,而且VM占用15 GB内存,这将是可行的,主机得到512MB+480MB的可用内存,并不会所以从VM中回收内存cmd


另外若是因为某种缘由(例如在主机上运行的另外一个应用程序)致使系统速度变慢,将RootMemoryReserved更改成2048 MB(2 GB)将不会自动释放主机的物理内存,在这种状况下,释放主机物理内存的方法是脱机不重要的虚拟机, 所以,建议在使任何虚拟机联机以前正确设置所需的RootMemoryReserved


RootMemoryReserved的最大值是4096 MB(4 GB),对高于4 GB的值的任何更改都将被忽略,并使用之前的值。 此外,做为群集参数的RootMemoryReserved适用于群集中的全部节点,RootMemoryReserved中的值将用于保留集群中全部节点上的VM主机内存。


RootMemoryReserved变量不限制主机可使用的内存量, 这个变量的目的是确保主机拥有最少的物理内存储备,超出了当前用来控制虚拟机的数量。 主机可使用比RootMemoryReserved留出的值更多的内存。 所以,VM可用的物理内存量将等于或小于RootMemoryReserved未预留的内存量。


未通过预留设置的主机目前正在使用的内存能够会随着时间推移被VM挤压,设置了RootMemoryReserved后则将确保主机除了当前使用的内存,会有一部分预留内存,永远不会被VM占用,仅维系主机使用


老王点评:RootMemoryReserved能够用于在2008R2-2012R2时代,合理对于群集节点进行主机内存预留,防止主机彻底被VM或应用淹没资源,确保主机性能,在没有SCVMM的状况下,能够自带原生控制主机内存预留,若是有SCVMM则更加智能,SCVMM不只能够针对群集设置,也能够针对于单台宿主机,或整个主机组设置,SCVMM的主机预留能够从CPU、内存、磁盘空间、磁盘 I/O 、网络容量来设置预留状况。


主机预留和动态资源平衡功能能够相配合,主机预留生效在启动或移动虚拟机时,一旦检测到超过最小预留值,则阻止虚拟机移动过来或启动,动态资源平衡功能是设置一个平衡值,当一个主机组或群集运做过程当中,一旦检测到某个主机的负载超过了平衡值,则和其它负载轻的节点平衡资源,二者并不冲突

相关文章
相关标签/搜索