本发明涉及云计算技术领域,尤其是涉及一种虚拟机资源的调整方法、装置和云平台。
背景技术:
用户在云平台上运行的业务在不同的时间段对虚拟机的需求都不同,如果在用户业务需求高的时候,创建的虚拟机较少,这样会导致业务无法正常运行;如果在用户业务需求低的时候,过多的创建虚拟机,这样就会导致一些虚拟机闲置,造成了资源的浪费。
为了节约云平台的虚拟机资源和用户的租用成本,在业务需求高峰时增加虚拟机,可预防业务量突增导致服务器宕机。在业务需求下降时,减少虚拟机可节省资源,同时保证业务平稳健康的运行。现有的云平台中,当需要为业务调整资源时,需要人工干预并手动部署,操作便捷性较差。
技术实现要素:
有鉴于此,本发明的目的在于提供一种虚拟机资源的调整方法、装置和云平台,以对弹性伸缩组的虚拟机进行自动伸缩,从而提高虚拟机资源与业务需求的匹配程度,提高云平台的资源利用率。
第一方面,本发明实施例提供了一种虚拟机资源的调整方法,该方法应用于控制节点,方法包括:确定是否到达弹性伸缩组对应的虚拟机资源调整时间;当确定到达虚拟机资源调整时间时,获取弹性伸缩组的伸缩数与时间的对应关系,并根据伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数,伸缩数指示了弹性伸缩组的虚拟机数量;根据确定的弹性伸缩组在虚拟机资源调整时间的伸缩数,调整弹性伸缩组的虚拟机数量。
在本发明较佳的实施例中,上述弹性伸缩组预先设置有伸缩数阈值;伸缩数阈值包括最大伸缩数和最小伸缩数;上述伸缩数与时间的对应关系具体通过下述方式设置:获取预设时间段内,用户业务的历史运行数据;根据历史运行数据,确定用户业务的业务量与时间的对应关系;根据业务量与时间的对应关系,以及弹性伸缩组的伸缩数阈值,确定伸缩数与时间的对应关系。
在本发明较佳的实施例中,上述弹性伸缩组还预先设置有期望伸缩数;上述方法还包括:在虚拟机资源调整时间以外的时间,监控弹性伸缩组的虚拟机数量,如果虚拟机数量超出弹性伸缩组的伸缩数阈值,将弹性伸缩组的虚拟机数量调整至期望伸缩数。
在本发明较佳的实施例中,上述方法还包括:监控弹性伸缩组中各个虚拟机的运行状态;如果虚拟机的运行状态为异常运行,终止异常运行的虚拟机运行用户业务;启动新增虚拟机以运行用户业务。
在本发明较佳的实施例中,上述终止异常运行的虚拟机运行用户业务的步骤,包括:回收异常运行的虚拟机的业务运行数据;将异常运行的虚拟机的运行状态设置为停止运行。
在本发明较佳的实施例中,上述启动新增虚拟机以运行用户业务的步骤,包括:确定待启动的新增虚拟机;设置新增虚拟机的配置信息;配置信息至少包括虚拟机类型、数据存储盘的类型和容量、配置名称、密码和弹性伸缩组可绑定的负载均衡;获取用户业务的镜像文件;将镜像文件部署至新增虚拟机中,将回收的业务运行数据转移至新增虚拟机中,以使新增虚拟机继续运行用户业务。
第二方面,本发明实施例提供了一种虚拟机资源的调整装置,该装置设置于控制节点,该装置包括:时间确定模块,用于确定是否到达弹性伸缩组对应的虚拟机资源调整时间;伸缩数确定模块,用于当确定到达虚拟机资源调整时间时,获取弹性伸缩组的伸缩数与时间的对应关系,并根据伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数,伸缩数指示了弹性伸缩组的虚拟机数量;第一调整模块,用于根据确定的弹性伸缩组在虚拟机资源调整时间的伸缩数,调整弹性伸缩组的虚拟机数量。
在本发明较佳的实施例中,上述弹性伸缩组预先设置有伸缩数阈值;伸缩数阈值包括最大伸缩数和最小伸缩数;伸缩数与时间的对应关系具体通过下述方式设置:获取预设时间段内,用户业务的历史运行数据;根据历史运行数据,确定用户业务的业务量与时间的对应关系;根据业务量与时间的对应关系,以及弹性伸缩组的伸缩数阈值,确定伸缩数与时间的对应关系。
在本发明较佳的实施例中,上述弹性伸缩组还预先设置有期望伸缩数;上述装置还包括:监控调整模块,用于在虚拟机资源调整时间以外的时间,监控弹性伸缩组的虚拟机数量,如果虚拟机数量超出弹性伸缩组的伸缩数阈值,将弹性伸缩组的虚拟机数量调整至期望伸缩数。
在本发明较佳的实施例中,上述装置还包括:监控模块,用于监控弹性伸缩组中各个虚拟机的运行状态;终止模块,用于如果虚拟机的运行状态为异常运行,终止异常运行的虚拟机运行用户业务;启动模块,用于启动新增虚拟机以运行用户业务。
在本发明较佳的实施例中,上述终止模块,还用于:回收异常运行的虚拟机的业务运行数据;将异常运行的虚拟机的运行状态设置为停止运行。
在本发明较佳的实施例中,上述启动模块,还用于:确定待启动的新增虚拟机;设置新增虚拟机的配置信息;配置信息至少包括虚拟机类型、数据存储盘的类型和容量、配置名称、密码和弹性伸缩组可绑定的负载均衡;获取用户业务的镜像文件;将镜像文件部署至新增虚拟机中,将回收的业务运行数据转移至新增虚拟机中,以使新增虚拟机继续运行用户业务。
第三方面,本发明实施例提供了一种云平台,该云平台包括控制节点和弹性伸缩组;控制节点连接有多个弹性伸缩组,弹性伸缩组中运行有用户的用户业务;上述虚拟机资源的调整装置设置于控制节点。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种虚拟机资源的调整方法、装置和云平台,该方法应用于云平台的控制节点,当到达弹性伸缩组对应的虚拟机资源调整时间时,根据该弹性伸缩组的伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数;进而再根据确定的该伸缩数,调整弹性伸缩组的虚拟机数量;该方式基于时间对弹性伸缩组的虚拟机进行自动伸缩,使得虚拟机的数量满足当前时间的业务需求,同时在空闲时释放虚拟机资源以节约成本,从而提高了虚拟机资源与业务需求的匹配程度,提高了云平台的资源利用率。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种云平台的结构示意图;
图2为本发明实施例提供的一种虚拟机资源的调整方法的流程图;
图3为本发明实施例提供的一种虚拟机资源的调整方法中,伸缩数与时间的对应关系设置方法的流程图;
图4为本发明实施例提供的另一种虚拟机资源的调整方法的流程图;
图5为本发明实施例提供的另一种虚拟机资源的调整方法的流程图;
图6为本发明实施例提供的一种虚拟机资源的调整装置的结构示意图;
图7为本发明实施例提供的一种云服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,下面首先描述一种虚拟机资源的调整方法的应用场景,参见图1所示的一种云平台的结构示意图;在云平台上设置有控制节点,该控制节点具体可以为服务器,每个控制节点监控设定范围或数量的弹性伸缩组;图1中以一个控制节点为例进行说明,该控制节点连接有多个弹性伸缩组,图1中以两个弹性伸缩组为例;每个弹性伸缩组中包括多个虚拟机;该虚拟机可以理解为在实体服务器的操作系统下,利用软件所虚拟出来的服务器。
虚拟机上运行有各种用户业务例如电子商务、论坛、sns(socialnetworkingserivces,社会性服务网站)、企业网站和oa(officeautomationsystem,办公自动化)系统等互联网应用,但每个用户业务通常占用一定数量的虚拟机;用户业务的业务量可能会随着时间变化,当业务量增加时,当前的虚拟机可能承载不了业务量,甚至影响业务的正常运行;当业务量减少时,用户租用的虚拟机资源则会空闲,浪费租用成本。
现有方式中,当需要为业务调整资源时,需要人工干预并手动部署,这在一定程度上可以为每个用户业务合理调配资源,但对于时间敏感的用户业务,一天之内的业务量变化就会很明显且波动频率较高,此时如果还用人工手动调整部署的话,很明显工作负担较大,且资源调整的及时性也得不到保证,使得用户业务的业务量与虚拟机资源的不能得到较高的匹配,仍然具有资源利用率较低,或资源不足影响业务正常运行的问题。
为了避免上述问题,需要运行用户业务的虚拟机随着用户业务的业务需求及时创建或释放虚拟机;基于此,本发明实施例提供了一种虚拟机资源的调整方法、装置和云平台,该技术可以应用于提供各种云服务的云平台中。下面通过实施例具体介绍。
首先,参见图2所示的一种虚拟机资源的调整方法的流程图,该方法应用于云平台的控制节点,该控制节点可以为实体服务器也可以为虚拟机;该控制节点通常连接有至少一个弹性伸缩组,该弹性伸缩组包括多个虚拟机。
该方法包括如下步骤:
步骤s202,确定是否到达弹性伸缩组对应的虚拟机资源调整时间;
在实际实现时,可以设置一个时间列表,该时间列表中包含了上述弹性伸缩组对应的虚拟机资源调整时间;该弹性伸缩组对应的虚拟机资源调整时间具体可以从弹性伸缩组的伸缩数与时间的对应关系中提取,当然也可以由用户自行设置。通过预设的定时器可以实时监控当前时间是否上述弹性伸缩组对应的虚拟机资源调整时间。
步骤s204,当确定到达虚拟机资源调整时间时,获取弹性伸缩组的伸缩数与时间的对应关系,并根据伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数,该伸缩数指示了弹性伸缩组的虚拟机数量;
其中,上述弹性伸缩组的伸缩数与时间的对应关系可以预先根据弹性伸缩组运行的用户业务设置。在弹性伸缩组的运行初期,云平台通常按照用户的需求为弹性伸缩组分配固定数量的虚拟机;为了及时调整虚拟机数量,可以根据用户业务的历史运行数据预估该业务在不同时间段所需要的虚拟机数量。
例如,对于一些大型的购物平台,根据该购物平台的历史运行数据,可以知晓晚上的业务量明显高于白天的业务量;对于一些企业网站,根据该企业网站的历史运行数据,可以知晓白天的业务量高于晚上的业务量。所以,为了使云平台的资源得到充分的利用,需要在不同时间段根据不同业务调整出一个与业务相匹配的伸缩数;作为优选,可以将得到的不同时间段的业务量整理为一个表格或公式的形式,以使云平台根据不同时间段设置不同的伸缩数,使得资源得到充分的利用。
上述虚拟机资源调整时间通常为一个时间段,该虚拟机资源调整时间可以根据业务运行的实际情况而定,例如典型的业务量高峰期和低峰期,搞活动期间和登录访问集中时间等,将这些时间段预估出来,并设置这些时间段的伸缩数;由于这些时间段所需的虚拟机数量与通常情况下明显不同,因此调整虚拟机资源调整时间的伸缩数可以提高虚拟机数量与业务的匹配程度。
为了能够在虚拟机资源调整时间及时调整虚拟机数量,可以设置一个监听定时器;当时间到达虚拟机资源调整时间时,从上述伸缩数与时间的对应关系中自动获取到对应的伸缩数。
步骤s206,根据确定的弹性伸缩组在虚拟机资源调整时间的伸缩数,调整弹性伸缩组的虚拟机数量。
具体地,如果在虚拟机资源调整时间到达时,此时弹性伸缩组的虚拟机数量高于上述对应关系中虚拟机资源调整时间对应的伸缩数,控制节点则自动回收过量的虚拟机,将其中的运行数据转移到弹性伸缩组内虚拟机以外的虚拟机中;如果在虚拟机资源调整时间到达时,此时弹性伸缩组的虚拟机数量低于上述对应关系中虚拟机资源调整时间对应的伸缩数,控制节点则自动创建虚拟机,安装文件、设置配置信息后将用户业务运行至该虚拟机。
本发明实施例提供了一种虚拟机资源的调整方法,当到达弹性伸缩组对应的虚拟机资源调整时间时,根据该弹性伸缩组的伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数;进而再根据确定的该伸缩数,调整弹性伸缩组的虚拟机数量。本发明基于时间对弹性伸缩组的虚拟机进行自动伸缩,使得虚拟机的数量满足当前时间的业务需求,同时在空闲时释放虚拟机资源以节约成本,从而提高了虚拟机资源与业务需求的匹配程度,提高了云平台的资源利用率。
上述实施例中,通过预设的伸缩数与时间的对应关系调整弹性伸缩组中的虚拟机数量,因此,伸缩数与时间的对应关系很大程度上决定了调整后的弹性伸缩组中的虚拟机数量与用户业务的匹配程度;因而本实施例中,首先描述了伸缩数与时间的对应关系的设置方式。为了不使每个弹性伸缩组无限的扩大或缩小虚拟机的数量;弹性伸缩组通常预先设置有伸缩数阈值;该伸缩数阈值包括最大伸缩数和最小伸缩数。
例如,可以设置一个弹性伸缩组内的最大伸缩数为10个虚拟机,最小伸缩数为2个虚拟机;具体可以根据业务或云平台的实际情况确定。控制节点可以定时监控每个弹性伸缩组中的虚拟机数量;如果一个弹性伸缩组内创建的虚拟机的数量大于最大伸缩数,控制节点则自动减少该伸缩组内的虚拟机的数量;如果一个伸缩组内创建的虚拟机的数量小于最小伸缩数时,控制节点则自动增加该伸缩组内的虚拟机的数量。
参见图3所示,上述伸缩数与时间的对应关系的设置方式的具体流程描述如下:
步骤s302,获取预设时间段内,用户业务的历史运行数据。
该历史运行数据可以为cpu利用率、内存使用率、网卡流量、监听器流量等;其中,cpu利用率即虚拟机运行用户业务的程序时占用的cpu百分比;如果cpu利用率较低,说明该虚拟机利用率较低;如果cpu利用率较高,说明该虚拟机利用率较高,但cpu利用率过高时,会影响用户业务的程序的运行速度,导致用户业务的性能、响应速度下降;另外,cpu使用率过高会导致虚拟机中cpu温度过高,会大大缩短cpu寿命。上述内存利用率即虚拟机运行用户业务的程序时占用的内存百分比,与上述cpu利用率类似,如果内存利用率较低,说明该虚拟机利用率较低;如果内存利用率较高,说明该虚拟机利用率较高,但内存利用率过高时,也会影响用户业务的程序的运行速度,进而影响用户业务性能。
上述网卡出入流量即该虚拟机的上行数据和下行数据量,如果网卡出入流量较高,通常说明该用户业务访问量较大。控制节点或虚拟机上可以设置有监听器,该监听器可以通过软件程序实现;该监听室可以用于监听指定虚拟机或指定数据类型的流量;上述监听器出入流量可以表明用户业务中某些特定模块功能的访问量。上述数据包转发率通常用来衡量虚拟机的数据吞吐能力和数据处理能力,当虚拟机的数据包转发率较高时,也可以说明用户业务的业务量较大。
步骤s304,根据历史运行数据,确定用户业务的业务量与时间的对应关系。
例如,对于cpu利用率较高、内存使用率较高、网卡流量较多或监听器流量较多的时间段,可以确定该时间段内的业务量较高;对于cpu利用率较低、内存使用率较低、网卡流量较少或监听器流量较少的时间段,可以确定该时间段内的业务量较低。
步骤s306,根据业务量与时间的对应关系,以及弹性伸缩组的伸缩数阈值,确定伸缩数与时间的对应关系。
例如,根据得出的业务量与时间的对应关系,可以将业务量低的时间的伸缩数设置为最小伸缩数;将业务量高的时间的伸缩数设置为最大伸缩数,比如一些特殊节日;而在业务量较为平均的其他时间,可以按照比例设置最大伸缩数和最小伸缩数之间的伸缩数。
上述方式中,通过用户业务的历史运行数据,可以得到用户业务的业务量与时间的对应关系,进而得到伸缩数与时间的对应关系;弹性伸缩组根据该伸缩数与时间的对应关系调整虚拟机数量时,可以使用户业务的实际需求与虚拟机数量匹配程度较高。
本发明实施例还提供另一种虚拟机资源的调整方法,该方法在上述实施例基础上实现;本实施例重点描述伸缩数调整之后,对弹性伸缩组中虚拟机数量的监控过程;上述伸缩数与时间的对应关系可能仅能控制虚拟机资源调整时间内的伸缩数,在其他时间段,弹性伸缩组中的伸缩数可能会受到其他因素的控制,如实际业务量、或弹性伸缩组之间的资源平衡等,因此,还需要实时或定时地监控各个弹性伸缩组的虚拟机数量。
本实施例中的弹性伸缩组还预先设置有期望伸缩数;该期望伸缩数通常是工作人员针对该用户业务预估的伸缩数,该伸缩数可以适用于该用户业务的大部分时间段的业务量;如图4所示,在上述虚拟机资源调整时间以外的时间,上述虚拟机资源的调整方法还包括:
步骤s402,在虚拟机资源调整时间以外的时间,监控弹性伸缩组的虚拟机数量。
在实际实现时,可以使用控制节点来监控弹性伸缩组的虚拟机数量。
步骤s404,判断虚拟机数量是否超出弹性伸缩组的伸缩数阈值;如果是,执行步骤s406,如果否,执行步骤s402。
上述伸缩数阈值范围可以由最大伸缩数和最小伸缩数组成,如果弹性伸缩组的虚拟机数量小于最小伸缩数或大于最大伸缩数都可判定为超出弹性伸缩组的伸缩数阈值。
步骤s406,将弹性伸缩组的虚拟机数量调整至期望伸缩数。
具体地,在弹性伸缩组的当前的虚拟机数量小于最小伸缩数的情况下,控制节点可以通知云平台的弹性伸缩组管理节点,向该用户业务分配更多的虚拟机,以使运行用户业务的弹性伸缩组的虚拟机总量与期望的弹性伸缩组的虚拟机总量相匹配;弹性伸缩组管理节点为该用户业务分配新增的虚拟机后,可以向控制节点反馈分配完成信息,该信息中通常包含新增的虚拟机的访问路径、节点标识等信息,以使控制节点将新增的虚拟机纳入监控范围。
通过上述方式,可以使弹性伸缩组中的虚拟机数量始终保持在合理的范围内,保证虚拟机数量满足用户业务的同时,提高弹性伸缩组的稳定性。
本发明实施例还提供另一种虚拟机资源的调整方法,该方法在上述实施例基础上实现;本实施例重点描述对弹性伸缩组中虚拟机运行状态的监控过程,以及终止和新增虚拟机的过程;如图5所示,其步骤包括如下:
步骤s502,监控弹性伸缩组中各个虚拟机的运行状态。
步骤s504,判断虚拟机的运行状态是否为异常运行;如果是,执行步骤s506;如果否,执行步骤s502。
例如,如果控制节点接收到虚拟机或运行该虚拟机的实体服务器发出的故障信号,则可以确定该虚拟机发生异常情况。再如,虚拟机没有发生故障,但是cpu利用率、内存使用率、网卡流量或监听器流量等运行数据已经超出合理的范围,此时也可以确定该虚拟机为异常运行。异常运行的虚拟机很可能导致用户业务受到影响,此时,应该回收该虚拟机并启用新的虚拟机以替代该异常运行的虚拟机。
步骤s506,回收异常运行的虚拟机的业务运行数据。
该运行数据可以包含虚拟机运行程序,运行过程中产生的数据等。
步骤s508,将异常运行的虚拟机的运行状态设置为停止运行。
将检测出来异常运行的虚拟机的运行状态设置为停止运行,以备人工进行修复。
步骤s510,确定待启动的新增虚拟机。
具体可以由控制节点从虚拟机管理服务器申请启动新增虚拟机,虚拟机管理服务器接收到申请后,为该控制节点分配对应的新增虚拟机。
步骤s512,设置新增虚拟机的配置信息;该配置信息至少包括虚拟机类型、数据存储盘的类型和容量、配置名称、密码和弹性伸缩组可绑定的负载均衡。
具体地,可以根据该虚拟机执行的用户业务的具体功能模块,设置虚拟机的类型,系统运行的虚拟机例如,vmware、virtualpc、virtualbox;由于虚拟机所占用的数据存储盘是真实存在的,给虚拟机分出多余的数据存储盘是浪费资源的,所以要根据虚拟机执行的用户业务的具体功能模块来具体设定虚拟机的数据存储盘的类型和容量,其中,虚拟磁盘有三种格式包括thin、thick和eagerzeroedthik;选定好虚拟机之后设定该虚拟机的名称、密码和弹性伸缩组可绑定的负载均衡,由于虚拟机是来执行用户业务的功能模块,所以他需要具体绑定弹性伸缩组的负载均衡以此来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
步骤s514,获取用户业务的镜像文件。
该镜像文件是将特定的一系列文件按照一定的格式制作成单一的文件,该镜像文件中保存有运行上述用户业务的运行程序。
步骤s516,将镜像文件部署至新增虚拟机中,将回收的业务运行数据转移至新增虚拟机中。
运行参数设置完成后,即可将镜像文件安装至该虚拟机中,安装完成后,该控制节点即可正常运行用户业务,并将回收的业务运行数据转移至新增的虚拟机中。
当然,对于某些运行特殊功能的虚拟机,可以预先设置保护功能,即控制节点即使该虚拟机状态异常,也不予回收该虚拟机;可以通过其他方式,如分流业务量的方式,逐步减轻该虚拟机的业务量,以使该虚拟机恢复至正常状态。
上述方式中,控制节点可以监控弹性伸缩组中各个虚拟机的运行状态,如果虚拟机状态异常,及时回收该虚拟机并使用新增虚拟机,从而可以保证用户业务运行稳定,提高用户的体验度。
对应于上述方法实施例,本发明实施例还提供了一种虚拟机资源的调整装置,如图6所示,该装置设置于云平台的控制节点,该装置包括:
时间确定模块60,用于确定是否到达弹性伸缩组对应的虚拟机资源调整时间;
伸缩数确定模块61,用于当确定到达虚拟机资源调整时间时,获取弹性伸缩组的伸缩数与时间的对应关系,并根据伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数,伸缩数指示了弹性伸缩组的虚拟机数量;
第一调整模块62,用于根据确定的弹性伸缩组在虚拟机资源调整时间的伸缩数,调整弹性伸缩组的虚拟机数量。
具体地,弹性伸缩组预先设置有伸缩数阈值;伸缩数阈值包括最大伸缩数和最小伸缩数。上述伸缩数与时间的对应关系具体通过下述方式设置:获取预设时间段内,用户业务的历史运行数据;根据历史运行数据,确定用户业务的业务量与时间的对应关系;根据业务量与时间的对应关系,以及弹性伸缩组的伸缩数阈值,确定伸缩数与时间的对应关系。
具体地,弹性伸缩组还预先设置有期望伸缩数;该装置还包括:监控调整模块,用于在虚拟机资源调整时间以外的时间,监控弹性伸缩组的虚拟机数量,如果虚拟机数量超出弹性伸缩组的伸缩数阈值,将弹性伸缩组的虚拟机数量调整至期望伸缩数。
具体地,该装置还包括:监控模块,用于监控弹性伸缩组中各个虚拟机的运行状态;终止模块,用于如果虚拟机的运行状态为异常运行,终止异常运行的虚拟机运行用户业务;启动模块,用于启动新增虚拟机以运行用户业务。
具体地,上述终止模块,还用于:回收异常运行的虚拟机的业务运行数据;将异常运行的虚拟机的运行状态设置为停止运行。
进一步地,上述启动模块,还用于:确定待启动的新增虚拟机;设置新增虚拟机的配置信息;配置信息至少包括虚拟机类型、数据存储盘的类型和容量、配置名称、密码和弹性伸缩组可绑定的负载均衡;获取用户业务的镜像文件;将镜像文件部署至新增虚拟机中,将回收的业务运行数据转移至新增虚拟机中,以使新增虚拟机继续运行用户业务。
本发明实施例提供了一种虚拟机资源的调整装置,该装置设置于云平台的控制节点,当到达弹性伸缩组对应的虚拟机资源调整时间时,根据该弹性伸缩组的伸缩数与时间的对应关系,确定弹性伸缩组在虚拟机资源调整时间的伸缩数;进而再根据确定的该伸缩数,调整弹性伸缩组的虚拟机数量。该方式基于时间对弹性伸缩组的虚拟机进行自动伸缩,使得虚拟机的数量满足当前时间的业务需求,同时在空闲时释放虚拟机资源以节约成本,从而提高了虚拟机资源与业务需求的匹配程度,提高了云平台的资源利用率。
对用于上述实施例,本发明实施例还提供了一种云平台,该云平台包括控制节点和弹性伸缩组;控制节点连接有多个弹性伸缩组,弹性伸缩组中运行有用户的用户业务;上述虚拟机资源的调整装置设置于控制节点。
本发明实施例提供的云平台,与上述实施例提供的虚拟机资源的调整方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供了一种云服务器,用于运行上述资源调整方法,该云服务器可以为上述云平台中的控制节点;参见图7所示,该云服务器包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述资源调整方法。
进一步地,图7所示的云服务器还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。