智能内存复用
内存复用的定义:
通过内存复用技术将物理内存虚拟出更多的内存供虚拟机使用,使虚拟机内存规格总和可以大于主机物理内存。最终提高主机的虚拟机密度。
内存复用的三种技术∶
1)内存共享:虚拟机之间共享同一物理内存空间,此时虚拟机仅对内存做只读操作。当虚拟机需要对内存进行写操作时,开辟另一内存空间,并修改映射。
2)内存置换:虚拟机长时间未访间的内存内容被置换到存储(内存置换盘)中,并建立映射,当虚拟机再次访间该内存内容时再置换回来。
3)内存气泡:Hypervisor 通过内存气泡将较为空闲的虚拟机内存释放给内存使用率较高的虚拟机。从而提升内存利用率。
内存气泡实现的原理和在虚拟机之问具体是如何操作?
Hypervisor对虚拟机进行监控,并主动回收虚拟机暂时不用的物理内存,分配给需要复用内存的虚拟机,内存的回收和分配均为系统动态执行,虚拟机上的应用无感知。
物理内存上的0页和虚拟机内部0页形成一个对应关系。从而实现所有VM在调用0页时,调用的同一个物理内存。
内存复用限制?
严格意义来说没有一个明确的限制,根据实际复用情况而定,官方要求一般不超过150%,最多不超过400%。实际企业业务场景下一般不打开内存复用。
1)主机需要配置足够的交换空间才能保证内存复用功能的稳定运行。主机最大内存复用率依赖于swap 空间大小配置。具体计算公式如下:
主机支持的最大内存复用率=1+(主机 swap空间大小-虚拟化域物理内存大小和0.1)/虚拟化域物理内存大小。
2)内存交换分区默认与HostOS同盘配置.默认大小=主机物理内存大小粕60%,最大支持150%的复用率,当手动配置时要求最小30G。
3)内存复用与SR-IOV直通、GPU直通、SSD盘直通特性互斥。直通设备的虚拟机必须内存独占,内存独占后虚拟机的内存不会被交换到交换空间。内存复用(非100%内存预留)的虚拟机不能直通设备。
注意:内存复用的三个功能不能单独使用,人为不可干预,当在集群中打开内存复用的开关,正常情况下内存复用将启动,三个技术之间由hypervisor互相协同,共同保证了内存超分配的稳定。
虚拟机内存Qos :
提供虚拟机内存智能复用功能,依赖内存预留比。通过内存气泡等内存复用技术将物理内存虚拟出更多的虚拟内存供虚拟机使用,每个虚拟机都能完全使用分配的虚拟内存。该功能可最大程度的复用内存资源,提高资源利用率,且保证虚拟机运行时至少可以获取到预留大小的内存,保证业务的可靠运行。
系统管理员可根据用户实际需求设置虚拟机内存预留。内存复用的主要原则是:优先使用物理内存。
包含以下几个参数:
内存预留∶虚拟机预留的最低物理内存。预留的内存被会虚拟机独占。即,一旦内存被某个虚拟机预留。即使虚拟机实际内存使用量不超过预留量。其他虚拟机也无法抢占该虚拟机的空闲内存资源;
内存份额:适用资源复用场景,按比例分配内存资源。如VM1和VM2的内存份额分别是20480,40960,物理资源总共为3G内存。那么在竞争情况下VIM1使用的内存为1G,VM2使用的内存为2G。
内存资源限领:控制虚拟机占用物理内存资源的上限。在开启多个虚拟机时,虚拟机之间会相互竞争内存资源,为了使虚拟机的内存得到充分利用,尽量减少空闲内存。用户可以在创建虚拟机时设置虚拟机配置文件中的内存上限参数,使服务器分配给该虚拟机的内存大小不超过内存上限值。
注意:IT管理员可以对虚拟机设定资源的使用上限,包括CPU、内存、网络、磁盘IOPS等,防止非关键应用和恶意用户争抢共享资源。
集群计算资源调度:DRS、DPM
DRS ( Dynamic Resource Scheduler动态资源调度)∶
根据智能负载均衡算法。周期性检查集群内主机的负载(CPU和内存)情况,在不同的主机之间迁移虚拟机,从而达到集群内主机间的负载均衡目的,保证系统良好的用户体验。
DPM ( Dynamic Power Management动态电源管理)∶
动态电源管理根据业务情况,智能地将部分物理机上下电,配置主机BMC参数之后,电源管理才生效,系统才可按照电源管理阈值对主机进行调度。电源管理依赖于计算资源调度。因此电源管理只有在开启计算资源调度。并且迁移阈值的设置不为"保守"时生效。
Drs阈值配置操作流程︰
集群——配置——计算资源调度配置——可以设置自动化级别、阈值、调度基线。
虚拟机规则组∶
1)聚集虚拟机∶列出的虚拟机必须在同一主机上运行。一个虚拟机只能被加入一条聚集虚拟机规则中。
2)互斥虚拟机∶列出的虚拟机必须在不同主机上运行,一个虚拟机只能被加入一条互斥虚拟机规则中。
3)虚拟机到主机:关联一个虚拟机组和主机组并设置关联规则。指定所选的虚拟机组的成员是否能够在特定主机组的成员上运行。
虚拟机 HA
虚拟机HA定义:是一种高可用特性,当物理机或虚拟机故障时,会根据集群HA策略将宕掉的虚拟机在正常工作的主机上开启,从而减少业务中断时间。
虚拟机HA实现原理:VRM或者集群的Master节点检测到某计算节点故障或者虚拟机故障,或者设定的预留资源得不到保障时,主动根据自身记录的虚拟机信息,在正常的节点上重新启动故障虚拟机。
虚拟机HA流程:
1)当VM故障或者物理节点故障,VRM查询VM状态,发现VM故障。
2) VRM节点判断VM有HA特性,则根据保存的VM信息(规格,卷等信息)选
择可用的CNA主机启动VM;
3)CNA节点收到HA请求,根据VM规格,卷信息创建新的VM;启动过程中,
将VM之前的卷重新挂载,包括用户卷。
虚拟机HA约束条件:
1)VM层面:安装tools且运行正常,没有外设绑定;
2)FC层面:必须为共享存储。目标主机和源主机在同一集群且网络相通,集群开启HA功能。目标端有足够的资源开启VM。
主机故障控制策略︰
VM集群内恢复;VM原主机恢复;VM停止。
设置方法:集群——配置——HA配置——集群资源控制。
虚拟机HA属性设置:虚拟机——选项———HA。
三种资源预留方式:
1)集群内所有节点均预留资源
2)指定集群内特定主机进行HA
3)集群内最多允许坏多少台主机。
集群自治HA机制︰
即不依赖VRM实现虚拟机EA功能,而是在集群创建时自动推选出Master节点,由Master节点根据集群内各slave节点和Master节点之间的管理心跳和存储心跳来判断是否需要启动虚拟机A机制(管理心跳是心跳包,存储心跳通过在文件中写数据来实现).根据需要由Master节点启动A机制;自治场景下,E启动的前提是管理心跳和存储心跳都失效。用户可以设置管理心跳走管理平面还是非管理平面。可以根据各网络平面的负荷来确定。
注意:并不是集群中打开 HA开关,故障发生集群里的虚拟机就一定会执行HA策略,还需要在集群配置中配置虚拟机替代项来选择需要HA的虚拟机。
审核编辑:黄飞
-
cpu
+关注
关注
68文章
10854浏览量
211569 -
虚拟机
+关注
关注
1文章
914浏览量
28158 -
CNA
+关注
关注
0文章
11浏览量
7089
原文标题:FusionCompute集群知识点
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论