CN102868763B - 一种云计算环境下虚拟web应用集群节能的动态调整方法 - Google Patents
一种云计算环境下虚拟web应用集群节能的动态调整方法 Download PDFInfo
- Publication number
- CN102868763B CN102868763B CN201210376916.8A CN201210376916A CN102868763B CN 102868763 B CN102868763 B CN 102868763B CN 201210376916 A CN201210376916 A CN 201210376916A CN 102868763 B CN102868763 B CN 102868763B
- Authority
- CN
- China
- Prior art keywords
- web application
- virtual web
- host
- application server
- server
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,包括:a.建立虚拟web应用集群;b.监控虚拟web应用服务器使用情况;c.判断平均CPU利用率和平均内存使用率在区间[min%,max%]的情况;d.如均在区间[min%,max%]内,继续监控;e.如有一项均大于max%,且另一项均大于min%,使用动态扩展方法,创建一台新的服务器;f.如一项小于min%,另一项小于max%,使用动态缩减方法,将资源使用当量最低的宿主机上的一台服务器删除;g.如一项小于min%,另一项大于max%,使用动态变换规格扩展方法,创建一台新的服务器。本发明通过动态扩展方法、缩减方法或变换规格方法,对虚拟web应用服务器进行调节,保证了云平台中宿主机的集中、最低数量运行,实现了有效的节能效果。
Description
技术领域
本发明涉及一种云计算环境下虚拟web应用集群节能的动态调整方法,更具体的说,尤其涉及一种根据现有虚拟web应用服务器的资源使用状态实时地动态扩展、缩减或变换规格扩展服务器的云计算环境下虚拟web应用集群节能的动态调整方法。
背景技术
云计算是一种通过网络提供动态的可伸缩的虚拟化的资源服务的计算模式,是继大型计算机模式到服务器/客户端模式的转变后,计算模式的又一种巨变。云计算旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系统,因此可以为用户提供价格低廉的计算服务,而无需再建设机房、配备机房相关管理技术人员。近几年,云计算在全球范围内都得到广泛应用。
虚拟化是云计算的基础技术之一。通过系统的虚拟化技术,可以在同一物理设备上运行多个虚拟机。而云计算平台正是通过虚拟化技术提供给用户自定义的虚拟机进行服务。随着用户需求的不断提高,越来越多的用户选择云计算提供的虚拟机服务建设自己的虚机集群,以供自身的web应用做支撑。使用云计算提供的虚拟web应用集群可以节约企业信息化建设成本,因而具有较大的吸引力。
但是,在当前云计算常用的虚拟化技术中,提供的虚拟web应用集群并没有自动化的根据用户web应用的负载而动态调整,用户需要自己对虚拟web应用集群的资源使用情况实时跟踪,然后再根据负载情况人工增加或缩小集群规模。特别是用户的web应用有突发负载时,用户人工调整的响应速度往往不那么及时,从而导致用户的web应用因负载过高受到阻碍。另一方面,如果用户自身对虚拟web应用集群负载没有很好的预先规划,导致虚拟web应用集群规模较大,而集群的实际负载却很小,或者用户对集群负载的估计不准确,创建的虚拟机规格不适应负载,使得CPU利用率很高而内存利用率很低,或者CPU利用率低而内存利用率高,造成较多的CPU或内存空闲而用户的负载问题仍得不到解决,使得较多的计算资源空闲在集群中,产生较大的能源浪费。另外,从云计算平台的管理者角度讲,如何根据用户的实际负载情况,动态调整虚拟web应用集群的分布,使得整个平台使用较少的能源而提供较优化的计算服务,也是一个有重要意义的技术问题。
发明内容
本发明为了克服上述技术问题的缺点,提供了一种根据现有虚拟web应用服务器的资源使用状态实时地动态扩展、缩减或变换规格扩展服务器的云计算环境下虚拟web应用集群节能的动态调整方法。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,虚拟web应用集群建立于云计算环境下的宿主机上,设CI、MI分别为宿主机的空余CPU数、剩余内存空间GB数,CP、MP分别为宿主机的已用CPU数、已用内存空间GB数;资源剩余当量I=CI+MI,资源使用当量P=CP+MP;其特别之处在于,节能的动态调整方法包括以下步骤:a.建立虚拟web应用集群,初始条件下,包括一台虚拟负载均衡服务器、一台虚拟web应用服务器和一台虚拟数据库服务器;b.监控虚拟web应用服务器使用情况,每隔时间T读取虚拟web应用集群中各个虚拟web应用服务器的CPU利用率和内存使用率;c.判断资源使用情况,每读取一次CPU利用率和内存使用率,均计算最近连续n次读取的各虚拟web应用服务器的CPU利用率和内存使用率的平均值,得出平均CPU利用率和平均内存使用率;判断平均CPU利用率和平均内存使用率在区间[min%,max%]的情况;d.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率均在区间[min%,max%]内,则跳转至步骤b,继续监控虚拟web应用服务器使用情况;e.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均大于max%,且另一项均大于min%,则使用节能的虚拟web应用集群动态扩展方法,在运行的宿主机上按初始规格创建一台新的虚拟web应用服务器,并加入虚拟负载均衡服务器的负载机列表中;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,执行步骤h;f.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项均小于max%,则使用节能的虚拟web应用集群动态缩减方法,将资源使用当量P最低的宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器的负载机列表中删除,并删除该虚拟web应用服务器;如果宿主机在删除虚拟web应用服务器之后,无其他虚拟服务器,则发送关闭该宿主机消息,执行步骤h;g.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项均大于max%,则使用节能的虚拟web应用集群动态变换规格扩展方法,按照小于min%的项同初始规格、大于max%的项为初始规格θ倍的方式创建一台新的虚拟web应用服务器;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,则执行步骤h;h.开关宿主机,云计算平台管理者,在收到开机提示消息时,选择一台尚未开机的服务器进行开机;在收到关机提示消息时,将所提示的宿主机关闭。
步骤a中建立的虚拟web应用集群是根据用户的需求建立的,步骤b中读取CPU利用率和内存使用率,以便计算平均值;步骤c中,通过平均CPU利用率和平均内存使用率,可有效反映出虚拟web应用服务器的真实工作状态。步骤e中的情形,是现有的虚拟web应用服务器资源不够,建立一台与初始规格相同的虚拟web应用服务器;步骤f中,是现有的虚拟web应用服务器占有的资源形成浪费;步骤g中,是根据具体的情形,建立一台内存同初始、CPU为初始θ倍或者CPU同初始、内存为初始θ倍的虚拟web应用服务器。通过步骤e、f和g的处理,可实现云服务平台资源的优化利用,已达到从分节约能源的目的。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,步骤e中所述的节能的虚拟web应用集群动态扩展方法具体包括以下步骤:e-1.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;e-2.选择合适的宿主机,对步骤e-1中按资源剩余当量由低到高的顺序排列的宿主计算机依次进行判断,判断其剩余资源是否能按初始规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤e-3,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤e-4;e-3.创建新的虚拟web应用服务器,在步骤e-2中选出的满足条件的宿主机上,按照初始虚拟web应用服务器的规格大小,创建一台新的虚拟web应用服务器,并加至负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;e-4.发送开机提示,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟服务器,则发送开机提示信息。
步骤e-2中,首先选择将虚拟web应用服务器建立在资源剩余当量最低的满足要求的宿主机上,这样就保证了虚拟web应用服务器在宿主机上的集中,便于宿主机的集中运行,既有利于宿主机自身的能源节约,也有利于外部散热系统的集中运行,有利于实现能量节约。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,步骤f中所述的节能的虚拟web应用集群动态缩减方法具体包括以下步骤:f-1.读取宿主机资源使用情况,读取虚拟web应用集群中各个虚拟web应用服务器所在宿主机的资源使用当量P,资源使用当量包括已用CPU数CP和已用内存空间GB数MP;f-2.选择宿主机,各个虚拟web应用服务器所在的宿主机,按照资源使用当量P=CP+MP由低到高进行排序,选择出资源使用最低的一台宿主机;f-3.删除虚拟web应用服务器,将步骤f-2中选出的资源使用最低宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器上删除,并删除该虚拟web应用服务器;f-4.关机判断,如果步骤f-3中的宿主机在删除虚拟web应用服务器之后,无其他虚拟服务器存在,则发送关闭该宿主机消息。
步骤f-2中,通过选择出资源使用当量最低的宿主机,并将该宿主机上的虚拟web应用服务器删除,有利于减少运行宿主机的数量,有利于实现节能效果。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,步骤g中所述的节能的虚拟web应用集群动态变换规格扩展方法具体包括以下步骤:g-1.确定待创建的虚拟web应用服务器规格,步骤g中,如果平均CPU利用率大于max%、平均内存使用率小于min%,则待创建的虚拟web应用服务器内存与初始规格相同、CPU为初始规格的θ倍;如果平均内存使用率大于max%、平均CPU利用率小于min%,则待创建的虚拟web应用服务器CPU与初始规格相同、内存为初始规格的θ倍;g-2.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;g-3.选择合适的宿主机,对步骤g-2中按资源剩余当量由低到高的顺序排列的宿主计算机依次进行判断,判断其剩余资源是否能按步骤g-1的规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤g-4,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤g-5;g-4.创建新的虚拟web应用服务器,在步骤g-3中选出的满足条件的宿主机上,按照步骤g-1确定的规格大小,创建一台新的虚拟web应用服务器,并加至负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;g-4..发送开机提示,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟服务器,则发送开机提示信息。
步骤g-3中,也是首先在资源剩余当量最低的宿主机上建立虚拟web应用服务器,有利于宿主机的集中运行,实现有效的能量节约目的。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,步骤b中所述的时间T为1min,步骤c中所述的n为3,步骤g中所述的θ为2;所述的min%为10%,max%为90%。
本发明的有益效果是:本发明的虚拟web应用集群的动态调整方法,通过多次采集的虚拟web应用服务器的CPU利用率和内存使用率,来计算出平均CPU利用率和平均内存使用率;并通过判断平均CPU利用率、平均内存使用率在区间[min%,max%]中的情况,通过节能的动态扩展方法、动态缩减方法或者动态变换规格方法,对虚拟web应用服务器进行调节,保证了云平台中宿主机的集中、最低数量运行,实现了有效的节能效果。在应用的过程中,云计算平台使用用户,可以不用预先估计自身web应用的负载情况,只需创建最初需要的虚拟web应用集群,云计算平台便可以自动检测虚拟web应用集群负载并自动调整虚拟web应用集群规模。解决了用户web应用不可预知的突发负载问题,同时也为用户调整虚拟web应用集群规模适应实际负载情况,节约了计算资源。针对云计算平台管理者,根据提示信息对平台物理服务器进行开机和关机操作,使用较少的物理服务器便可以提供给用户较优化的计算服务,在整体上节约了云计算平台的能源消耗,降低了云计算平台的使用成本。
附图说明
图1和图2的组合为本发明的云计算环境下虚拟web应用集群节能的动态调整方法的流程图;
图3为本发明中节能的虚拟web应用集群动态扩展方法的流程图;
图4为本发明中节能的虚拟web应用集群动态缩减方法的流程图;
图5为本发明中节能的虚拟web应用集群动态变换规格扩展方法的流程图;
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1至图5所示,分别给出了发明的动态调整方法以及其中的动态扩展方法、动态缩减方法和态变换规格扩展方法的流程图,具体方法步骤如下。
本发明的云计算环境下虚拟web应用集群节能的动态调整方法,虚拟web应用集群建立于云计算环境下的宿主机上,设CI、MI分别为宿主机的空余CPU数、剩余内存空间GB数,CP、MP分别为宿主机的已用CPU数、已用内存空间GB数;资源剩余当量I=CI+MI,资源使用当量P=CP+MP;节能的动态调整方法包括以下步骤:
a.创建虚拟web应用集群,初始条件下,虚拟web应用集群包括一台虚拟负载均衡服务器、一台虚拟web应用服务器和一台虚拟数据库服务器;
b.监控虚拟web应用服务器使用情况,每隔时间T读取虚拟web应用集群中各个虚拟web应用服务器的CPU利用率和内存使用率;时间T可选为1min;
c.判断资源使用情况,每读取一次CPU利用率和内存使用率,均计算最近连续n次读取的各虚拟web应用服务器的CPU利用率和内存使用率的平均值,得出平均CPU利用率和平均内存使用率;判断平均CPU利用率和平均内存使用率在区间[min%,max%]的情况;次数n可选为3;
d.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率均在区间[min%,max%]内,则跳转至步骤b,继续监控虚拟web应用服务器使用情况;区间[min%,max%]可采用[10%,90%];
e.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均大于max%,且另一项均大于min%,则使用节能的虚拟web应用集群动态扩展方法,在运行的宿主机上按初始规格创建一台新的虚拟web应用服务器,并加入虚拟负载均衡服务器的负载机列表中;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,执行步骤h;
此步骤中,节能的虚拟web应用集群动态扩展方法可以采用以下具体的步骤来实现:
e-1.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;
e-2.选择合适的宿主机,对步骤e-1中按资源剩余当量由低到高的顺序排列的宿主计算机依次进行判断,判断其剩余资源是否能按初始规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤e-3,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤e-4;
e-3.创建新的虚拟web应用服务器,在步骤e-2中选出的满足条件的宿主机上,按照初始虚拟web应用服务器的规格大小,创建一台新的虚拟web应用服务器,并加至负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;
e-4.发送开机提示,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟服务器,则发送开机提示信息。
f.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项小于max%,则使用节能的虚拟web应用集群动态缩减方法,将资源使用当量P最低的宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器的负载机列表中删除,并删除该虚拟web应用服务器;如果宿主机在删除虚拟web应用服务器之后,无其他虚拟服务器,则发送关闭该宿主机消息,执行步骤h;
此步骤中,节能的虚拟web应用集群动态缩减方法可以采用以下具体的步骤来实现:
f-1.读取宿主机资源使用情况,读取虚拟web应用集群中各个虚拟web应用服务器所在宿主机的资源使用当量P,资源使用当量包括已用CPU数CP和已用内存空间GB数MP;
f-2.选择宿主机,各个虚拟web应用服务器所在的宿主机,按照资源使用当量P=CP+MP由低到高进行排序,选择出资源使用最低的一台宿主机;
f-3.删除虚拟web应用服务器,将步骤f-2中选出的资源使用最低宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器上删除,并删除该虚拟web应用服务器;
f-4.关机判断,如果步骤f-3中的宿主机在删除虚拟web应用服务器之后,无其他虚拟服务器存在,则发送关闭该宿主机消息。
g.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项大于max%,则使用节能的虚拟web应用集群动态变换规格扩展方法,按照小于min%的项同初始规格、大于max%的项为初始规格θ倍的方式创建一台新的虚拟web应用服务器;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,则执行步骤h;θ可选用2;
此步骤中,节能的虚拟web应用集群动态变换规格扩展方法可以采用以下具体的步骤来实现:
g-1.确定待创建的虚拟web应用服务器规格,步骤g中,如果平均CPU利用率大于max%、平均内存使用率小于min%,则待创建的虚拟web应用服务器内存与初始规格相同、CPU为初始规格的θ倍;如果平均内存使用率大于max%、平均CPU利用率小于min%,则待创建的虚拟web应用服务器CPU与初始规格相同、内存为初始规格的θ倍;
g-2.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;
g-3.选择合适的宿主机,对步骤g-2中按资源剩余当量由低到高的顺序排列的宿主计算机依次进行判断,判断其剩余资源是否能按步骤g-1的规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤g-4,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤g-5;
g-4.创建新的虚拟web应用服务器,在步骤g-3中选出的满足条件的宿主机上,按照步骤g-1确定的规格大小,创建一台新的虚拟web应用服务器,并加至负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;
g-5.发送开机提示,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟服务器,则发送开机提示信息。
h.开关宿主机,云计算平台管理者,在收到开机提示消息时,选择一台尚未开机的服务器进行开机;在收到关机提示消息时,将所提示的宿主机关闭。
其中,步骤a建立虚拟web应用集群是根据用户自己的需求建立,不需要用户对虚拟web应用集群的负载进行估计只需建立最小的能满足需求的虚拟web应用集群即可;步骤b监控虚拟web应用集群资源使用情况为以后步骤提供基础;步骤c判断资源使用情况为以后步骤提供依据;步骤d、e、f、g则是根据步骤c判断出的资源使用的不同情况分别采取不同方法来动态调整虚拟web应用集群,是本发明的核心;步骤h是为云计算平台管理者提供提示信息从而采取开关机动作的依据,可以在整体上控制云计算平台的能源使用。
为了对本发明进行更为详尽的说明,在以Openstack搭建的云计算平台情况下,以在KVM为虚拟化软件为具体的实施例,对本发明进行进一步的说明。本实施例中作为验证,使用了10台物理服务器配置皆为16核CPU,32GB内存,2T硬盘存储。
和其他云计算平台系统一样,Openstack可以方便的为用户提供虚拟机创建自服务。用户可根据自身需求选择相应的系统镜像创建多台虚机机组建虚拟web应用集群。在本实施例中,用户创建三台虚拟机,规格都为CPU2核、内存为2GB,分别作为虚拟负载均衡服务器、虚拟web应用服务器和虚拟数据库服务器。其中虚拟负载均衡服务器选用linux2.6操作系统、Haproxy负载均衡软件,虚拟web应用服务器选用tomcat作为web应用中间件,虚拟数据库服务器选用mysql数据库。
监控虚拟web应用集群资源使用情况,是按用户分别每分钟检测一次虚拟web应用服务器的资源使用情况,并将资源使用率记录进数据库中。该算法步骤如下:
1)建立资源使用情况数据库,数据库中资源数据表结构为{ID、WEBid、time、C、M、α},其中ID是用户编号,WEBid是该用户下的web应用服务器编号,time指检测时间,C是CPU利用率,M是内存使用率,α是资源使用情况判断标识。
2)每隔一分钟检测一次资源情况,并将数据写入数据库。
3)每写入一次数据时,对数据库中资源该条记录及以上连续两条记录的C和M平均值`C和`M进行判断:
如果`C∈[10%,90%],且`M∈[10%,90%],那么α=0;
如果`C≥10%且`M>90%,或者`M≥10%且`C>90%,那么α=1;
如果`C≤90%且`M<10%,或者`M≤90%且`C<10%,那么α=2;
如果`C<10%且`M>90%,那么α=3;
如果`C>90%且`M<10%,那么α=4;
这样,在数据库中各个用户ID下的WEBid即各web应用服务器的资源情况根据其α值就可以进行判断了。本实施例中,通过在数据库中读取某一个用户所有的α(n),n∈WEBid,来进行如下步骤:
如果α(n)各不相同,或者各个α(n)=0,那么继续监控虚拟web应用集群资源;
如果各个α(n)=1,那么进行如下算法,也就是本发明前述步骤e:
1)读取当前云计算平台所有物理服务器,即所有宿主机的剩余使用资源,其中CPU以核数为单位,内存以GB为单位;
2)计算资源剩余当量I=CI+MI,其中CI为空余CPU核数,MI为剩余内存空间GB数;
3)根据资源剩余当量I的大小,将所有宿主机按I升序进行排序;
4)在排好序的宿主机中,从第一位开始判断,当前剩余资源能否满足创建新虚拟机的需求,在本实施例中,即判断是否CI≥2,且MI≥2:
如果满足该需求,则选出该宿主机;
如果不满足需求,则依次判断下一位的剩余资源;
直至选择出可以创建虚拟机且剩余资源最小的宿主机进行步骤5),如果没有任何一个宿主机可以创建虚拟机,则进行步骤6);
5)在选好的宿主机中创建一台虚拟web应用服务器,本实施例中,创建方法为将该用户原有的虚拟web应用服务器应用openstack的快照功能创建快照,然后根据快照恢复一台新的虚拟web应用服务器;
6)提示云计算平台管理者需要新开机一台物理服务器,本实施例中通过openstack系统的dashboard页面中提示给管理员用户,需要新增加一台计算节点,即新开机一台物理服务器,同时返回继续监控虚拟web应用集群资源。
如果各个α(n)=2,那么进行如下算法,也就是本发明前述步骤f:
1)读取当前用户下虚拟web应用集群中所有虚拟web应用服务器所在的宿主机的资源使用情况,其中CPU以核数为单位,内存以GB为单位;
2)计算当前用户下虚拟web应用集群中所有虚拟web应用服务器所在的宿主机的资源使用当量P=CP+MP,其中CP为已用CPU核数,MP为已用内存空间GB数;
3)根据资源使用当量的大小,将所有宿主机按P升序进行排序;
4)选择P最小的宿主机中任一台当前用户的虚拟web应用服务器,进行删除;
5)删除成功后,判断当前宿主机中是否还有虚拟机在运行:
如果有,则返回继续检测虚拟web应用集群资源使用情况;
如果没有,则提示云计算平台管理者可以将此台物理服务器关机以节约能源,在本实施例中,同样通过openstack的dashboard页面提供给管理员相关信息。
如果各个α(n)=3或4,那么进行如下算法,也就是本发明前述步骤g:
1)变换新增虚拟web应用服务器的规格,根据α(n)的值不同,变换方式如下:
如果α(n)=3,即`C<10%且`M>90%,也就说当前规格的内存不足以满足应用负载,将新增虚拟web应用服务器的规格调整:CPU核数不变,即C’=2核;内存增加一倍,即M’=4GB;
如果α(n)=4,即`C>90%且`M<10%,也就说当前规格的CPU不足以满足应用负载,将新增虚拟web应用服务器的规格调整:CPU核数增加一倍,即C’=4核;内存不变,即M’=2GB;
2)读取当前云计算平台所有物理服务器,即所有宿主机的剩余使用资源,其中CPU以核数为单位,内存以GB为单位;
3)计算资源剩余当量I=CI+MI,其中CI为空余CPU核数,MI为剩余内存空间GB数;
4)根据资源剩余当量I的大小,将所有宿主机按I升序进行排序;
5)在排好序的宿主机中,从第一位开始判断,当前剩余资源能否满足创建新虚拟机规格的需求,在本实施例中,即判断是否CI≥C’,且MI≥M’:
如果满足该需求,则选出该宿主机;
如果不满足需求,则依次判断下一位的剩余资源;
直至选择出可以创建虚拟机且剩余资源最小的宿主机进行步骤6),如果没有任何一个宿主机可以创建虚拟机,则进行步骤7);
6)在选好的宿主机中创建一台虚拟web应用服务器,本实施例中,创建方法为将该用户原有的虚拟web应用服务器应用openstack的快照功能创建快照,然后根据快照恢复一台新的虚拟web应用服务器;
7)提示云计算平台管理者需要新开机一台物理服务器,本实施例中通过openstack系统的dashboard页面中提示给管理员用户,需要新增加一台计算节点,即新开机一台物理服务器,同时返回继续监控虚拟web应用集群资源。
在本实施中,模拟5个用户分别建立自己的虚拟web应用服务器,其中初始状态下,每个用户都创建三台虚拟机,规格都为CPU2核、内存为2GB,分别作为虚拟负载均衡服务器、虚拟web应用服务器和虚拟数据库服务器。其中虚拟负载均衡服务器选用linux2.6操作系统、Haproxy负载均衡软件,虚拟web应用服务器选用tomcat作为web应用中间件,虚拟数据库服务器选用mysql数据库。其中用户1的虚拟集群不进行负载,用户2的虚拟集群进行高运算型的web应用负载,以测试高CPU利用率低内存使用率的情况;用户3的虚拟集群进行高访问浏览负载,以测试高内存使用率低CPU利用率的情况;用户4周期性加载高CPU利用率和高内存使用率负载;用户5在加载高CPU利用率和高内存使用率负载后在减少负载。通过24小时运行云计算平台,在10台物理服务器配置皆为16核CPU,32GB内存,2T硬盘存储中,有2台一直不用开机,有1台需管理员进行开关操作,操作周期基本同用户4的负载加载周期一致,有1台在用户5减少负载后需管理员进行关机操作,另外6台一直保持高效率运行。而且运行后的用户3和用户4的虚拟集群,所有的web应用服务器的规格已经变化,其中用户3的规格变为CPU6核、内存2GB,用户4的规格变为CPU2核、内存6GB,适应了不同类型的负载。根据实验效果,在能源利用方面,节约了大约2.5台服务器的开机时间;同时,用户在创建虚拟web应用服务器时,可以不用考虑之后web应用的负载,由本发明所述方法自动进行规格变换和动态调整。
Claims (5)
1.一种云计算环境下虚拟web应用集群节能的动态调整方法,虚拟web应用集群建立于云计算环境下的宿主机上,设CI、MI分别为宿主机的空余CPU数、剩余内存空间GB数,CP、MP分别为宿主机的已用CPU数、已用内存空间GB数;资源剩余当量I=CI+MI,资源使用当量P=CP+MP;其特征在于,节能的动态调整方法包括以下步骤:
a.创建虚拟web应用集群,初始条件下,虚拟web应用集群包括一台虚拟负载均衡服务器、一台虚拟web应用服务器和一台虚拟数据库服务器;
b.监控虚拟web应用服务器使用情况,每隔时间T读取虚拟web应用集群中各个虚拟web应用服务器的CPU利用率和内存使用率;
c.判断资源使用情况,每读取一次CPU利用率和内存使用率,均计算各虚拟web应用服务器的最近连续n次读取的CPU利用率和内存使用率的平均值,得出平均CPU利用率和平均内存使用率;判断平均CPU利用率和平均内存使用率在区间[min%,max%]的情况;
d.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率均在区间[min%,max%]内,则跳转至步骤b,继续监控虚拟web应用服务器使用情况;
e.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均大于max%,且另一项均大于min%,则使用节能的虚拟web应用集群动态扩展方法,在运行的宿主机上按初始规格创建一台新的虚拟web应用服务器,并加入虚拟负载均衡服务器的负载机列表中;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,执行步骤h;
f.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项均小于max%,则使用节能的虚拟web应用集群动态缩减方法,将资源使用当量P最低的宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器的负载机列表中删除,并删除该虚拟web应用服务器;如果宿主机在删除虚拟web应用服务器之后,无其他虚拟web应用服务器,则发送关闭该宿主机消息,执行步骤h;
g.步骤c中,如果所有的虚拟web应用服务器的平均CPU利用率和平均内存使用率中,有一项均小于min%,且另一项均大于max%,则使用节能的虚拟web应用集群动态变换规格扩展方法,按照小于min%的项为初始规格、大于max%的项为初始规格θ倍的方式创建一台新的虚拟web应用服务器;如果运行的所有宿主机上的剩余资源不足以创建一台新的虚拟web应用服务器,则发送开宿主机消息,则执行步骤h;
h.开关宿主机,云计算平台管理者,在收到开宿主机消息时,选择一台尚未开机的宿主机进行开机;在收到关闭宿主机消息时,将所提示的宿主机关闭。
2.根据权利要求1所述的云计算环境下虚拟web应用集群节能的动态调整方法,其特征在于,步骤e中所述的节能的虚拟web应用集群动态扩展方法具体包括以下步骤:
e-1.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;
e-2.选择合适的宿主机,对步骤e-1中按资源剩余当量由低到高的顺序排列的宿主计算机依次进行判断,判断其剩余资源是否能按初始规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤e-3,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤e-4;
e-3.创建新的虚拟web应用服务器,在步骤e-2中选出的满足条件的宿主机上,按照初始虚拟web应用服务器的规格大小,创建一台新的虚拟web应用服务器,并加至虚拟负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;
e-4.发送开宿主机消息,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟web虚拟服务器,则发送开宿主机消息。
3.根据权利要求1或2所述的云计算环境下虚拟web应用集群节能的动态调整方法,其特征在于,步骤f中所述的节能的虚拟web应用集群动态缩减方法具体包括以下步骤:
f-1.读取宿主机资源使用情况,读取虚拟web应用集群中各个虚拟web应用服务器所在宿主机的资源使用当量P,资源使用当量包括已用CPU数CP和已用内存空间GB数MP;
f-2.选择宿主机,各个虚拟web应用服务器所在的宿主机,按照资源使用当量P=CP+MP由低到高进行排序,选择出资源使用当量最低的一台宿主机;
f-3.删除虚拟web应用服务器,将步骤f-2中选出的资源使用当量最低宿主机上的一台虚拟web应用服务器从虚拟负载均衡服务器上删除,并删除该虚拟web应用服务器;
f-4.关机判断,如果步骤f-3中的宿主机在删除虚拟web应用服务器之后,无其他虚拟web应用服务器存在,则发送关闭该宿主机消息。
4.根据权利要求1或2所述的云计算环境下虚拟web应用集群节能的动态调整方法,其特征在于,步骤g中所述的节能的虚拟web应用集群动态变换规格扩展方法具体包括以下步骤:
g-1.确定待创建的虚拟web应用服务器规格,步骤g中,如果平均CPU利用率大于max%、平均内存使用率小于min%,则待创建的虚拟web应用服务器内存与初始规格相同、CPU为初始规格的θ倍;如果平均内存使用率大于max%、平均CPU利用率小于min%,则待创建的虚拟web应用服务器CPU与初始规格相同、内存为初始规格的θ倍;
g-2.对宿主机进行排序,读取当前云计算平台中所有宿主机的空余CPU数CI、剩余内存空间GB数MI,并将所有宿主机按资源剩余当量I=CI+MI由低到高的顺序排列;
g-3.选择合适的宿主机,对步骤g-2中按资源剩余当量由低到高的顺序排列的宿主机依次进行判断,判断其剩余资源是否能按步骤g-1的规格创建一台新的虚拟web应用服务器;如发现有满足条件的宿主机,则执行步骤g-4,如所有宿主机判断完毕,均没有发现有满足条件的宿主机,则执行步骤g-5;
g-4.创建新的虚拟web应用服务器,在步骤g-3中选出的满足条件的宿主机上,按照步骤g-1确定的规格大小,创建一台新的虚拟web应用服务器,并加至虚拟负载均衡服务器的负载机列表中,完成虚拟web应用集群动态扩展;
g-5.发送开宿主机消息,当前云计算平台中所有的宿主机剩余资源无法创建新的虚拟web应用服务器,则发送开宿主机消息。
5.根据权利要求1所述的云计算环境下虚拟web应用集群节能的动态调整方法,其特征在于:步骤b中所述的时间T为1min,步骤c中所述的n为3,步骤g中所述的θ为2;所述的min%为10%,max%为90%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376916.8A CN102868763B (zh) | 2012-10-08 | 2012-10-08 | 一种云计算环境下虚拟web应用集群节能的动态调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376916.8A CN102868763B (zh) | 2012-10-08 | 2012-10-08 | 一种云计算环境下虚拟web应用集群节能的动态调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868763A CN102868763A (zh) | 2013-01-09 |
CN102868763B true CN102868763B (zh) | 2015-12-09 |
Family
ID=47447349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210376916.8A Active CN102868763B (zh) | 2012-10-08 | 2012-10-08 | 一种云计算环境下虚拟web应用集群节能的动态调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868763B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008026A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 云应用数据处理方法及装置 |
US10216503B2 (en) | 2013-03-13 | 2019-02-26 | Elasticbox Inc. | Deploying, monitoring, and controlling multiple components of an application |
CN104182278B (zh) * | 2013-05-23 | 2018-03-13 | 华为技术有限公司 | 一种判定计算机硬件资源繁忙程度的方法和装置 |
CN104348887B (zh) * | 2013-08-09 | 2019-02-19 | 中国电信股份有限公司 | 云管理平台中的资源分配方法与装置 |
CN103561055B (zh) * | 2013-10-11 | 2016-08-17 | 山东省计算中心 | 基于会话的云计算环境下Web应用自动弹性扩展方法 |
CN104038392A (zh) * | 2014-07-04 | 2014-09-10 | 云南电网公司 | 一种云计算资源服务质量评估方法 |
CN104168310A (zh) * | 2014-07-24 | 2014-11-26 | 深圳天珑无线科技有限公司 | 云端虚拟服务器的调度方法及装置 |
US9848041B2 (en) * | 2015-05-01 | 2017-12-19 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
CN105760230B (zh) * | 2016-02-18 | 2019-06-07 | 广东睿江云计算股份有限公司 | 一种自动调整云主机运行的方法及装置 |
CN106375419A (zh) * | 2016-08-31 | 2017-02-01 | 东软集团股份有限公司 | 分布式集群的部署方法和装置 |
CN106445636B (zh) * | 2016-09-28 | 2019-08-02 | 郑州云海信息技术有限公司 | 一种paas平台下的动态资源调度算法 |
CN107977266A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 云应用动态伸缩系统及方法 |
CN108063783A (zh) * | 2016-11-08 | 2018-05-22 | 上海有云信息技术有限公司 | 一种负载均衡器的部署方法及装置 |
CN106844035B (zh) * | 2017-02-09 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种实现云服务器资源释放或恢复的方法及装置 |
CN107295090B (zh) * | 2017-06-30 | 2020-01-21 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
CN107197053A (zh) * | 2017-07-31 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种负载均衡方法和装置 |
CN109754849B (zh) * | 2018-12-24 | 2023-02-24 | 武汉大学 | 一种云计算环境中的个人健康流数据处理系统及方法 |
CN112256383B (zh) * | 2019-07-22 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟机的cpu核心数的调整方法、装置、设备及介质 |
CN110995856B (zh) * | 2019-12-16 | 2022-09-13 | 上海米哈游天命科技有限公司 | 一种服务器扩展的方法、装置、设备及存储介质 |
CN111367678B (zh) * | 2020-03-31 | 2023-08-22 | 中国工商银行股份有限公司 | 集群资源管理方法及系统 |
CN111736991B (zh) * | 2020-06-12 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种云平台资源调度的方法、装置、设备及可读介质 |
CN113271335A (zh) * | 2020-08-20 | 2021-08-17 | 丁禹 | 一种管控云计算终端和云服务器运作的系统 |
CN114185676B (zh) * | 2021-12-06 | 2022-12-16 | 深圳威科软件科技有限公司 | 服务器分配方法、装置、电子设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188526A (zh) * | 2007-12-18 | 2008-05-28 | 华南理工大学 | 无线超宽带动态联接集群计算机的智能资源管理方法 |
CN102063818A (zh) * | 2010-08-12 | 2011-05-18 | 华东交通大学 | 一种服务于高校计算机与软件教学的实验云平台系统 |
CN102508718A (zh) * | 2011-11-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种虚拟机负载均衡方法和装置 |
-
2012
- 2012-10-08 CN CN201210376916.8A patent/CN102868763B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188526A (zh) * | 2007-12-18 | 2008-05-28 | 华南理工大学 | 无线超宽带动态联接集群计算机的智能资源管理方法 |
CN102063818A (zh) * | 2010-08-12 | 2011-05-18 | 华东交通大学 | 一种服务于高校计算机与软件教学的实验云平台系统 |
CN102508718A (zh) * | 2011-11-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种虚拟机负载均衡方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102868763A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102868763B (zh) | 一种云计算环境下虚拟web应用集群节能的动态调整方法 | |
US20170139462A1 (en) | Datacenter power management optimizations | |
CN102708000B (zh) | 通过虚拟机迁移实现能耗控制的系统和方法 | |
WO2021103790A1 (zh) | 容器的调度方法、装置和非易失性计算机可读存储介质 | |
US20120030356A1 (en) | Maximizing efficiency in a cloud computing environment | |
CN108023958B (zh) | 一种基于云平台资源监视的资源调度系统 | |
US20100318827A1 (en) | Energy use profiling for workload transfer | |
CN104407926B (zh) | 一种云计算资源的调度方法 | |
CN102946433B (zh) | 云公共服务平台下的大规模计算机资源的监控和调度方法 | |
JP2012523620A (ja) | 最適化仮想マシンマイグレーション機構 | |
CN103188277A (zh) | 负载能耗管理系统、方法和服务器 | |
CN102426475A (zh) | 桌面虚拟化环境下的节能方法、节能管理服务器及系统 | |
CN105187512A (zh) | 一种虚拟机集群负载均衡方法及系统 | |
CN104102543A (zh) | 一种云计算环境中负载调整的方法和装置 | |
CN102339233A (zh) | 云计算集中管理平台 | |
WO2016115956A1 (zh) | 基于云计算的业务系统的调度方法及调度装置 | |
CN103916438A (zh) | 基于负载预测的云测试环境调度方法及其系统 | |
CN101819459B (zh) | 一种基于异构对象存储系统的功耗控制方法 | |
CN103399791A (zh) | 一种基于云计算的虚拟机迁移方法和装置 | |
CN104572279A (zh) | 一种支持节点绑定的虚拟机动态调度方法 | |
CN103488538A (zh) | 云计算系统中的应用扩展装置和应用扩展方法 | |
CN109669636B (zh) | 一种分布式智能存储系统 | |
CN107203256A (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN104765572A (zh) | 一种节能的虚拟存储服务器系统及其调度方法 | |
CN110908783A (zh) | 一种云数据中心虚拟机的管控方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |