CN107273185B - 一种基于虚拟机的负载均衡控制方法 - Google Patents
一种基于虚拟机的负载均衡控制方法 Download PDFInfo
- Publication number
- CN107273185B CN107273185B CN201710463474.3A CN201710463474A CN107273185B CN 107273185 B CN107273185 B CN 107273185B CN 201710463474 A CN201710463474 A CN 201710463474A CN 107273185 B CN107273185 B CN 107273185B
- Authority
- CN
- China
- Prior art keywords
- data center
- virtual machine
- physical
- physical machine
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明提出了一种基于虚拟机的负载均衡控制方法,所述方法用于在云计算环境下对资源进行调度,所述方法包括:(1)调度处理器接收用户的虚拟机任务请求,调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示所述云资源环境下的数据中心个数;选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户。本发明提出的基于虚拟机的负载均衡控制方法,提高了资源利用效率、减少任务处理时间。
Description
技术领域
本发明涉及云计算领域,具体涉及一种基于虚拟机的负载均衡控制方法。
背景技术
随着移动互联网的快速发展以及互联网3G技术的不断成熟,网络访问用户、访问流量以及访问请求数都在成倍增长,世界各地的互联网公司都在竭尽全力来争夺由移动互联网用户不断增长所带来的商机。据不完全统计,Google的服务器数量早已突破1000万台,而国内像阿里巴巴、新浪、百度等互联网企业的服务器也都达到2万台以上。必须采取高效合理的方法来部署这些服务器,才能为企业提供稳定的商业服务。另外,服务器数量的扩充需求推高了互联网企业的成本,每扩展一台服务器都会给互联网企业带来新的成本。与此同时,集群的扩展也给数据中心的运行环境带来了不稳定性,新增的服务器所带来的访问量在服务器端极度不均衡,即有时忙的服务器分配的访问量大,闲的服务器反而分配较小,这种情况是不安全的,容易导致服务器宕机而形成网络阻塞。如果是集群的中心节点出现问题,整个集群就会崩溃。
在商业和技术需求双重因素的驱使下,云计算技术在不同的互联网公司得到了充分发展。这些企业的数据中心再也不像原始单点集成式那样简单的部署服务器,而是采用了更高效的体系架构,更灵活的集群部署,更合理的资源配置来构建资源服务器池,而最能体现这样特点的架构无疑是云计算服务体系架构。
云计算技术是分布式计算技术、虚拟机技术、负载均衡技术等传统技术的综合发展。其中,云计算服务平台中的虚拟化技术也变得极为关键,相比单个的服务器组成的集群,基于虚拟机的集群的服务运行和服务部署具有以下特点:
(1)高扩展:虚拟机独立于硬件层,基于内核1层和应用层3层之间,虚拟机通过镜像文件来管理虚拟实例。通过配置好包含相关服务的镜像文件,加上CPU、内存等物理资源,添加或剔除一台应用服务器将变得非常的简洁,只需管理相关镜像文件即可,更重要的是,虚拟出的物理机实例计算能力跟真实服务器没有两样。
(2)高可靠:大规模服务器的部署必然伴随着服务器故障的产生,服务器数量越多,故障率也就越多。故障的产生不仅带来服务器更换成本,同时给运维人员带来运行维护的时间成本。虚拟机只需切换有故障的服务器实例,或者迁移实时任务,甚至跨地域地实现数据中心服务的无缝迁移,这些措施都可以通过云服务平台下的虚拟化技术来实现。
(3)独立性强:虚拟机技术实现了CPU的虚拟化、I/O的虚拟化以及内存等物理资源的虚拟化,虚拟化的物理资源是相互独立的,服务器实例之间互不干扰。
Linux服务器下虚拟机技术包括Xen完全虚拟化和KVM半虚拟化,这些虚拟化技术已经集成在相关的开源云计算平台中。目前Ubuntu下的Openstack采用了KVM虚拟机管理云资源实例,CentOS下的Eucalyptus的则采取了完全虚拟化的机制。
云计算的分布式技术可以集成大量的服务器,提高系统的存储和计算能力,同时云计算的虚拟化技术可以有效管理服务器,提高单个服务器资源的利用率。但是,随着移动互联网的发展,电脑、笔记本、智能手机、平板电脑等用户的访问流量全天24小时不间断的汇聚到服务器池中,异构的云服务平台的服务器实例资源大小不一,过重的负载量必然导致服务器端的负载不均衡。所以,云服务平台系统架构的负载均衡成为云服务平台能否高效运行的一个重要环节,也是现有技术急需解决的问题。
发明内容
至少部分的解决现有技术中存在的问题,本发明提出一种基于虚拟机的负载均衡控制方法,所述方法用于在云计算环境下对资源进行调度,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户。
其中,步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示所述云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心。
优选的,所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源。
优选的,所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,包括:
首先根据用户请求的虚拟机类型将物理机按该类型的利用率升序排列,所述虚拟机类型包括CPU类型、内存类型、存储类型;
根据该类型的利用率将物理机划分成多个区间,每个区间的大小可以动态设置,然后找出利用率最低的物理机所在的区间的所有物理机,将虚拟机任务试分配在该区间的所有物理机上,分别计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值;
选取负载均衡值最低的物理机开始分配虚拟机,只要分配该虚拟机任务后该物理机的容量没有超过阈值,则成功分配,否则取下一个负载均衡值次小的物理机进行分配,如果该区间所有物理机都不能分配,则取出下一个区间的物理机进行分配,直到分配成功为止。
优选的,所述计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值,具体包括:
CB=(AVG-CPU_U)2+(AVG-MEM_U)2+(AVG-STOR_U)2,
AVG=(CPU_U+MEM_U+STOR_U)/3
其中,CB表示物理机的负载均衡值,CPU_U、MEM_U、STOR_U分别表示物理机的CPU利用率、内存利用率、存储利用率,AVG表示物理机的CPU利用率、内存利用率、存储利用率的平均值。
优选的,所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵;
根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机。
优选的,所述计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵,具备包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的每个虚拟机任务相对该数据中心中所有物理机中每个物理机的资源负载Vij,
其中,Vij表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的资源负载,
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的CPU资源负载;TCPU i表示第i个虚拟机任务所需要的CPU资源,PCPU j表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEM i表示第i个虚拟机任务所需要的内存资源,PMEM j表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTOR i表示第i个虚拟机任务所需要的存储资源,PSTOR j表示第j个物理机剩余的可用存储资源;
α、β、γ分别CPU资源负载权值、内存资源负载权值、存储资源负载权值;
所述资源负载矩阵表示为:
所述矩阵表示在一个时间窗口T内有m个可用的物理机,有n个需要被调度的虚拟机任务请求,Vij代表第i个任务在第j个物理机上的负载值V。
优选的,α、β、γ分别取值0.5、0.3、0.2。
优选的,所述根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机,具体包括:
找出每个虚拟机任务的最小V值Vi,即针对矩阵的每一行,找出每一行的最小值;
Vi=min{Vi1,Vi2,…,Vim};
然后,找出这些最小值中的最大值Vmax,
Vmax=max{V1,V2,…,Vn};
找出Vmax所在的任务i,该任务就是第一个将要被分配的任务,它将被调度到该任务所在行的Vij是
Vmax的下j所代表的第j个物理机上;随后删除任务i在矩阵中的那一行,并更新矩阵中的其它任务在第j个节点上的L值,即都加上Vmax(这是因为其它任务如果要在第j个物理机上执行需要等待任务i执行,故它们的L值要加上Vmax);矩阵更新完毕后进行下一个任务调度的计算,重复以上过程,并最终确定了所有任务的调度顺序和调度去向。
本发明提出了基于虚拟机的负载均衡控制方法,提高了资源利用效率、减少任务处理时间。
附图说明
图1为本发明一种基于虚拟机的负载均衡控制方法的流程图;
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
参见图1,本发明提出了一种基于虚拟机的负载均衡控制方法,所述方法用于在云计算环境下对资源进行调度,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户。
调度处理器还用于接收数据中心发来的资源更新信息,并更新资源信息库;当某个数据中心的信息发生改变时,数据中心会给调度处理器发来更新后的信息,调度处理器收到之后,更新自身的数据库,保持与数据中心数据库的一致性,以便在分配虚拟机任务请求时使用。
调度处理器还用于管理数据中心,包括数据中心的注册和删除;当有新的数据中心需要加入到该云计算环境时,需要在调度处理器注册,将该数据中心的信息加入到调度处理器的数据库;当有数据中心需要删除时,在调度处理器的数据库将该数据中心的相应信息删除。
用户提交的虚拟机任务请求包括虚拟机使用的开始时间、结束时间、虚拟机的类型。
步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示所述云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源。
所述调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),具体包括:
VCPUj、VMEMj、VSTORj分别表示数据中心Di中虚拟机j所需要的CPU大小、内存大小、存储大小,M表示数据中心Di所包含的所有虚拟机的数量。
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其一实施例包括:
首先根据用户请求的虚拟机类型将物理机按该类型的利用率升序排列,所述虚拟机类型包括CPU类型、内存类型、存储类型;
根据该类型的利用率将物理机划分成多个区间,每个区间的大小可以动态设置,然后找出利用率最低的物理机所在的区间的所有物理机,将虚拟机任务试分配在该区间的所有物理机上,分别计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值;
选取负载均衡值最低的物理机开始分配虚拟机,只要分配该虚拟机任务后该物理机的容量没有超过阈值,则成功分配,否则取下一个负载均衡值次小的物理机进行分配,如果该区间所有物理机都不能分配,则取出下一个区间的物理机进行分配,直到分配成功为止。
把物理机划分成多个区间,每个区间的大小可以动态设置,每次都从利用率最小的物理机所在区间进行分配,这样能保证先将任务分配给利用率小的物理机,保证整个数据中心比较均衡。同时每次只从一个区间中寻找物理机大大的减少了算法的运行时间。
所述计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值,具体包括:
CB=(AVG-CPU_U)2+(AVG-MEM_U)2+(AVG-STOR_U)2,
AVG=(CPU_U+MEM_U+STOR_U)/3
其中,CB表示物理机的负载均衡值,CPU_U、MEM_U、STOR_U分别表示物理机的CPU利用率、内存利用率、存储利用率,AVG表示物理机的CPU利用率、内存利用率、存储利用率的平均值。
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其又一实施例包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵;
根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机。
所述计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵,具备包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的每个虚拟机任务相对该数据中心中所有物理机中每个物理机的资源负载Vij,
其中,Vij表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的资源负载,
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的CPU资源负载;TCPU i表示第i个虚拟机任务所需要的CPU资源,PCPU j表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEM i表示第i个虚拟机任务所需要的内存资源,PMEM j表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTOR i表示第i个虚拟机任务所需要的存储资源,PSTOR j表示第j个物理机剩余的可用存储资源;
α、β、γ分别CPU资源负载权值、内存资源负载权值、存储资源负载权值,在一实施例中,α、β、γ分别取值0.5、0.3、0.2;
所述资源负载矩阵表示为:
所述矩阵表示在一个时间窗口T内有m个可用的物理机,有n个需要被调度的虚拟机任务请求,Vij代表第i个任务在第j个物理机上的负载值V。
所述根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机,具体包括:
找出每个虚拟机任务的最小V值Vi,即针对矩阵的每一行,找出每一行的最小值;
Vi=min{Vi1,Vi2,…,Vim};
然后,找出这些最小值中的最大值Vmax,
Vmax=max{V1,V2,…,Vn};
找出Vmax所在的任务i,该任务就是第一个将要被分配的任务,它将被调度到该任务所在行的Vij是
Vmax的下j所代表的第j个物理机上;随后删除任务i在矩阵中的那一行,并更新矩阵中的其它任务在第j个节点上的L值,即都加上Vmax(这是因为其它任务如果要在第j个物理机上执行需要等待任务i执行,故它们的L值要加上Vmax);矩阵更新完毕后进行下一个任务调度的计算,重复以上过程,并最终确定了所有任务的调度顺序和调度去向。
本发明提出的一种基于虚拟机的负载均衡控制方法,还进一步包括:
对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估;
根据物理机物理机当前时刻t的资源负载和下一时刻t+1的资源负载,选择需要迁出虚拟机的物理机以及所迁出虚拟机待迁入的物理机。
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,具体包括:
W(t+1)=μW(t)+δW(t-1)+ωW(t-2),其中W(t+1)、W(t)、W(t-1)、W(t-2)分别表示时刻t+1、t、t-1、t-2时物理机的资源负载,μ、δ、ω为权值,在一实施例中分别取值0.5、0.3、0.2。
所述选择需要迁出虚拟机的物理机,具体包括:
当物理机发生过载情况时和低载情况时,根据当前状态将该物理机上的部分或全部虚拟机迁移到其它物理机上运行。
当物理机处于过载状态时,将虚拟机按时刻t+1预估资源负载量进行降序排列,选择未来资源负载排名前列的虚拟机进行迁出,同时,使得当前物理机能够满足剩下的虚拟机的时刻t+1时的资源需求;
当物理机处于低载状态时,将所有虚拟机都迁移出当前物理机。
所述物理机过载情况包括CPU利用率大于80%,所述物理机低载情况包括CPU利用率小于20%
所述选择所迁出虚拟机待迁入的物理机,具体包括:
根据需要迁入的虚拟机的资源需求与数据中心中所有物理机的资源信息,从中选取用于安置迁移虚拟机的物理机。
选择策略是对所有满足虚拟机资源分配要求的物理机预估其时刻t+1工作负载,根据预估情况划分资源需求缩减队列和资源需求扩大队列,通过进一步筛选确定目的物理机,具体步骤包括:
(a)计算各物理机上的资源需求伸缩量,其值为当前物理机上所有虚拟机时刻t+1的工作负载预估总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势;
(b)通过物理机资源总量减去当前时刻资源负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的物理机列表,形成候选物理机列表;
(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列。若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列,如果一方队列为空,则直接选择另一方排位第一的物理机机做为待迁入的物理机,若都不为空,则进一步比较两个队列的首位物理机,选择其中一个作为待迁入的物理机。
基于资源负载预估的主动控制是一种前馈控制,通过预估系统的未来工作负载情况来预先分析物理机发生过载或低载的可能性,并根据算法进行虚拟机整合,保证系统处于最优状态。基于实际系统状态信息的被动控制是一种反馈控制,通过监测单元等系统组件收集各虚拟机运行过程中使用资源的实时信息以及数据中心、物理机的状态信息作为反馈,重新调整虚拟机在物理机上的部署。
通过预估技术提前获知资源负载的波动情况,可以让调度器部分更加从容地实施虚拟机迁移策略,起到有针对性地提前预防作用;又可以通过反馈技术获知调度策略的实际执行情况,对处于过载或低载状态的物理主机实施虚拟机迁移操作,起到实时地纠正控制作用。
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,进一步包括:
统计当前物理机上用户信息;
使用启发式方法或K-邻近算法对用户在下一时刻t+1的所需资源U(t+1)进行预估,取U(t+1)和W(t+1)中值较大的作为下一时刻t+1当前物理机的资源负载值。
本发明提出了基于虚拟机的负载均衡控制方法,提高了资源利用效率、减少任务处理时间。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (1)
1.一种基于虚拟机的负载均衡控制方法,所述方法用于在云计算环境下对资源进行调度,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户;
调度处理器还用于接收数据中心发来的资源更新信息,并更新资源信息库;当某个数据中心的信息发生改变时,数据中心会给调度处理器发来更新后的信息,调度处理器收到之后,更新自身的数据库,保持与数据中心数据库的一致性,以便在分配虚拟机任务请求时使用;
调度处理器还用于管理数据中心,包括数据中心的注册和删除;当有新的数据中心需要加入到该云计算环境时,需要在调度处理器注册,将该数据中心的信息加入到调度处理器的数据库;当有数据中心需要删除时,在调度处理器的数据库将该数据中心的相应信息删除;
用户提交的虚拟机任务请求包括虚拟机使用的开始时间、结束时间、虚拟机的类型;
步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源;
所述调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),具体包括:
VCPUj、VMEMj、VSTORj分别表示数据中心Di中虚拟机j所需要的CPU大小、内存大小、存储大小,M表示数据中心Di所包含的所有虚拟机的数量;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,包括:
首先根据用户请求的虚拟机类型将物理机按该类型的利用率升序排列,所述虚拟机类型包括CPU类型、内存类型、存储类型;
根据该类型的利用率将物理机划分成多个区间,每个区间的大小可以动态设置,然后找出利用率最低的物理机所在的区间的所有物理机,将虚拟机任务试分配在该区间的所有物理机上,分别计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值;
选取负载均衡值最低的物理机开始分配虚拟机,只要分配该虚拟机任务后该物理机的容量没有超过阈值,则成功分配,否则取下一个负载均衡值次小的物理机进行分配,如果该区间所有物理机都不能分配,则取出下一个区间的物理机进行分配,直到分配成功为止;
把物理机划分成多个区间,每个区间的大小可以动态设置,每次都从利用率最小的物理机所在区间进行分配,这样能保证先将任务分配给利用率小的物理机,保证整个数据中心比较均衡;同时每次只从一个区间中寻找物理机大大的减少了算法的运行时间;
所述计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值,具体包括:
CB=(AVG-CPU_U)2+(AVG-MEM_U)2+(AVG-STOR_U)2,
AVG=(CPU_U+MEM_U+STOR_U)/3
其中,CB表示物理机的负载均衡值,CPU_U、MEM_U、STOR_U分别表示物理机的CPU利用率、内存利用率、存储利用率,AVG表示物理机的CPU利用率、内存利用率、存储利用率的平均值;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵;
根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机;
所述计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵,具备包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的每个虚拟机任务相对该数据中心中所有物理机中每个物理机的资源负载Vij,
其中,Vij表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的资源负载,
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的CPU资源负载;TCPU i表示第i个虚拟机任务所需要的CPU资源,PCPU j表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEM i表示第i个虚拟机任务所需要的内存资源,PMEM j表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTOR i表示第i个虚拟机任务所需要的存储资源,PSTOR j表示第j个物理机剩余的可用存储资源;
α、β、γ分别CPU资源负载权值、内存资源负载权值、存储资源负载权值,α、β、γ分别取值0.5、0.3、0.2;
所述资源负载矩阵表示为:
所述矩阵表示在一个时间窗口T内有m个可用的物理机,有n个需要被调度的虚拟机任务请求,Vij代表第i个任务在第j个物理机上的负载值V;
所述根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机,具体包括:
找出每个虚拟机任务的最小V值Vi,即针对矩阵的每一行,找出每一行的最小值;
Vi=min{Vi1,Vi2,…,Vim};
然后,找出这些最小值中的最大值Vmax,
Vmax=max{V1,V2,…,Vn};
找出Vmax所在的任务i,该任务就是第一个将要被分配的任务,它将被调度到该任务所在行的Vij是Vmax的下j所代表的第j个物理机上;随后删除任务i在矩阵中的那一行,并更新矩阵中的其它任务在第j个节点上的L值,即都加上Vmax(这是因为其它任务如果要在第j个物理机上执行需要等待任务i执行,故它们的L值要加上Vmax);矩阵更新完毕后进行下一个任务调度的计算,重复以上过程,并最终确定了所有任务的调度顺序和调度去向;
所述基于虚拟机的负载均衡控制方法,还进一步包括:
对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估;
根据物理机物理机当前时刻t的资源负载和下一时刻t+1的资源负载,选择需要迁出虚拟机的物理机以及所迁出虚拟机待迁入的物理机;
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,具体包括:
W(t+1)=μW(t)+δW(t-1)+ωW(t-2),其中W(t+1)、W(t)、W(t-1)、W(t-2)分别表示时刻t+1、t、t-1、t-2时物理机的资源负载,μ、δ、ω为权值,分别取值0.5、0.3、0.2;
所述选择需要迁出虚拟机的物理机,具体包括:
当物理机发生过载情况时和低载情况时,根据当前状态将该物理机上的部分或全部虚拟机迁移到其它物理机上运行;
当物理机处于过载状态时,将虚拟机按时刻t+1预估资源负载量进行降序排列,选择未来资源负载排名前列的虚拟机进行迁出,同时,使得当前物理机能够满足剩下的虚拟机的时刻t+1时的资源需求;
当物理机处于低载状态时,将所有虚拟机都迁移出当前物理机;
所述物理机过载情况包括CPU利用率大于80%,所述物理机低载情况包括CPU利用率小于20%
所述选择所迁出虚拟机待迁入的物理机,具体包括:
根据需要迁入的虚拟机的资源需求与数据中心中所有物理机的资源信息,从中选取用于安置迁移虚拟机的物理机;
选择策略是对所有满足虚拟机资源分配要求的物理机预估其时刻t+1工作负载,根据预估情况划分资源需求缩减队列和资源需求扩大队列,通过进一步筛选确定目的物理机,具体步骤包括:
(a)计算各物理机上的资源需求伸缩量,其值为当前物理机上所有虚拟机时刻t+1的工作负载预估总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势;
(b)通过物理机资源总量减去当前时刻资源负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的物理机列表,形成候选物理机列表;
(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列;若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列,如果一方队列为空,则直接选择另一方排位第一的物理机机做为待迁入的物理机,若都不为空,则进一步比较两个队列的首位物理机,选择其中一个作为待迁入的物理机;
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,进一步包括:
统计当前物理机上用户信息;
使用启发式方法或K-邻近算法对用户在下一时刻t+1的所需资源U(t+1)进行预估,取U(t+1)和W(t+1)中值较大的作为下一时刻t+1当前物理机的资源负载值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463474.3A CN107273185B (zh) | 2017-06-19 | 2017-06-19 | 一种基于虚拟机的负载均衡控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463474.3A CN107273185B (zh) | 2017-06-19 | 2017-06-19 | 一种基于虚拟机的负载均衡控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273185A CN107273185A (zh) | 2017-10-20 |
CN107273185B true CN107273185B (zh) | 2020-09-29 |
Family
ID=60067942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710463474.3A Active CN107273185B (zh) | 2017-06-19 | 2017-06-19 | 一种基于虚拟机的负载均衡控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273185B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908459B (zh) * | 2017-11-10 | 2020-06-09 | 山东劳动职业技术学院 | 一种云计算调度系统 |
CN108259336B (zh) * | 2017-11-22 | 2020-12-29 | 新华三技术有限公司 | 数据中心互联方法和装置 |
CN108076486B (zh) * | 2017-12-28 | 2021-05-18 | 国网河南能源互联网电力设计院有限公司 | 一种基于负载均衡的动态无线资源分配算法 |
CN108710540B (zh) * | 2018-05-23 | 2021-05-04 | 深信服科技股份有限公司 | 一种分布式集群中的资源调度方法、装置及设备 |
CN110881058B (zh) * | 2018-09-06 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 请求调度方法、装置、服务器及存储介质 |
CN109885400A (zh) * | 2019-01-18 | 2019-06-14 | 北京百度网讯科技有限公司 | 用于发送指令的方法和装置 |
CN110196772B (zh) * | 2019-04-22 | 2023-05-23 | 河南工业大学 | 一种云数据中心环境下考虑容错机制的虚拟机调度方法 |
US11720403B2 (en) * | 2019-04-24 | 2023-08-08 | Google Llc | System for commitment-aware workload scheduling based on anticipated resource consumption levels |
CN110399226B (zh) * | 2019-07-31 | 2023-03-24 | 新乡学院 | 云系统用负载平衡器 |
CN111399985B (zh) * | 2020-03-19 | 2021-02-19 | 国网山东省电力公司 | 云计算环境下基于存储差值迭代的负载均衡方法 |
CN111831428A (zh) * | 2020-06-03 | 2020-10-27 | 四川大学 | 一种云数据中心资源利用率优化方法及系统 |
CN112380015A (zh) * | 2020-11-24 | 2021-02-19 | 国网宁夏电力有限公司信息通信公司 | 一种基于分布式测量的电力物联网nfv分配算法 |
CN113626162B (zh) * | 2021-07-09 | 2024-08-23 | 西安电子科技大学 | 基于动态资源共享的数据中心任务混合部署方法及系统 |
CN114268477A (zh) * | 2021-12-14 | 2022-04-01 | 国网河南省电力公司电力科学研究院 | 基于多模式负载均衡的安全资源动态调度系统及方法 |
CN116244060B (zh) * | 2022-12-05 | 2024-04-12 | 广州视声智能股份有限公司 | 基于智能社区的资源调度方法和装置 |
CN117407143B (zh) * | 2023-10-27 | 2024-07-12 | 北京德仕美通电子有限公司 | 一种基于云计算的数据中心管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185759A (zh) * | 2011-04-12 | 2011-09-14 | 田文洪 | 一种满足需求特性的多物理服务器负载均衡的方法及装置 |
CN102508714A (zh) * | 2011-11-03 | 2012-06-20 | 南京邮电大学 | 一种云计算中基于绿色计算的虚拟机调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011110026A1 (zh) * | 2010-10-29 | 2011-09-15 | 华为技术有限公司 | 一种实现数据中心资源负载均衡的方法及装置 |
-
2017
- 2017-06-19 CN CN201710463474.3A patent/CN107273185B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185759A (zh) * | 2011-04-12 | 2011-09-14 | 田文洪 | 一种满足需求特性的多物理服务器负载均衡的方法及装置 |
CN102508714A (zh) * | 2011-11-03 | 2012-06-20 | 南京邮电大学 | 一种云计算中基于绿色计算的虚拟机调度方法 |
Non-Patent Citations (4)
Title |
---|
"基于LPM的负载均衡算法";颜昊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130930;第1章-第4章 * |
"基于云计算环境的资源提供优化方法研究";张晓庆;《中国优秀博士学位论文全文数据库 信息科技辑》;20131130;第5章 * |
"多数据中心负载均衡调度的研究";孙夏爽;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150130;第1章-第5章 * |
孙夏爽."多数据中心负载均衡调度的研究".《中国优秀硕士学位论文全文数据库 信息科技辑》.2015, * |
Also Published As
Publication number | Publication date |
---|---|
CN107273185A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273185B (zh) | 一种基于虚拟机的负载均衡控制方法 | |
Sefati et al. | Load balancing in cloud computing environment using the Grey wolf optimization algorithm based on the reliability: performance evaluation | |
Peng et al. | Optimus: an efficient dynamic resource scheduler for deep learning clusters | |
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
CN107273211B (zh) | 一种云计算环境下基于虚拟机的数据处理方法 | |
US9442760B2 (en) | Job scheduling using expected server performance information | |
US10623481B2 (en) | Balancing resources in distributed computing environments | |
US9495214B2 (en) | Dynamic resource allocations method, systems, and program | |
US8332862B2 (en) | Scheduling ready tasks by generating network flow graph using information receive from root task having affinities between ready task and computers for execution | |
Patel et al. | Survey on resource allocation strategies in cloud computing | |
US20120011254A1 (en) | Network-aware virtual machine migration in datacenters | |
CN114138486A (zh) | 面向云边异构环境的容器化微服务编排方法、系统及介质 | |
Aruna et al. | An improved load balanced metaheuristic scheduling in cloud | |
CN104010028A (zh) | 一种云平台下性能加权的虚拟资源动态管理策略方法 | |
Sonkar et al. | A review on resource allocation and VM scheduling techniques and a model for efficient resource management in cloud computing environment | |
Keerthika et al. | A multiconstrained grid scheduling algorithm with load balancing and fault tolerance | |
CN107168805A (zh) | 一种基于虚拟机的资源调度方法 | |
Durairaj et al. | MOM-VMP: multi-objective mayfly optimization algorithm for VM placement supported by principal component analysis (PCA) in cloud data center | |
Patel et al. | An improved load-balancing mechanism based on deadline failure recovery on GridSim | |
Surya et al. | Prediction of resource contention in cloud using second order Markov model | |
Garg et al. | Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method | |
Ramezani et al. | Task scheduling in cloud environments: A survey of population‐based evolutionary algorithms | |
Rathore | A REVIEW TOWARDS: LOAD BALANCING TECHNIQUES. | |
CN113032136A (zh) | 多云环境下电网分析任务调度方法和装置 | |
Ro | Modeling and analysis of memory virtualization in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200817 Address after: 100062 Main Building 3, No. 22 Baiqiao Street, Dongcheng District, Beijing, 301-306 Applicant after: GUANDIAN DEFENSE TECHNOLOGY Co.,Ltd. Address before: The middle Tianfu Avenue in Chengdu city Sichuan province 610000 No. 1388 1 7 storey building No. 772 Applicant before: CHENGDU DINGZHIHUI TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |