基于openstack的大规模虚拟计算动态负载均衡方法技术

技术编号:15541123 阅读:74 留言:0更新日期:2017-06-05 10:40
本发明专利技术提供了一种基于openstack的大规模虚拟计算动态负载均衡方法,其包括以下步骤:步骤一,在每台运行虚拟机的物理服务器openstack计算节点上设置一个监控代理程序,用于获取关键热度指标HKI;步骤二,在openstack计算节点上设置一个主监控程序,用于获取关键热度指标并计算平均值;步骤三,当第一物理服务器的关键热度指标值超过用户设定的值,就将其记录下来并选取关键热度指标最低的那台计算节点作为迁移目的主机;步骤四,迁移程序按照用户设定的策略在第一物理服务器中选取对物理CPU和内存消耗最大的虚拟机,将其迁移至迁移目的主机。本发明专利技术的均衡过程透明度高,不需要重启虚拟机也不会影响在虚拟机中的业务程序。

Dynamic load balancing method for large-scale virtual computing based on openstack

The invention provides a load balancing method of virtual computing based on dynamic openstack, which comprises the following steps: 1, in each virtual machine physical server openstack computing nodes to set up a monitoring agent, used to obtain the critical heat index HKI; step two, in the openstack computing nodes set a master the monitoring program, used to obtain the critical heat index and calculate the mean value; step three, the key index of heat when the first physical server value exceeds the value set by the user, will be recorded and selected the computing node with the lowest key indicators as heat transfer machine; step four, transfer procedures in accordance with the user to set the strategy in the first select the virtual physical server machine is the biggest of the physical CPU and memory consumption, will transfer to the destination host migration. The equalization process of the invention has high transparency, and no need to restart the virtual machine, and also does not affect the service program in the virtual machine.

【技术实现步骤摘要】
基于openstack的大规模虚拟计算动态负载均衡方法
本专利技术涉及云计算
,具体地,涉及一种基于openstack的大规模虚拟计算动态负载均衡方法。
技术介绍
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,一个开源的云计算管理平台项目,覆盖了网络、虚拟化、操作系统、服务器等各个方面。虚拟计算在广义上讲是一种以虚拟化、网络、监控等技术的融合为核心的一种计算体系。在本方案中,单指服务器虚拟化,即将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,使我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。动态负载均衡泛指在不影响实际业务的情况下,通过提供一种有效的方法扩展服务器的处理、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。而在本方案中,主要是通过特定策略或算法,调整虚机的分布情况,实现虚拟服务器动态的处理能力的平衡。在计算设备(包括个人计算机、通用服务器、大型主机等)、互联网技术非常普及的今天,从技术热点上看,云计算无疑是其中最热门的概念之一。云计算服务的主要优势是,给用户提供弹性计算能力,让一个公司或组织的计算资源得到充分整合,从而实现按需分配计算资源而提升现有硬件资源的利用率,而且更加方便管理、减低资源管理成本。随着越来越多的业务从传统平台转移至云计算平台,大量的,新的虚拟机被创建出来。企业或组织不得不花大力气采购新的设备,用于承载这些新的虚拟机,以支撑更多的业务。即使是公有云平台,大量的虚拟计算资源也出现了过载的情况,如果客户的增多导致业务处理量超出了服务器能承受的范围,那么其结果必然是――宕机。为了解决这一问题,国内外许多公司和学术机构都对此进行了研究和改进,但效果并不理想。其中,与本专利技术最接近的技术方法如下:一、基于负载均衡器的云计算数据中心的管理系统和管理方法(专利号:CN105159775A):设计一个包括弹性节点池集群、负载均衡器集群和管理装置的管理系统。其中,弹性节点池集群包括若干个弹性节点池,每个弹性节点池包括若干个虚拟机,虚拟机用于通过虚拟IP对外提供服务;负载均衡器集群包括若干个负载均衡器,每个负载均衡器与设定数量的弹性节点池连接,用于为所连接的每个弹性节点池提供负载均衡服务;管理装置用于管理负载均衡器和弹性节点池,根据每个弹性节点池的负载状况,采用预设的负载均衡策略动态调整所述弹性节点池中虚拟机的数量。该方法只能解决虚拟机的访问负载问题,并不能解决虚拟机对物理资源的消耗负载问题。二、一种用于云计算环境下的负载均衡方法(专利号:CN104917839A):该方法从超载的虚拟机上移走一些任务,并为其寻找另外的合适的虚拟机。在根据任务优先级QoS标准在多个虚拟机中选择最好的虚拟机,即在虚拟机的任务中只有很少一部分任务的优先级与该任务的优先级相同。这个过程称为多个任务为了虚拟机而进行的竞争,当该竞争结束后,获胜的任务被分配给其找到的合适的虚拟机的详细信息进行更新。该方法将虚拟机中的业务人为地划分成了多个任务,并且人为地界定其优先级,这样的设计方法对整个系统来说是不透明的,这既增加了管理的难度,又给系统带来了安全风险。虚拟化是云计算体系的核心,本质上是解决物理资源过剩的问题。但是,随着云计算数据中心规模的不断扩大,用户的业务量也不断增加,而租户虚拟机,作为最基本的计算单元,其业务的均衡性却愈来愈受到挑战。为了应对这种挑战,出现了很多解决方案,其中最典型的是openstack在Grizzly版本就集成到Neutron中的负载均衡(LoadBalance)模块。它作为OpenStackNeutron项目的高级服务之一,能够均衡的将所收到的网络流量分配给指定的虚拟机集合,从而达到更高效的使用系统资源的目的。目前大多数负载均衡器的原理都与之类似,在云计算体系中称之为LBaaS。这种典型的负载均衡器最大的特点是从网络访问中入手,通过分流的方式将业务分散到各个虚拟机中。这样的方式最大的不足就在于没有解决全局的负载均衡问题,也就是说在整个云平台环境中,这样的方式只能将业务分流至相同业务处理的虚拟机中,并没有做到全局的负载均衡。另外,很多虚拟机的业务是聚焦CPU或内存的,在没有任何网络访问时,也会消耗资源,因此对于这样的虚机,传统的负载均衡方法起不到任何作用。随着越来越多的业务从传统平台转移至云计算平台,大量的,新的虚拟机被创建出来。企业或组织不得不花大力气采购新的设备,用于承载这些新的虚拟机,以支撑更多的业务。然而,由于租户业务存在“断-续”这一特点,即业务不会长时间地使用CPU等物理资源,因此盲目扩展物理资源虽可以满足一时的业务需求,但长期而言会导致大量的资源浪费。为了解决这一问题,本方法提出一种基于openstack的大规模虚拟计算动态负载均衡方法。在云平台的控制节点设计一个负载均衡监控器,对该控制节点所管辖的若干计算节点进行监控。如果某台计算节点CPU持续处于繁忙状态,并且其内存持续吃紧,就启动迁移动作,将该节点上最耗资源的一台虚拟机通过openstack的nova命令迁移到另一台相对空闲的计算节点上。整个过程对用户透明,不需要重启虚拟机,更不会影响租户在虚拟机中的任何业务程序。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于openstack的大规模虚拟计算动态负载均衡方法,其整个均衡过程透明度高,不需要重启虚拟机也不会影响在虚拟机中的业务程序,可以达到高效地使用系统资源的目的。根据本专利技术的一个方面,提供一种基于openstack的大规模虚拟计算动态负载均衡方法,其特征在于,其包括以下步骤:步骤一,在每台运行虚拟机的物理服务器openstack计算节点上设置一个监控代理程序,用于获取该物理机的关键热度指标HKI;步骤二,在openstack计算节点上设置一个主监控程序,定时轮询各计算openstack计算节点中的监控代理程序,获取关键热度指标并计算出关键热度指标平均值;步骤三,当主监控程序探测到第一物理服务器的关键热度指标值超过用户设定的值,就将其记录下来,并选取关键热度指标最低的那台计算节点作为迁移目的主机,然后启动迁移程序;步骤四,迁移程序按照用户设定的策略在第一物理服务器中选取对物理CPU和物理内存消耗最大的虚拟机,使用openstack的动态迁移命令将其迁移至迁移目的主机。优选地,所述关键热度指标关键热度指标由CPU和内存的实际使用率计算得出,其值越高,说明该计算节点的负载越大。优选地,所述步骤一包括以下步骤:步骤十一:读取计算节点Linux操作系统的proc、stat文件,采集该文件中九个关于cpu时间片的相关指标,它们分别是user、nice、system、idle、iowait、irq、softirq、stealstolen、guest;步骤十二:定时在某个足够短的时间间隔内,通过步骤十一对cpu时间片相关指标进行两次采样,生成间隔内的时间片统计值;假设把第一次的所有cpu使用情况,即九个cpu相关指标求和,得到s1;第二次为s2;本文档来自技高网
...
基于openstack的大规模虚拟计算动态负载均衡方法

