一种虚拟机VM的伸缩方法和设备与流程

文档序号:13215320阅读:244来源:国知局
技术领域本发明涉及计算机技术领域,尤其涉及一种虚拟机VM的伸缩方法和设备。

背景技术:
作为自互联网革命以来IT(英文:InformationTechnology;中文:信息科技和产业)产业最深刻的变革,云计算实现了对业务、对底层资源的屏蔽。VM(英文:VirtualManufacturing;中文:虚拟机)伸缩是指根据虚拟机的负载,对虚拟机的内部参数或者虚拟机的个数进行修改,以满足应用对资源的需求。例如:应用A由虚拟机B和虚拟机C通过负载均衡方式对其进行服务。通常情况下,虚拟机B和虚拟机C提供的资源能够满足应用A的要求,但是,在业务量增加时,虚拟机B和虚拟机C提供的资源将无法满足应用A的要求,此时需要执行VM伸缩,为应用A新增加一个虚拟机D,这样,由虚拟机B、虚拟机C和虚拟机D共同提供资源为应用A服务。这里增加一个虚拟机D就是VM伸缩的方式。但是,目前增加虚拟机D的方式主要包括以下步骤:第一步:虚拟化管理系统从虚拟机B和虚拟机C中获取应用A的参数,并根据所述应用A的参数,确定伸缩规则。例如:应用A的参数为CPU占用达到80%,根据CPU占用达到80%与设定的伸缩规则之间的对应关系,得到CPU占用达到80%对应的伸缩规则,例如:增加一个虚拟机。第二步:虚拟化管理系统利用选择的伸缩规则,创建虚拟机D。其中,虚拟机D以虚拟机B和虚拟机C作为源虚拟机进行创建,得到的虚拟机D与虚拟机B和虚拟机C的参数一致。第三步:虚拟化管理系统启动虚拟机D,并注册创建的虚拟机D,实现虚拟机B、虚拟机C和虚拟机D共同提供资源为应用A服务。但是,目前实现虚拟机伸缩的方式耗时比较长,降低了虚拟机伸缩效率,不能满足应用业务的需求。

