虚拟机批量创建方法及装置制造方法及图纸

技术编号:14048310 阅读:104 留言:0更新日期:2016-11-23 23:58
本发明专利技术实施例提供一种虚拟机批量创建方法及装置。本发明专利技术实施例在虚拟机组模板中已包含中间镜像的前提下,云平台在批量创建虚拟机时可不用再执行或不再重复执行公共脚本,加快虚拟机的创建速度,从而提高批量创建虚拟机的效率,且虚拟机组容量的弹性扩展效率高。

【技术实现步骤摘要】

本专利技术实施例涉及虚拟机技术,尤其涉及一种虚拟机批量创建方法及装置
技术介绍
云计算是一种服务的交付和消费模式。云服务供应商(Cloud Service Provider,简称:CSP)将大量计算资源用网络连接起来并进行统一的管理、分配和调度,构成一个巨大的计算资源池向用户提供服务,其中,云计算资源包括网络,服务器,存储,应用软件以及服务等;提供资源的网络即称为“云”。对用户而言,云计算资源可无限扩展,具有按需索取、按使用付费等高效灵活的特点。一般来说,云服务大致可分为三个层次:即基础设施即服务(Infrastructure as a service,简称:IaaS,也称为I层)、平台即服务(Platform as a service,简称:PaaS,也称为P层)和软件即服务(Software as a service,简称:SaaS,也称为S层)。目前,业界最多的为I层供应商,如亚马逊网络服务(Amazon Web Services,简称:AWS)平台。I层主要为用户提供计算、存储和网络传输等基础设施能力。CSP通常以虚拟机的方式为用户提供I层服务。在实际的应用中,需要批量创建一组类似的虚拟机,如网络(Web)服务器采用集群的方式创建多个实例。这些虚拟机上的操作系统、软件等相同或者类似。通常在启动虚拟机之后,用户还希望能够自动执行一些指令,比如联网下载软件安装,配置环境变量、程序设置,注册到负载均衡服务器,连接到数据库等指令。这些指令通常以脚本的形式存在,虚拟机启动操作系统之后自动执行脚本内的指令。一种比较通用的虚拟机批量创建方法是单独创建每一台虚拟机,加载模板中指定的镜像启动虚拟机;每台虚拟机启动之后下载用户数据(UserData)
脚本并执行UserData脚本内的指令。当模板中虚拟机组的某些属性更新时,整个虚拟机组需要重新创建。为此,需要重新创建每一台虚拟机并再次执行所有UserData脚本内的指令。上述虚拟机批量创建方法不仅耗时,而且多台虚拟机下载对云平台的系统带宽资源占用也较高,批量创建时效率较低。另外,当弹性虚拟机组在后续运行过程中需要新建虚拟机时,新建的虚拟机仍然需要重新完整执行所有UserData脚本内的指令,弹性扩展效率低。
技术实现思路
本专利技术实施例提供一种虚拟机批量创建方法及装置,以解决现有技术中虚拟机批量创建方法效率低及弹性扩展效率差的问题。第一方面,本专利技术实施例提供一种虚拟机批量创建方法,包括:云平台接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板;所述云平台解析所述虚拟机组模板,获取虚拟机组的属性信息,所述属性信息包括所述虚拟机组的标识信息、创建所述虚拟机组内的虚拟机的硬件配置、所述虚拟机组的容量M和要加载的初始镜像、公共脚本及差异脚本,所述公共脚本为在所述虚拟机组内所有虚拟机上执行效果相同的脚本,所述差异脚本为在所述虚拟机组内所有虚拟机上执行效果不同或必须在所述虚拟机上运行才可以达到效果的脚本,所述M为自然数;若在所述虚拟机组模板中,所述云平台查询到所述虚拟机组的标识信息对应的中间镜像,根据所述虚拟机组内的虚拟机的硬件配置,创建M台第一虚拟机,所述中间镜像通过为所述第一虚拟机加载所述初始镜像后执行所述公共脚本得到;所述云平台为每一台所述第一虚拟机加载所述中间镜像,得到M台第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机。根据第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:若在所述虚拟机组模板中,所述云平台未查询到所述虚拟机组的标识信息对应的所述中间镜像,则根据所述虚拟机组内的虚拟机的硬件配置,创建一台所述第一虚拟机;所述云平台为所述第一虚拟机加载所述初始镜像,得到第三虚拟机;所述云平台控制所述第三虚拟机执行所述公共脚本,得到一台所述第二虚拟机,并为所述第二虚拟机创建镜像,将所述镜像作为所述中间镜像保存至所述虚拟机组模板中;所述云平台根据所述虚拟机组内的虚拟机的硬件配置,创建M-1台所述第一虚拟机,所述M为大于1的正整数;所述云平台为所述M-1台第一虚拟机加载所述中间镜像,得到M-1台所述第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机。根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述云平台控制所述第三虚拟机执行所述公共脚本之前,所述方法还包括:所述云平台发送第一地址给所述第三虚拟机,所述第一地址为所述公共脚本在所述云平台的存储位置。根据第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述云平台控制所述第三虚拟机执行所述公共脚本,得到一台所述第二虚拟机之后,所述方法还包括:所述云平台接收所述第二虚拟机发送的第一响应,所述第一响应用于指示已完成所述公共脚本的执行。根据第一方面、第一方面的第一种至第三种可能的实现方式中任意一种,在第一方面的第四种可能的实现方式中,所述云平台控制所述第二虚拟机执行所述差异脚本之前,所述方法还包括:所述云平台发送第二地址给所述第二虚拟机,所述第二地址为所述差异脚本在所述云平台的存储位置。根据第一方面、第一方面的第一种至第四种可能的实现方式中任意一种,在第一方面的第五种可能的实现方式中,所述云平台控制所述第二虚拟机执
行所述差异脚本,获得M台所述虚拟机之后,所述方法还包括:所述云平台接收所述虚拟机发送的第二响应,所述第二响应用于指示已完成所述差异脚本的执行。第二方面,本专利技术实施例提供一种虚拟机批量创建方法,包括:云平台接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板的标识信息和要创建的所述虚拟机的数量N,所述N为自然数;所述云平台根据所述虚拟机组模板的标识信息,获取虚拟机组的属性信息,所述属性信息包括创建所述虚拟机组内的虚拟机的硬件配置和要加载的中间镜像及差异脚本,所述中间镜像为对根据所述硬件配置创建的第一虚拟机加载所述初始镜像后执行公共脚本得到,所述公共脚本为在所述虚拟机组内所有虚拟机上执行效果相同的脚本,所述差异脚本为在所述虚拟机组内所有虚拟机上执行效果不同或必须在所述虚拟机上运行才可以达到效果的脚本;所述云平台根据所述虚拟机组内的虚拟机的硬件配置,创建N台所述第一虚拟机;所述云平台为每一台所述第一虚拟机加载所述中间镜像,得到N台第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得N台所述虚拟机。根据第二方面,在第二方面的第一种可能的实现方式中,所述云平台控制所述第二虚拟机执行所述差异脚本之前,所述方法还包括:所述云平台发送地址给所述第二虚拟机,所述地址为所述差异脚本在所述云平台的存储位置。根据第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述云平台控制所述第二虚拟机执行所述差异脚本,获得N台所述虚拟机之后,所述方法还包括:所述云平台接收所述虚拟机发送的响应,所述响应用于指示已完成所述差异脚本的执行。第三方面,本专利技术实施例提供一种虚拟机批量创建装置,包括:资源部署模块,用于接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板;解析所述虚拟机组模板,获取本文档来自技高网
...
虚拟机批量创建方法及装置