【技术保护点】
一种基于openstack的大规模虚拟计算动态负载均衡方法,其特征在于,其包括以下步骤:步骤一,在每台运行虚拟机的物理服务器openstack计算节点上设置一个监控代理程序,用于获取该物理机的关键热度指标;步骤二,在openstack计算节点上设置一个主监控程序,定时轮询各计算openstack计算节点中的监控代理程序,获取关键热度指标并计算出关键热度指标平均值;步骤三,当主监控程序探测到第一物理服务器的关键热度指标值超过用户设定的值,就将其记录下来,并选取关键热度指标最低的那台计算节点作为迁移目的主机,然后启动迁移程序;步骤四,迁移程序按照用户设定的策略在第一物理服务器中选取对物理CPU和物理内存消耗最大的虚拟机,使用openstack的动态迁移命令将其迁移至迁移目的主机。

【技术特征摘要】
2016.12.06 CN 20161111187691.一种基于openstack的大规模虚拟计算动态负载均衡方法,其特征在于,其包括以下步骤:步骤一,在每台运行虚拟机的物理服务器openstack计算节点上设置一个监控代理程序,用于获取该物理机的关键热度指标;步骤二,在openstack计算节点上设置一个主监控程序,定时轮询各计算openstack计算节点中的监控代理程序,获取关键热度指标并计算出关键热度指标平均值;步骤三,当主监控程序探测到第一物理服务器的关键热度指标值超过用户设定的值,就将其记录下来,并选取关键热度指标最低的那台计算节点作为迁移目的主机,然后启动迁移程序;步骤四,迁移程序按照用户设定的策略在第一物理服务器中选取对物理CPU和物理内存消耗最大的虚拟机,使用openstack的动态迁移命令将其迁移至迁移目的主机。2.根据权利要求1所述的基于openstack的大规模虚拟计算动态负载均衡方法,其特征在于,所述关键热度指标由CPU和内存的实际使用率计算得出。3.根据权利要求1所述的基于openstack的大规模虚拟计算动态负载均衡方法,其特征在于,所述步骤一包括以下步骤:步骤十一:读取计算节点Linux操作系统的proc、stat文件,采集该文件中九个关于cpu时间片的相关指标,它们分别是user、nice、syst...

【专利技术属性】
技术研发人员:陈云松
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1