匡华
摘 要:虚拟化技术是云计算中的关键技术,自研发之后备受关注,虚拟机动态迁移技术是虚拟化技术中的重点内容。因为虚拟机具有较大的动态迁移粒度,大部分使用虚拟机实现的虚拟化资源计算中心都是使用虚拟机动态迁移技术,以此实现云计算中的负载均衡。在用户数量和业务需求不断增加的过程中,服务器也被逐渐融入到计算中心,导致计算中心能源消耗不断增加,此方面也逐渐成为云计算中的主要问题,但是现代研究在负载均衡及绿色节能方面却较少。基于此,本文就对虚拟机动态迁移技术背景下的云计算资源调度策略进行研究。
关键词:虚拟机 动态迁移技术 云计算 资源调度
中图分类号:TP311 文献标识码:A 文章编号:1674-098X(2017)11(a)-0153-02
在传统互联网技术和移动互联网技术不断发展的过程中,人们在接入互联网的过程中也越来越简单,通过互联网能够满足人们的不同需求,比如娱乐、购物、学习及交流等。据相关研究表示,截止到2016年,我国网民达到了7个亿,在保证访问效率的基础上,还要实现较大用户群体的服务,以此要求服务端具有较高的扩展性、可用性及响应能力。在此背景下产生了云计算技术,其是基于大众及互联网的,所以导致云计算平台中的服务节点较多,从而出现部分节点处于零负荷状态,因此使运算资源出现浪费现象,并且也不环保。在云计算中,虚拟化技术是尤为重要的技术,虚拟机动态迁移技术也是研究的热点内容。在此背景下,以下就分析虚拟机动态迁移技术中的云计算资源调度策略。
1 云计算资源调度架构
对等式框架和web服务负载均衡框架不同,其是在传统集中式资源调度框架中不断完善得到的,其由多个服务节点构成,详见图1。服务节点的主要目的就是提供虚拟机运行环境,在动态迁移过程中其能够实现监听模块的运行,并且实现服务节点负载信息及控制节点指令信息的监听,并且还能够实现中心控制引擎及本地迁移引擎的部署。
监听模块的主要目的就是实现监听系统中服务节点资源使用情况的监听,一般负载信息包括内存使用率、CPU使用率、存储设备使用率及网络宽带使用率等。监听模块在监听过程中具有周期性的特点,其中资源使用情况会发送到控制节点中,其周期不能够太长,也不能够太短,如果周期较长,那么数据时效性较差;如果较短,虽然数据具有实时性,但是因为频发的负载监听会导致服务节点及控制节点的开销较大。
触发迁移模块由基于二指平滑算法触发策略组成,一般负载均衡方案中会设置负载阀值,之后实现节点负载的监听,如果负载超过此阈值,那么负载均衡方案就会触发。此策略虽然于一般web服务来说可行,因为其具有较小的操作粒度,操作较为简单,只要实现用户请求转发就能够实现。但是虚拟化云平台中不可行,因为虚拟机迁移粒度较大,为了保证短时间中的负载不会导致动态迁移,就要设置合理的触发策略,全面考虑负载均衡及系统整体能源消耗,所以触发迁移模块不能够只关注负载上升方面,还要考虑节点负载下降问题。在触发迁移模块时,要通过流程判断得到需要实现的虚拟机迁移,之后调用虚拟机调度模块,通知调度模块实现迁移工作,之后实现其他工作。
虚拟机调度模块的主要目的是实现虚拟机调度命令,在模块接收来自触发迁移模块的迁移指令时,其能够对中心控制引擎节点发送选择请求,并且对虚拟机选择模块,以此获得需要迁移的虚拟机编号,之后实现虚拟机迁移,之后返回到迁移结果。此模块还要实现迁出虚拟机是否在节点最后活动虚拟机的判断,如果是,那么就要以绿色节能原则为基础,将其所处的服务节点进行关闭,之后通知中心控制引擎。
2 中心控制引擎
在每个服务节点配置中心控制引擎,临时控制节点中的控制服务为激活状态,其主要包括选择目标节点、动态管理节点及网络通信模块。
选择目标节点模块的主要目的为接受不同服务节点触发的迁移模块负载信息,对负载信息实施处理并且生成最优目标节点序列。在服务节点需要实现虚拟机迁移并且具有请求时,选择合适的节点,将结果返回到请求节点中。为了实现服务节点发送负载信息的保存,要向系统申请内存,也就是通过delete及new操作实现内存的申请及释放。
本文所使用的框架中动态管理节点模块功能有所减少,因为节点关闭要求服务节点自己判断,所以这个时候的管理模块只需要实现某个集群节点状态的维护,并且系统在整体超负载时候启动其他节点时停用节点,将需要的节点开启就行。为了解决节点故障,此模块通过心跳检测,实现集群服务节点状态表的遍历,并且对活动服务节点发送心跳数据包。为了满足检测效果,避免出现频繁的通信,就要降低节点被动终止服务的概率。
为了能够降低模块的复杂程度,提高网络资源的使用效率,本文设计网络通信模块,使其能够负责模块之间的网络通信。因为其中的模块较多,并且数据类型较多,所以就要使用特定的方式指定数据类型。为了避免中心控制引擎同时和多个不同的本地控制服务占据网络资源,可以通过消息队列方式实现通信模块的数据传送。
3 云计算资源调度策略的算法
虚拟机动态迁移技术视角中云计算资源调度策略考虑的问题较多,对于种种问题,要根据实际主机负载动态实现虚拟机资源的迁移调度,以此能够有效解决云计算资源使用率低及负载不均衡问题。
根据目前监测的数据使用率实现判断,如果某个节点中的虚拟机中使用率比最高限定值大,就将虚拟机从节点中迁移出,降低SLA被破坏的几率。如果节点中虚拟机总使用率比最低限定值小,此节点中虚拟机将被全部迁移出去,将物理机节点关闭,以此节省此闲置节点导致的电力能耗消耗;如果虚拟机计算能力比目标主机剩余计算能力小,并且目标主机具备虚拟机使用的宽带及内存资源,才能够实现迁移,否则就不迁移。在迁移结束之后,删除迁移虚拟机,之后实现系统状态信息的更新,从而其中节点CPU的使用率及计算剩余能力等性能参与都会改变,在下一次迁移过程中,列表节点就会继续判断,从而实现各节点的遍历,实现虚拟机迁移操作的执行。
负载均衡度通过服务器中CPU的使用率方差表示,服务器资源i目前使用的CPU使用率使用ui表示,宿主机数量通过m表示,某时间所有平均CPU使用率通过以下公式计算:
通过以上公式得到负载均衡度:
通过得到的值决定负载均衡,目标是降低负载均衡度的值。计算能耗:假如服务器空闲时候的电力能源消耗百分比为k,服务器满载时候的能源消耗为Pfull,服务器CPU的使用率为ui,在时间不断增长过程中的总能源消耗为:
E=k×Pfull+(1-k)×Pfull×ui
通过计算能力得到SLA破坏的程度,以下公式为SLA破坏百分比:
SLA=(Userreq-Userallocate)/Userreq
4 结语
云计算系统属于大规模云数据中心,将本文所研究的资源调度策略通过实验评估表示,在迁移时间不断增加的过程中,虚拟机动态迁移策略负载均衡不断减少,以此表示本文研究的资源调度策略的负载均衡效果良好,能够有效提高资源的使用率。表示虚拟机动态迁移技术中的云计算资源调度策略能够解决云环境中负载不均衡的问题,并且避免造成资源空闲浪费。
参考文献
[1]田文洪,赵勇.云计算资源调度管理[M].北京:国防工業出版社,2011.
[2]沈舒.云计算与网络计算的比较[J].软件导航,2009,8 (12):10-11.
[3]穆德,邓智群.网格计算中任务资源研究综述[J].计算机应用研究,2005,5(1):16-19.endprint