【技术保护点】
一种虚拟机批量创建方法,其特征在于,包括:云平台接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板;所述云平台解析所述虚拟机组模板,获取虚拟机组的属性信息,所述属性信息包括所述虚拟机组的标识信息、创建所述虚拟机组内的虚拟机的硬件配置、所述虚拟机组的容量M和要加载的初始镜像、公共脚本及差异脚本,所述公共脚本为在所述虚拟机组内所有虚拟机上执行效果相同的脚本,所述差异脚本为在所述虚拟机组内所有虚拟机上执行效果不同或必须在所述虚拟机上运行才可以达到效果的脚本,所述M为自然数;若在所述虚拟机组模板中,所述云平台查询到所述虚拟机组的标识信息对应的中间镜像,根据所述虚拟机组内的虚拟机的硬件配置,创建M台第一虚拟机,所述中间镜像通过为所述第一虚拟机加载所述初始镜像后执行所述公共脚本得到;所述云平台为每一台所述第一虚拟机加载所述中间镜像,得到M台第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机。

【技术特征摘要】
1.一种虚拟机批量创建方法,其特征在于,包括:云平台接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板;所述云平台解析所述虚拟机组模板,获取虚拟机组的属性信息,所述属性信息包括所述虚拟机组的标识信息、创建所述虚拟机组内的虚拟机的硬件配置、所述虚拟机组的容量M和要加载的初始镜像、公共脚本及差异脚本,所述公共脚本为在所述虚拟机组内所有虚拟机上执行效果相同的脚本,所述差异脚本为在所述虚拟机组内所有虚拟机上执行效果不同或必须在所述虚拟机上运行才可以达到效果的脚本,所述M为自然数;若在所述虚拟机组模板中,所述云平台查询到所述虚拟机组的标识信息对应的中间镜像,根据所述虚拟机组内的虚拟机的硬件配置,创建M台第一虚拟机,所述中间镜像通过为所述第一虚拟机加载所述初始镜像后执行所述公共脚本得到;所述云平台为每一台所述第一虚拟机加载所述中间镜像,得到M台第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若在所述虚拟机组模板中,所述云平台未查询到所述虚拟机组的标识信息对应的所述中间镜像,则根据所述虚拟机组内的虚拟机的硬件配置,创建一台所述第一虚拟机;所述云平台为所述第一虚拟机加载所述初始镜像,得到第三虚拟机;所述云平台控制所述第三虚拟机执行所述公共脚本,得到一台所述第二虚拟机,并为所述第二虚拟机创建镜像,将所述镜像作为所述中间镜像保存至所述虚拟机组模板中;所述云平台根据所述虚拟机组内的虚拟机的硬件配置,创建M-1台所述第一虚拟机,所述M为大于1的正整数;所述云平台为所述M-1台第一虚拟机加载所述中间镜像,得到M-1台所述第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机。3.根据权利要求2所述的方法,其特征在于,所述云平台控制所述第三虚拟机执行所述公共脚本之前,所述方法还包括:所述云平台发送第一地址给所述第三虚拟机,所述第一地址为所述公共脚本在所述云平台的存储位置。4.根据权利要求2或3所述的方法,其特征在于,所述云平台控制所述第三虚拟机执行所述公共脚本,得到一台所述第二虚拟机之后,所述方法还包括:所述云平台接收所述第二虚拟机发送的第一响应,所述第一响应用于指示已完成所述公共脚本的执行。5.根据权利要求1-4任一项所述的方法,其特征在于,所述云平台控制所述第二虚拟机执行所述差异脚本之前,所述方法还包括:所述云平台发送第二地址给所述第二虚拟机,所述第二地址为所述差异脚本在所述云平台的存储位置。6.根据权利要求1-5任一项所述的方法,其特征在于,所述云平台控制所述第二虚拟机执行所述差异脚本,获得M台所述虚拟机之后,所述方法还包括:所述云平台接收所述虚拟机发送的第二响应,所述第二响应用于指示已完成所述差异脚本的执行。7.一种虚拟机批量创建方法,其特征在于,包括:云平台接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板的标识信息和要创建的所述虚拟机的数量N,所述N为自然数;所述云平台根据所述虚拟机组模板的标识信息,获取虚拟机组的属性信息,所述属性信息包括创建所述虚拟机组内的虚拟机的硬件配置和要加载的中间镜像及差异脚本,所述中间镜像为对根据所述硬件配置创建的第一虚拟机加载所述初始镜像后执行公共脚本得到,所述公共脚本为在所述虚拟机组内所有虚拟机上执行效果相同的脚本,所述差异脚本为在所述虚拟机组内所有虚拟机上执行效果不同或必须在所述虚拟机上运行才可以达到效果的脚
\t本;所述云平台根据所述虚拟机组内的虚拟机的硬件配置,创建N台所述第一虚拟机;所述云平台为每一台所述第一虚拟机加载所述中间镜像,得到N台第二虚拟机;所述云平台控制每一台所述第二虚拟机执行所述差异脚本,获得N台所述虚拟机。8.根据权利要求7所述的方法,其特征在于,所述云平台控制所述第二虚拟机执行所述差异脚本之前,所述方法还包括:所述云平台发送地址给所述第二虚拟机,所述地址为所述差异脚本在所述云平台的存储位置。9.根据权利要求7或8所述的方法,其特征在于,所述云平台控制所述第二虚拟机执行所述差异脚本,获得N台所述虚拟机之后,所述方法还包括:所述云平台接收所述虚拟机发送的响应,所述响应用于指示已完成所述差异脚本的执行。10.一种虚拟机批量创建装置,其特征在于,包括:资源部署模块,用于接收用于创建虚拟机的指令,所述指令包括要创建的所述虚拟机所采用的虚拟机组模板...

【专利技术属性】
技术研发人员:姜耀国胡瑞丰丁海洋
申请(专利权)人:华为软件技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1