发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在虚拟机迁移过程中,不降低云计算数据中心的工作性能的情况下,实现降低能耗。
(二)技术方案
为解决上述技术问题,本发明提供了一种云计算数据中心节能方法,所述方法包括以下步骤:
S1:获取当前数据中心中所具有的虚拟机个数;
S2:统计当前数据中心中每台物理机上的虚拟机个数,并根据所述每台物理机上的虚拟机个数进行排序;
S3:根据所述数据中心中每台物理机的最大虚拟机容量、以及所述虚拟机个数判断所需物理机的最小下限个数n;
S4:根据步骤S2的排序结果选择虚拟机个数最多的n个物理机作为目标集合;
S5:将除去所述目标集合外的物理机上的虚拟机作为迁移集合,并根据除去所述目标集合外的物理机的虚拟机数目进行排序;
S6:在迁移集合中根据物理机上虚拟机数目从少到多依次进行选择,并将选择的当前虚拟机与所述目标集合进行对应,直至迁移集合中所有虚拟机均与所述目标集合对应后,根据所述迁移集合与所述目标集合之间的对应关系依次实现虚拟机迁移。
优选地,步骤S6中,将选择的虚拟机放入所述目标集合之前,还包括以下步骤:
S61:将选择的当前虚拟机与目标集合中虚拟机个数最多的物理机对应,并计算出相应的总迁移成本,并将所述迁移成本作为最小成本;
S62:遍历所述目标集合中的其它物理机,计算对应的当前总迁移成本,并将当前迁移总成本与所述最小成本进行比较,若当前迁移总成本大于等于所述最小成本,则重复执行步骤S62,否则将当前迁移总成本作为最小成本,将当前虚拟机与当前物理机对应。
优选地,所述总迁移成本通过如下公式计算,
Cost(Vi,Ph)=mig×D(Vi,Ph)+∑[W(Vi,Vj)×D′(Ph,Vj)]
其中,Cost(Vi,Ph)为当前虚拟机Vi迁移到当前物理机Ph的总迁移成本,mig为常数,D(Vi,Ph)为当前虚拟机Vi到当前物理机Ph的拓扑步数,W(Vi,Vj)为当前虚拟机Vi与数据中心中其它虚拟机Vj之间的通信流量,D′(Ph,Vj)为当前虚拟机Vi迁移到物理机Ph后,物理机Ph到数据中心中其它虚拟机Vj的拓扑步数。
优选地,在步骤S1之前还包括以下步骤:
S0:当数据中心中负载相对稳定均衡,但物理机利用率低于阈值时,执行步骤S1。
本发明还公开了一种云计算数据中心节能系统,所述系统包括:
获取模块,用于获取当前数据中心中所具有的虚拟机个数;
统计排序模块,用于统计当前数据中心中每台物理机上的虚拟机个数,并根据所述每台物理机上的虚拟机个数进行排序;
下限判断模块,用于根据所述数据中心中每台物理机的最大虚拟机容量、以及所述虚拟机个数判断所需物理机的最小下限个数n;
目标选择模块,用于根据统计排序模块的排序结果选择虚拟机个数最多的n个物理机作为目标集合;
迁移集合确定模块,用于将除去所述目标集合外的物理机上的虚拟机作为迁移集合,并根据除去所述目标集合外的物理机的虚拟机数目进行排序;
迁移模块,用于在迁移集合中根据物理机上虚拟机数目从少到多依次进行选择,并将选择的当前虚拟机与所述目标集合进行对应,直至迁移集合中所有虚拟机均与所述目标集合对应后,根据所述迁移集合与所述目标集合之间的对应关系依次实现虚拟机迁移。
优选地,迁移模块中,将选择的虚拟机放入所述目标集合之前,还包括以下步骤:
迁移成本计算模块,用于将选择的当前虚拟机与目标集合中虚拟机个数最多的物理机对应,并计算出相应的总迁移成本,并将所述迁移成本作为最小成本;
遍历模块,用于遍历所述目标集合中的其它物理机,计算对应的当前总迁移成本,并将当前迁移总成本与所述最小成本进行比较,若当前迁移总成本大于等于所述最小成本,则重复执行遍历模块,否则将当前迁移总成本作为最小成本,将当前虚拟机与当前物理机对应。
优选地,所述总迁移成本通过如下公式计算,
Cost(Vi,Ph)=mig×D(Vi,Ph)+∑[W(Vi,Vj)×D′(Ph,Vj)]
其中,Cost(Vi,Ph)为当前虚拟机Vi迁移到当前物理机Ph的总迁移成本,mig为常数,D(Vi,Ph)为当前虚拟机Vi到当前物理机Ph的拓扑步数,W(Vi,Vj)为当前虚拟机Vi与数据中心中其它虚拟机Vj之间的通信流量,D′(Ph,Vj)为当前虚拟机Vi迁移到物理机Ph后,物理机Ph到数据中心中其它虚拟机Vj的拓扑步数。
优选地,在获取模块之前还包括:
判断模块,用于当数据中心中负载相对稳定均衡,但物理机利用率低于阈值时,执行获取模块。
(三)有益效果
本发明从物理机上虚拟机数目从少到多依次进行迁移判断,能够尽快迁空物理机,在虚拟机迁移过程中,不降低云计算数据中心的工作性能的情况下,实现了降低能耗。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是按照本发明一种实施方式的云计算数据中心节能方法的流程图,本实施方式的方法包括以下步骤:
S1:获取当前数据中心中所具有的虚拟机个数;
S2:统计当前数据中心中每台物理机上的虚拟机个数,并根据所述每台物理机上的虚拟机个数进行排序;
S3:根据所述数据中心中每台物理机的最大虚拟机容量、以及所述虚拟机个数判断所需物理机的最小下限个数n;
S4:根据步骤S2的排序结果选择虚拟机个数最多的n个物理机作为目标集合;
S5:将除去所述目标集合外的物理机上的虚拟机作为迁移集合,并根据除去所述目标集合外的物理机的虚拟机数目进行排序;
S6:在迁移集合中根据物理机上虚拟机数目从少到多依次进行选择,并将选择的当前虚拟机与所述目标集合进行对应,直至迁移集合中所有虚拟机均与所述目标集合对应后,根据所述迁移集合与所述目标集合之间的对应关系依次实现虚拟机迁移。
本发明在进行迁移判断时,还综合考虑了迁移成本和通信成本。结合数据中心网络拓扑距离、及迁移参数得到迁移本身的成本;考虑拓扑距离和虚拟机之间的通信流量得到通信成本。这样在每次进行迁移判断时,都选取总成本最小的物理机作为目标物理机,保证了通信成本和迁移成本最小,从而保证了数据中心的工作性能,优选地,步骤S6中,将选择的虚拟机放入所述目标集合之前,还包括以下步骤:
S61:将选择的当前虚拟机与目标集合中虚拟机个数最多的物理机对应,并计算出相应的总迁移成本,并将所述迁移成本作为最小成本;
S62:遍历所述目标集合中的其它物理机,计算对应的当前总迁移成本,并将当前迁移总成本与所述最小成本进行比较,若当前迁移总成本大于等于所述最小成本,则重复执行步骤S62,否则将当前迁移总成本作为最小成本,将当前虚拟机与当前物理机对应。
优选地,所述总迁移成本通过如下公式计算,
Cost(Vi,Ph)=mig×D(Vi,Ph)+∑[W(Vi,Vj)×D′(Ph,Vj)]
其中,Cost(Vi,Ph)为当前虚拟机Vi迁移到当前物理机Ph的总迁移成本,mig为常数,D(Vi,Ph)为当前虚拟机Vi到当前物理机Ph的拓扑步数,W(Vi,Vj)为当前虚拟机Vi与数据中心中其它虚拟机Vj之间的通信流量,D′(Ph,Vj)为当前虚拟机Vi迁移到物理机Ph后,物理机Ph到数据中心中其它虚拟机Vj的拓扑步数。
优选地,在步骤S1之前还包括以下步骤:
S0:当数据中心中负载相对稳定均衡,但物理机利用率(即物理机上虚拟机个数与最大虚拟机容量之间的比值)低于阈值时,执行步骤S1。
利用本实施方式的方法在云计算数据中心进行从节能角度出发的虚拟机迁移,具有以下优点:
1、给出了物理机的下限,通过尽可能逼近目标物理机下限来实现能耗节省,对数据中心节能研究有一定的参考意义和应用价值。
2、考虑了虚拟机之间的应用相关性,每次迁移是将虚拟机放置在总通信成本较少的物理机上,本方法能更好的降低网络流量,从而降低通信成本,保证数据中心的工作性能。
实施例1
步骤101:负载相对稳定均衡,物理机利用率低于阈值时,触发虚拟机迁移。
步骤102:获取整个数据中心的物理机利用率、当前物理机上的虚拟机数目、虚拟机之间的通信流量、以及数据中心的拓扑结构。
步骤103:统计物理机上的虚拟机数目,并将物理机按虚拟机数目降序进行排列。计算得出目标物理机集合和待迁移的虚拟机集合。数据中心的虚拟机集合表示为V={V1,V2,V3,…,Vm},数据中心的物理机集合表示为P={P1,P2,P3,…,Ps},其中m≥s。
定义
i∈(1,m),j∈(1,s),即如果虚拟机V
i被放在物理机P
j上,则X
ij=1;否则X
ij=0,按
对物理机进行降序排序。
步骤104:根据整个数据中心虚拟机的总数除以每台物理机的最大虚拟机容量,得出开启的物理机数目的最小下限,并将最小下限的数目作为目标物理机的数目,从高到低依次选取最小下限个物理机,将其作为目标物理机集合。用C表示每台物理服务器最多能运行的虚拟机数目,通过计算
(若
计算得到的结果不是整数,则向上取整得到所求的物理机数目n),可以得到运行当前所有活虚拟机的物理服务器数目的最小下界。将该值作为理想的数据中心工作的物理机数目。取前n台物理机,放到集合ΔP中,将该集合作为目标物理机集合。将剩下的物理机升序排列并将其上的虚拟机依次放到集合ΔV中,并将ΔV作为待迁移的虚拟机集合。
步骤105:根据物理机利用率从低到高将虚拟机放入待迁移集合后,依次选取该集合中的虚拟机进行迁移成本计算,总的迁移成本包括迁移本身的成本和虚拟机之间的通信成本,其中迁移本身的成本和迁移距离有关;通信成本与虚拟机之间的通信流量和拓扑距离有关。将待迁移虚拟机集合ΔV中的每个虚拟机Vi,从集合中取出,对每个目标物理机集合中的Ph∈ΔP,由公式
计算Cost(Vi,Ph)。
其中Costmig(Vi,Ph)表示将虚拟机Vi迁移到物理机Ph花费的迁移成本。Costcomm(Vi,Ph)表示将虚拟机Vi迁移到物理机Ph后的通信成本。mig为进行一次迁移的迁移系数,D(Vi,Ph)表示虚拟机Vi到物理机Ph的拓扑步数,W(Vi,Vj)表示虚拟机Vi与Vj之间的通信流量,D′(Ph,Vj)表示虚拟机Vi迁移到物理机Ph后,物理机Ph到虚拟机Vj的拓扑步数。
步骤106:针对每一台待迁移的虚拟机,计算出总迁移成本后,依次遍历目标物理机中的所有物理机,首先从物理机利用率最高的物理机计算总迁移成本,并将其作为总迁移成本的最小值。之后遍历目标物理机集合中的物理机,并计算相应的总迁移成本。判断下一物理机的总迁移成本是否大于当前的总迁移成本。
步骤107:如果遍历目标物理机集合中的所有物理机,相应的总迁移成本都大于当前值,则该目标物理机即为虚拟机要迁移到的目标物理机。
步骤108:如果下一目标物理机的总迁移成本小于当前值,则将本次计算得到的总迁移成本作为总迁移成本的最小值,然后回到目标物理机集合,计算下一个当前待迁移的虚拟机迁移到下一个物理机的总迁移成本。
步骤109:对每个待迁移的虚拟机判断出迁移目标物理机后,输出迁移集合,即完成一次虚拟机迁移判断,将(Vi,Ph)加入到迁移集合后,便对D(Vi,Vj)矩阵进行一次更新,待迁移虚拟机集合ΔV中的所有虚拟机都迁移完成后,输出迁移集合M。
步骤110:迁移结束。
本实施例中,数据中心的拓扑结构采用VL2,拓扑结构如下图2所示,每簇交换机下有4台物理服务器。每台物理服务器的最大运行虚拟机的数目是10,迁移判断时如果物理机上虚拟机数目相同,则将同一个交换机或同一簇下的物理机放入目标物理机集合。当前场景下我们的实验数据通过运行基准程序随机测量生成。
单个物理机配置是Xeon E5620(2.4G)4核8线程的处理器,30GBDDR的内存,SAS 1TB RAID5硬盘,物理节点使用windows server2008R2 SP1操作系统,采用VMware Workstation作为虚拟化软件。虚拟机配置相同,分配Xeon E5620x1(2.4G)的CPU,2GB的内存,30GB硬盘空间,运行Ubuntu10.04的操作系统,并在每个虚拟机上搭建分布式系统Hadoop平台,Hadoop版本号为0.20.2。
由于每次迁移都是将虚拟机迁移到比之前通信成本更低的物理机上,处于同一物理机的虚拟机之间不存在通信成本,因此,每次虚拟机迁移完成后,与迁移前相比能有效降低数据中心20%总通信成本。由于本文的提出方法是从物理机上虚拟机数目最小的开始进行虚拟机迁移,因此能较快迁空物理机,从而将其关停,节省能耗。并有效降低了30%整体能耗。
本发明还公开了一种云计算数据中心节能系统,包括:
获取模块,用于获取当前数据中心中所具有的虚拟机个数;
统计排序模块,用于统计当前数据中心中每台物理机上的虚拟机个数,并根据所述每台物理机上的虚拟机个数进行排序;
下限判断模块,用于根据所述数据中心中每台物理机的最大虚拟机容量、以及所述虚拟机个数判断所需物理机的最小下限个数n;
目标选择模块,用于根据统计排序模块的排序结果选择虚拟机个数最多的n个物理机作为目标集合;
迁移集合确定模块,用于将除去所述目标集合外的物理机上的虚拟机作为迁移集合,并根据除去所述目标集合外的物理机的虚拟机数目进行排序;
迁移模块,用于在迁移集合中根据物理机上虚拟机数目从少到多依次进行选择,并将选择的当前虚拟机与所述目标集合进行对应,直至迁移集合中所有虚拟机均与所述目标集合对应后,根据所述迁移集合与所述目标集合之间的对应关系依次实现虚拟机迁移。
优选地,迁移模块中,将选择的虚拟机放入所述目标集合之前,还包括以下步骤:
迁移成本计算模块,用于将选择的当前虚拟机与目标集合中虚拟机个数最多的物理机对应,并计算出相应的总迁移成本,并将所述迁移成本作为最小成本;
遍历模块,用于遍历所述目标集合中的其它物理机,计算对应的当前总迁移成本,并将当前迁移总成本与所述最小成本进行比较,若当前迁移总成本大于等于所述最小成本,则重复执行遍历模块,否则将当前迁移总成本作为最小成本,将当前虚拟机与当前物理机对应。
优选地,所述总迁移成本通过如下公式计算,
Cost(Vi,Ph)=mig×D(Vi,Ph)+∑[W(Vi,Vj)×D′(Ph,Vj)]
其中,Cost(Vi,Ph)为当前虚拟机Vi迁移到当前物理机Ph的总迁移成本,mig为常数,D(Vi,Ph)为当前虚拟机Vi到当前物理机Ph的拓扑步数,W(Vi,Vj)为当前虚拟机Vi与数据中心中其它虚拟机Vj之间的通信流量,D′(Ph,Vj)为当前虚拟机Vi迁移到物理机Ph后,物理机Ph到数据中心中其它虚拟机Vj的拓扑步数。
优选地,在获取模块之前还包括:
判断模块,用于当数据中心中负载相对稳定均衡,但物理机利用率低于阈值时,执行获取模块。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。