技术实现要素:
有鉴于此,本发明实施例提供了一种虚拟机VM的伸缩方法和设备,用以解决目前虚拟机伸缩耗时较长,伸缩效率较低的问题。第一方面,提供了一种虚拟机VM的伸缩方法,包括:在应用需要增加新的VM时,确定所述应用对应的VM资源池;根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM;将查找到的所述VM注册至LB;启动所述VM为所述应用提供服务。结合第一方面,在第一种可能的实施方式中,根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM,包括:在从确定的所述VM资源池中查找符合所述参数的VM时,若确定的所述VM资源池中没有符合所述参数的VM,进一步查找确定的所述VM资源池中是否存在空闲的VM;若查找结果是存在空闲的VM,那么根据所述应用需要增加新的VM的参数,对查找到的所述空闲的VM的参数进行修改;将修改后的所述空闲的VM作为查找到的且符合所述参数的VM。结合第一方面,或者结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,通过以下方式创建应用对应的VM资源池,包括:计算应用对应的VM资源池中需要配置VM的个数;根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数;利用确定的所述每一个VM的参数,创建所述VM资源池中每一个VM。结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,计算应用对应的VM资源池中需要配置VM的个数,包括:根据应用的资源需求与设定的VM个数的比例之间的映射关系,计算满足所述应用的资源需求所需要配置的VM的个数。结合第一方面的第二种可能的实施方式,或者结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数,包括:根据所述应用的参数,确定所述应用对应的所述VM资源池中每一个VM的参数,其中,所述VM资源池中任意两个VM的参数相同;或者,根据预设的VM配置规则,确定多个应用对应的VM资源池;并根据所述多个应用的参数,确定所述VM资源池中VM的参数,其中,所述VM资源池中至少两个VM的参数不相同。结合第一方面,或者结合第一方面的第一种可能的实施方式,或者结合第一方面的第二种可能的实施方式,或者结合第一方面的第三种可能的实施方式,或者结合第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述方法还包括:在所述应用确定负载减小时,从LB中去注册VM;在确定所述应用对应的VM资源池支持VM回收时,将去注册的VM重新移入所述应用对应的VM资源池。结合第一方面的第五种可能的实施方式,在第六种可能的实施方式中,将去注册的VM重新移入所述应用对应的VM资源池,包括:在确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数不一致时,按照所述应用对应的VM资源池所要求的VM的参数,对去注册的VM的参数进行修改;将修改后的该VM重新移入所述应用对应的VM资源池。结合第一方面,或者结合第一方面的第一种可能的实施方式,或者结合第一方面的第二种可能的实施方式,或者结合第一方面的第三种可能的实施方式,或者结合第一方面的第四种可能的实施方式,或者结合第一方面的第五种可能的实施方式,或者结合第一方面的第六种可能的实施方式,在第七种可能的实施方式中,所述方法还包括:判断所述应用对应的VM资源池中剩余VM的个数是否与预设的VM的个数相同;若所述应用对应的VM资源池中剩余VM的个数小于预设的VM的个数时,确定需要增加的VM的个数;根据所述应用的参数或者预设的VM配置规则,确定需要增加的每一个VM的参数;利用确定的所述需要增加的每一个VM的参数,创建需要增加的每一个VM。第二方面,提供了一种虚拟机VM的伸缩设备,包括:确定模块,用于在应用需要增加新的VM时,确定所述应用对应的VM资源池;查找模块,用于根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM;启动模块,用于将查找到的所述VM注册至LB;启动所述VM为所述应用提供服务。结合第二方面,在第一种可能的实施方式中,所述查找模块,具体用于在从确定的所述VM资源池中查找符合所述参数的VM时,若确定的所述VM资源池中没有符合所述参数的VM,进一步查找确定的所述VM资源池中是否存在空闲的VM;若查找结果是存在空闲的VM,那么根据所述应用需要增加新的VM的参数,对查找到的所述空闲的VM的参数进行修改;将修改后的所述空闲的VM作为查找到的且符合所述参数的VM。结合第二方面,或者结合第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述伸缩设备还包括:创建模块,其中:所述创建模块,用于通过以下方式创建应用对应的VM资源池,包括:计算应用对应的VM资源池中需要配置VM的个数;根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数;利用确定的所述每一个VM的参数,创建所述VM资源池中每一个VM。结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述创建模块,具体用于根据应用的资源需求与设定的VM个数的比例之间的映射关系,计算满足所述应用的资源需求所需要配置的VM的个数。结合第二方面的第二种可能的实施方式,或者结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述创建模块,具体用于根据所述应用的参数,确定所述应用对应的所述VM资源池中每一个VM的参数,其中,所述VM资源池中任意两个VM的参数相同;或者,根据预设的VM配置规则,确定多个应用对应的VM资源池;并根据所述多个应用的参数,确定所述VM资源池中VM的参数,其中,所述VM资源池中至少两个VM的参数不相同。结合第二方面,或者结合第二方面的第一种可能的实施方式,或者结合第二方面的第二种可能的实施方式,或者结合第二方面的第三种可能的实施方式,或者结合第二方面的第四种可能的实施方式,在第五种可能的实施方式中,所述伸缩设备还包括:收缩模块,其中:所述收缩模块,用于在所述应用确定负载减小时,从LB中去注册VM;在确定所述应用对应的VM资源池支持VM回收时,将去注册的VM重新移入所述应用对应的VM资源池。结合第二方面的第五种可能的实施方式,在第六种可能的实施方式中,所述收缩模块,具体用于在确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数不一致时,按照所述应用对应的VM资源池所要求的VM的参数,对去注册的VM的参数进行修改;将修改后的该VM重新移入所述应用对应的VM资源池。结合第二方面,或者结合第二方面的第一种可能的实施方式,或者结合第二方面的第二种可能的实施方式,或者结合第二方面的第三种可能的实施方式,或者结合第二方面的第四种可能的实施方式,或者结合第二方面的第五种可能的实施方式,或者结合第二方面的第六种可能的实施方式,在第七种可能的实施方式中,所述伸缩设备还包括:计算模块,其中:计算模块,用于判断所述应用对应的VM资源池中剩余VM的个数是否与预设的VM的个数相同;若所述应用对应的VM资源池中剩余VM的个数小于预设的VM的个数时,确定需要增加的VM的个数;根据所述应用的参数或者预设的VM配置规则,确定需要增加的每一个VM的参数;利用确定的所述需要增加的每一个VM的参数,创建需要增加的每一个VM。本发明有益效果如下:本发明实施例在应用需要增加新的VM时,确定所述应用对应的VM资源池;根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM;将查找到的所述VM注册至LB;启动所述VM为所述应用提供服务,也就是说,在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种VM的伸展方法的流程示意图;图2为本发明实施例提供的一种VM的收缩方法的流程示意图;图3为本发明实施例提供的一种VM资源池的创建方法的流程示意图;图4为本发明实施例提供的一种VM的伸缩设备的结构示意图;图5为本发明实施例提供的一种VM的伸缩设备的结构示意图。具体实施方式为了实现本发明的目的,本发明实施例提供了一种虚拟机VM的伸缩方法和设备,在应用需要增加新的VM时,确定该应用对应的VM资源池;根据该应用需要增加新的VM的参数,从确定的VM资源池中查找符合该参数的VM;将查找到的所述VM注册至负载均衡器(英文:loadbalancer,缩写:LB);启动该VM为所述应用提供服务,也就是说,在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。下面结合说明书附图对本发明各个实施例作进一步地详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图1为本发明实施例提供的一种VM的伸展方法的流程示意图。所述方法可以如下所述。本发明实施例提出在虚拟资源规划阶段确定应用的VM预留规则;在应用实例化阶段,根据VM预留规则完成对应用的VM资源池的初始化;在应用运行阶段需要增加VM时,从该应用对应的VM资源池中选择符合该应用需要的VM,注册并启动选择的VM,缩短了VN创建的流程,有效地提升了虚拟机的伸缩效率。步骤101:在应用需要增加新的VM时,确定所述应用对应的VM资源池。在步骤101中,由于在应用的实例化阶段,根据VM预留规则完成对应用的VM资源池的初始化,可以为每一个实例化的应用初始化对应的VM资源池,即实例化的应用与VM资源池之间满足一对一的关系,那么在初始化VM资源池时,建立实例化的应用标识与VM资源池之间的对应关系;还可以为多个实例化的应用初始化对应的VM资源池,即实例化的应用与VM资源池之间满足多对一的关系,也就是说一个VM资源池为多个应用所共用,那么在初始化VM资源池时,建立多个实例化的应用标识与VM资源池之间的对应关系。在应用需要增加新的VM时,根据预先建立的实例化的应用标识与VM资源池的之间的对应关系和需要增加新的VM的应用的标识,确定所述应用的标识对应的VM资源池。此外,在确定所述应用对应的VM资源池时,还可以根据预先建立的实例化的应用标识与VM资源池的之间的对应关系,判断所述应用对应的VM资源池是否为多个应用共用的VM资源池。步骤102:根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM。在步骤102中,对于步骤101确定的所述应用对应的VM资源池,获取该VN资源池中每一个VM的参数。将该VM资源池中每一个VM的参数与所述应用需要增加新的VM的参数进行比较。若比较结果是该VM资源池中存在至少一个VM的参数与所述应用需要增加新的VM的参数相同,那么确定该VM资源池中存在符合所述应用需要增加新的VM的参数的VM,触发执行步骤103。若比较结果是该VM资源池中不存在与所述应用需要增加新的VM的参数相同的VM,那么确定该VM资源池中不存在符合所述应用需要增加新的VM的参数的VM,进一步查找确定的所述VM资源池中是否存在空闲的VM。若进一步查找结果是存在空闲的VM,那么根据所述应用需要增加新的VM的参数,对查找到的所述空闲的VM的参数进行修改。将修改后的所述空闲的VM作为查找到的且符合所述参数的VM。需要说明的是,本发明实施例中所描述的VM的参数可以是指VM的虚拟资源,例如:中央处理器(英文:centralpocessingunit;缩写:CPU)资源参数、计算资源参数、内存资源参数、存储资源参数等等。不同的VM在被创建时,可以采用统一的参数进行创建;也可以采用不同的参数进行创建。VM在被创建时,可以根据应用的不同,选择不同的参数进行创建;也可以根据不同的VM配置规则,确定创建的VM的参数,这里不做具体限定。步骤103:将查找到的VM注册至LB;启动所述VM为所述应用提供服务。在步骤103中,在查找到满足条件的VM时,在VM资源池中对该VM进行标注,表明该VM已被使用。此时,应用对应的新增VM的伸展操作结束。通过本发明实施例的方案,在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。图2为本发明实施例提供的一种VM的收缩方法的流程示意图。本发明实施例可以在上述图1所描述的VM伸展的基础之上,在应用负载减小时,触发执行VM的收缩方法。所述方法可以如下所述。步骤201:在所述应用确定负载减小时,触发执行VM的收缩操作。在步骤201中,所述应用确定负载减小的方法包括但不限于:当所述应用的CPU的使用率小于设定阈值时,确定负载减小,不需要启动过多的VM,此时需要释放一部分VM,即触发执行VM的收缩操作。步骤202:从LB中去注册VM。在步骤202中,在从LB中去注册VM时,停止应用。步骤203:确定所述应用对应的VM资源池,并判断确定的所述VM资源池是否支持VM回收;若支持,则触发执行步骤204;否则,直接删除去注册的VM。步骤204:将去注册的VM重新移入所述应用对应的VM资源池。在步骤204中,在将去注册的VM重新移入所述应用对应的VM资源池,具体包括:首先,停止VM的工作。其次,判断确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数是否一致。若确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数一致时,则将去注册的VM重新移入所述应用对应的VM资源池。若确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数不一致时,则按照所述应用对应的VM资源池所要求的VM的参数,对去注册的VM的参数进行修改;将修改后的该VM重新移入所述应用对应的VM资源池。这里需要说明的是,将去注册的VM重新移入所述应用对应的VM资源池可以是将标注该VM已被使用的标识去掉即可。由于在VM收缩的过程中,有些VM资源池不支持回收被使用的VM,那么在VM资源池中的VM被使用之后,将被直接删除,这样将导致VM资源池中的VM的数量减少;有些VM资源池支持回收被使用的VM,那么在VM资源池中的VM被使用之后,被使用的VM将重新移入VM资源池,这样将导致VM资源池中的VM的数量增加,因此,为了保证VM资源池中VM数量保持稳定,可选地,本发明实施例在完成VM的伸缩操作之后,所述方法还包括:判断所述应用对应的VM资源池中剩余VM的个数是否与预设的VM的个数相同。若所述应用对应的VM资源池中剩余VM的个数小于预设的VM的个数时,确定需要增加的VM的个数;根据所述应用的参数或者预设的VM配置规则,确定需要增加的每一个VM的参数;利用确定的所述每一个VM的参数,创建需要增加的每一个VM。若所述应用对应的VM资源池中剩余VM的个数大于预设的VM的个数时,确定需要删除的VM的个数,并根据确定的删除VM的个数,从VM资源池中选择VM,删除选择的VM。通过本发明实施例的方案,在应用的负载发生变化需要减少VM时,触发VM的伸缩操作,将需要减少的VM回收至VM资源池中,以保证后续继续使用。图3为本发明实施例提供的一种VM资源池的创建方法的流程示意图。本发明实施例中VM资源池的创建发生在应用实例化阶段,根据VM预留规则完成VM资源池的初始化。所述方法可以如下所述。步骤301:根据VM预留规则,确定应用对应的VM资源池的类型以及大小。在步骤301中,根据应用执行业务的类型,确定该应用对应的VM资源池是专用VM资源池还是共用VM资源池。所谓专用VM资源池是指由该应用唯一使用,即建立该应用与该专用VM资源池之间一对一关系;所谓共用VM资源池是指由多个应用共同使用,即建立应用与该共用VM资源池之间的多对一关系。根据VM预留规则,计算应用对应的VM资源池中需要配置VM的个数。具体地,根据应用的资源需求与设定的VM个数的比例之间的映射关系,计算满足所述应用的资源需求所需要配置的VM的个数。例如:根据预设的应用的资源需求与设定的配置VM的百分比关系和该应用的资源需求,计算满足该应用的资源需求所需要配置的VM的个数。或者,根据VM预留规则中设定的VM的个数,为该应用对应的VM资源池中配置设定个数的VM。步骤302:根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数。在步骤302中,根据所述应用的参数,确定所述VM资源池中每一个VM的参数。若确定该应用对应的VM资源池由该应用专用,那么在确定所述VM资源池中每一个VM的参数时,可以确定该VM资源池中包括的VM的参数相同。也就是说,该应用对应的VM资源池中包括的VM是统一规格的,即VM的参数都相同。或者,根据预设的VM配置规则,确定多个应用对应的VM资源池,并根据所述多个应用的参数,确定所述VM资源池中VM的参数。若根据预设的VM配置规则,确定一个VM资源池由多个应用使用,那么对于这样的VM资源池中VM的参数,可以根据该多个应用的参数进行确定。例如:根据一个应用的参数,确定一组VM的参数,这样,在该VM资源池中,这一组VM的参数可以相同;此外,VM资源池中的其他VM的参数可以通过其他应用的参数确定,这样,通过不同应用的参数确定的VM的参数可以不同。步骤303:利用确定的所述每一个VM的参数,创建所述VM资源池中每一个VM。通过本发明实施例的方案,在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。图4为本发明实施例提供的一种VM的伸缩设备的结构示意图。所述伸缩设备包括:确定模块41、查找模块42和启动模块43,其中:确定模块41,用于在应用需要增加新的VM时,确定所述应用对应的VM资源池;查找模块42,用于根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM;启动模块43,用于将查找到的所述VM注册至LB;启动所述VM为所述应用提供服务。具体地,所述查找模块42,具体用于在从确定的所述VM资源池中查找符合所述参数的VM时,若确定的所述VM资源池中没有符合所述参数的VM,进一步查找确定的所述VM资源池中是否存在空闲的VM;若查找结果是存在空闲的VM,那么根据所述应用需要增加新的VM的参数,对查找到的所述空闲的VM的参数进行修改;将修改后的所述空闲的VM作为查找到的且符合所述参数的VM。可选地,所述伸缩设备还包括:创建模块44,其中:所述创建模块44,用于通过以下方式创建应用对应的VM资源池,包括:计算应用对应的VM资源池中需要配置VM的个数;根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数;利用确定的所述每一个VM的参数,创建所述VM资源池中每一个VM。具体地,所述创建模块44,具体用于根据应用的资源需求与设定的VM个数的比例之间的映射关系,计算满足所述应用的资源需求所需要配置的VM的个数。具体地,所述创建模块44,具体用于根据所述应用的参数,确定所述应用对应的所述VM资源池中每一个VM的参数,其中,所述VM资源池中任意两个VM的参数相同;或者,根据预设的VM配置规则,确定多个应用对应的VM资源池;并根据所述多个应用的参数,确定所述VM资源池中VM的参数,其中,所述VM资源池中至少两个VM的参数不相同。可选地,所述伸缩设备还包括:收缩模块45,其中:所述收缩模块45,用于在所述应用确定负载减小时,从LB中去注册VM;在确定所述应用对应的VM资源池支持VM回收时,将去注册的VM重新移入所述应用对应的VM资源池。具体地,所述收缩模块45,具体用于在确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数不一致时,按照所述应用对应的VM资源池所要求的VM的参数,对去注册的VM的参数进行修改;将修改后的该VM重新移入所述应用对应的VM资源池。可选地,所述伸缩设备还包括:计算模块46,其中:计算模块46,用于判断所述应用对应的VM资源池中剩余VM的个数是否与预设的VM的个数相同;若所述应用对应的VM资源池中剩余VM的个数小于预设的VM的个数时,确定需要增加的VM的个数;根据所述应用的参数或者预设的VM配置规则,确定需要增加的每一个VM的参数;利用确定的所述需要增加的每一个VM的参数,创建需要增加的每一个VM。需要说明的是,本发明实施例所述伸缩设备可以通过硬件方式实现,也可以通过软件方式实现,所述伸缩设备在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。图5为本发明实施提供的一种VM的伸缩设备的结构示意图。本发明实施例所述的伸缩设备可以具备上述的VM的伸缩功能。所述伸缩设备可以采用通用计算机系统结构,计算机系统可具体是基于处理器的计算机。所述路由器实体包括处理器51、接口52和存储器53。处理器51和接口52连接,并且和存储器53连接。例如可以通过总线连接处理器51、接口52和存储器53。其中:处理器51可以是中央处理器(英文:centralprocessingunit,缩写:CPU),或者是CPU和硬件芯片的组合。接口52可以为以下一种或多种:提供有线接口的网络接口控制器(英文:networkinterfacecontroller,缩写:NIC),例如以太网NIC,该以太网NIC可以提供铜线和/或光纤接口;提供无线接口的NIC,例如无线局域网(英文:wirelesslocalareanetwork,缩写:WLAN)NIC。存储器53用于存储程序代码,所述处理器51从存储器中获得存储的程序代码,按照获得的程序代理执行相应地处理。存储器53可以是易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);或者非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:ROM),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD);或者上述种类的存储器的组合。存储器53还可以包括内容可寻址存储器(英文:content-addressablememory,缩写:CAM)。具体地,所述处理器51执行所述存储器53中存放的程序,执行以下操作:所述处理器51在应用需要增加新的虚拟机VM时,确定所述应用对应的VM资源池;根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM;将查找到的所述VM注册至负载均衡器LB;启动所述VM为所述应用提供服务。所述处理器51根据所述应用需要增加新的VM的参数,从确定的所述VM资源池中查找符合所述参数的VM,包括:在从确定的所述VM资源池中查找符合所述参数的VM时,若确定的所述VM资源池中没有符合所述参数的VM,进一步查找确定的所述VM资源池中是否存在空闲的VM;若查找结果是存在空闲的VM,那么根据所述应用需要增加新的VM的参数,对查找到的所述空闲的VM的参数进行修改;将修改后的所述空闲的VM作为查找到的且符合所述参数的VM。所述处理器51通过以下方式创建应用对应的VM资源池,包括:计算应用对应的VM资源池中需要配置VM的个数;根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数;利用确定的所述每一个VM的参数,创建所述VM资源池中每一个VM。所述处理器51计算应用对应的VM资源池中需要配置VM的个数,包括:根据应用的资源需求与设定的VM个数的比例之间的映射关系,计算满足所述应用的资源需求所需要配置的VM的个数。所述处理器51根据所述应用的参数或者预设的VM配置规则,确定所述VM资源池中每一个VM的参数,包括:根据所述应用的参数,确定所述应用对应的所述VM资源池中每一个VM的参数,其中,所述VM资源池中任意两个VM的参数相同;或者,根据预设的VM配置规则,确定多个应用对应的VM资源池;并根据所述多个应用的参数,确定所述VM资源池中VM的参数,其中,所述VM资源池中至少两个VM的参数不相同。所述处理器51,还用于在所述应用确定负载减小时,从LB中去注册VM;在确定所述应用对应的VM资源池支持VM回收时,将去注册的VM重新移入所述应用对应的VM资源池。所述处理器51将去注册的VM重新移入所述应用对应的VM资源池,包括:在确定去注册的VM的参数与所述应用对应的VM资源池所要求的VM的参数不一致时,按照所述应用对应的VM资源池所要求的VM的参数,对去注册的VM的参数进行修改;将修改后的该VM重新移入所述应用对应的VM资源池。所述处理器51,还用于判断所述应用对应的VM资源池中剩余VM的个数是否与预设的VM的个数相同;若所述应用对应的VM资源池中剩余VM的个数小于预设的VM的个数时,确定需要增加的VM的个数;根据所述应用的参数或者预设的VM配置规则,确定需要增加的每一个VM的参数;利用确定的所述需要增加的每一个VM的参数,创建需要增加的每一个VM。所述伸缩设备在应用需要增加新的VM时,在预先创建的VM资源池中选择符合应用需求的VM,注册并为该应用提供服务,省略了创建虚拟机的流程,缩短了虚拟机创建的时间,有效地提升了虚拟机的伸缩效率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。本发明是参照根据本发明实施例的方法、设备和计算机程序产品的流程图、方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1