一种创建虚拟机的方法和装置技术领域
本发明涉及新型融合通信领域的虚拟化技术,尤指一种创建虚拟机的方
法和装置。
背景技术
随着软件定义网络(SDN,Software Defined Network)和网络功能虚拟
化(NFV,Network Function Virtualization)架构和相关技术的发展和推动,
服务功能链(SFC,Service Function Chaining)将成为虚拟化数据中心提供服
务的理想方案,数据中心虚拟化是先数据中心面向服务的基本趋势,虚拟化
数据中心具备同样服务器、运维灵活性、节省电力、节省时间、节省空间、
高可用性等诸多优势。
基于以上趋势下提出新型融合通信的数据中心,新型融合通信(新通话、
新消息)业务各模块资源主要体现形式为虚拟机(VM,Virtual Machine),
一个虚拟机有虚拟计算资源如虚拟CPU(vCPU,Virtual CPU),虚拟存储
资源如虚拟内存、虚拟磁盘,以及虚拟网络资源如虚拟网卡等。虚拟机可以
由不同规格,虚拟机规格由资源模板描述,虚拟机规格可配置、可管理。
现有的创建虚拟机的方法大致包括:
服务器预先生成各操作系统的镜像文件,当服务器接收到来自用户的虚
拟机创建请求时,在磁阵上创建云硬盘,根据虚拟机创建请求计算镜像通用
唯一识别码(UUID,Universally Unique Identifier),将计算得到的镜像UUID
对应的镜像文件拷贝到云硬盘,根据云硬盘中的镜像文件创建虚拟机。
现有的创建虚拟机的方法中,由于每次创建过程中都要将镜像文件从服
务器拷贝到磁阵上,因此,如果镜像文件比较大,则创建虚拟机的过程会耗
费非常长的时间。
发明内容
为了解决上述问题,本发明提出了一种创建虚拟机的方法和装置,能够
缩短创建时间。
为了达到上述目的,本发明提出了一种创建虚拟机的方法,包括:
当服务器接收到来自用户的虚拟机创建请求时,服务器在磁阵上创建云
硬盘;
服务器根据虚拟机创建请求计算镜像通用唯一识别码UUID,判断出所
述磁阵上存在所述镜像UUID对应的镜像文件,将所述磁阵中与所述镜像
UUID对应的镜像文件拷贝到云硬盘;
服务器根据云硬盘中的镜像文件创建虚拟机。
进一步地,当所述服务器判断出所述磁阵上不存在所述镜像UUID对应
的镜像文件时,所述服务器根据云硬盘中的镜像文件创建虚拟机之前还包括:
所述服务器在述磁阵上划分磁盘空间;
所述服务器从预先生成的各操作系统的镜像文件中,将与所述镜像
UUID对应的镜像文件拷贝到所述磁盘空间;
所述服务器将所述磁盘空间中的镜像文件拷贝到所述云硬盘。
进一步地,所述服务器判断出磁阵上不存在镜像UUID对应的镜像文件
包括:
所述服务器在镜像UUID和镜像源卷标识ID之间的第一对应关系中,
查找不到所述镜像UUID对应的镜像源卷ID;
该方法还包括:
所述服务器记录所述镜像UUID和所述磁盘空间对应的镜像源卷ID之
间的第一对应关系。
进一步地,所述判断出磁阵上存在镜像UUID对应的镜像文件包括:
在镜像UUID和镜像源卷标识ID之间的第一对应关系中,查找到所述
镜像UUID对应的镜像源卷ID;
所述服务器将磁阵中镜像UUID对应的镜像文件拷贝到云硬盘包括:
服务器将磁阵中查找到的镜像源卷ID对应的镜像文件拷贝到云硬盘。
进一步地,还包括:
所述服务器记录所述虚拟机创建请求中的虚拟机标识和镜像源卷ID之
间的第二对应关系。
进一步地,当所述服务器删除虚拟机时,该方法还包括:
所述服务器在所述第二对应关系中查找与所述删除的虚拟机对应的镜像
源卷ID对应的虚拟机标识,删除查找到的虚拟机标识和与所述删除的虚拟
机对应的镜像源卷ID之间的第二对应关系。
进一步地,当所述服务器判断出查找到的虚拟机标识只有一个,且为所
述删除的虚拟机标识时,该方法还包括:
所述服务器删除所述磁阵中与所述删除的虚拟机对应的镜像源卷ID对
应镜像文件。
本发明还提出了一种创建虚拟机的装置,至少包括:
第一创建模块,用于当接收到来自用户的虚拟机创建请求时,在磁阵上
创建云硬盘;
计算模块,用于根据虚拟机创建请求计算镜像通用唯一识别码UUID;
拷贝模块,用于判断出所述磁阵上存在所述镜像UUID对应的镜像文件,
将所述磁阵中与所述镜像UUID对应的镜像文件拷贝到云硬盘;
第二创建模块,用于根据云硬盘中的镜像文件创建虚拟机。
进一步地,所述拷贝模块还用于:
判断出磁阵上不存在所述镜像UUID对应的镜像文件,向所述第一创建
模块发送通知消息;从预先生成的各操作系统的镜像文件中,将与所述镜像
UUID对应的镜像文件拷贝到所述磁盘空间;将所述磁盘空间中的镜像文件
拷贝到所述云硬盘;
所述第一创建模块还用于:
接收到通知消息,在所述磁阵上划分磁盘空间。
进一步地,所述判断出磁阵上不存在镜像UUID对应的镜像文件为:
在镜像UUID和镜像源卷标识ID之间的第一对应关系中,查找不到所
述镜像UUID对应的镜像源卷ID;
所述拷贝模块还用于:
记录所述镜像UUID和所述磁盘空间对应的镜像源卷ID之间的第一对
应关系。
进一步地,所述判断出磁阵上存在镜像UUID对应的镜像文件为:
在镜像UUID和镜像源卷标识ID之间的第一对应关系中,查找到所述
镜像UUID对应的镜像源卷ID。
进一步地,所述拷贝模块还用于:
记录所述虚拟机创建请求中的虚拟机标识和镜像源卷ID之间的第二对
应关系。
进一步地,所述查找模块还用于:
删除虚拟机时,在所述第二对应关系中查找与所述删除的虚拟机对应的
镜像源卷ID对应的虚拟机标识,删除查找到的虚拟机标识和与所述删除的
虚拟机对应的镜像源卷ID之间的第二对应关系。
进一步地,所述查找模块还用于:
判断出查找到的虚拟机标识只有一个,且为所述删除的虚拟机标识,删
除所述磁阵中与所述删除的虚拟机对应的镜像源卷ID对应镜像文件。
与现有技术相比,本发明的技术方案包括:当服务器接收到来自用户的
虚拟机创建请求时,服务器在磁阵上创建云硬盘;服务器根据虚拟机创建请
求计算镜像UUID,判断出磁阵上存在计算得到的镜像UUID对应的镜像文
件,将磁阵中与计算得到的镜像UUID对应的镜像文件拷贝到云硬盘;服务
器根据云硬盘中的镜像文件创建虚拟机。通过本发明的方案,服务器将磁阵
中与计算得到的镜像UUID对应的镜像文件拷贝到云硬盘,而不需要从服务
器中将镜像文件拷贝到云硬盘中,从而缩短了创建时间。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发
明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范
围的限制。
图1为本发明创建虚拟机的方法的流程图;
图2为本发明创建虚拟机的装置的结构组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描
述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,
本申请中的实施例及实施例中的各种方式可以相互组合。
参见图1,本发明提出了一种创建虚拟机的方法,服务器预先生成各操
作系统的镜像文件。
该方法还包括:
步骤100、当服务器接收到来自用户的虚拟机创建请求时,服务器在磁
阵上创建云硬盘。
本步骤中,服务器创建云硬盘之前还可以先判断虚拟机创建请求中的参
数的合法性,具体如何判断属于本领域技术人员的公知技术,并不用于限定
本发明的保护范围,这里不再赘述。
本步骤中,虚拟机创建请求中包含有虚拟机标识等。
本步骤中,服务器如何在磁阵上创建云硬盘属于本领域技术人员的公知
技术,并不用于限定本发明的保护范围,这里不再赘述。
步骤101、服务器根据虚拟机创建请求计算镜像UUID,判断出磁阵上存
在计算得到的镜像UUID对应的镜像文件,将磁阵中与计算得到的镜像UUID
对应的镜像文件拷贝到云硬盘。
本步骤中,判断出磁阵上存在计算得到的镜像UUID对应的镜像文件包
括:在镜像UUID和镜像源卷标识(ID,Identifier)之间的第一对应关系中,
查找到计算得到的镜像UUID对应的镜像源卷ID。
本步骤中,服务器可以采用信息摘要算法5(MD5,Message-Digest
Algorithm 5)等算法来计算镜像UUID,具体实现属于本领域技术人员的公
知技术,并不用于限定本发明的保护范围,这里不再赘述。
本步骤中,服务器可以采用向磁阵发送指令的方式将磁阵中查找到的镜
像源卷ID对应的镜像文件拷贝到云硬盘。其中,指令中包含有镜像源卷ID
和云硬盘标识。
本步骤中,由于磁阵中计算得到的镜像UUID对应的镜像文件为Qcow2
格式,在将该镜像文件拷贝到云硬盘之前需要将该镜像文件转换成Raw格
式,具体如何转换属于本领域技术人员的公知技术,并不用于限定本发明的
保护范围,这里不再赘述。
其中,镜像源卷ID可以是镜像文件在磁阵中存储的位置等。
其中,云硬盘标识可以是云硬盘在磁阵中的位置等。
步骤102、服务器根据云硬盘中的镜像文件创建虚拟机。
本步骤中,服务器如何根据云硬盘中的镜像文件创建虚拟机属于本领域
技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。
当服务器判断出磁阵上不存在计算得到的镜像UUID对应的镜像文件
时,服务器根据云硬盘中的镜像文件创建虚拟机之前还包括:
服务器在磁阵上划分磁盘空间;服务器从预先生成的各操作系统的镜像
文件中,将与计算得到的镜像UUID对应的镜像文件拷贝到磁盘空间;服务
器将磁盘空间中的镜像文件拷贝到云硬盘。
其中,服务器判断出磁阵上不存在计算得到的镜像UUID对应的镜像文
件包括:服务器在镜像UUID和镜像源卷标识ID之间的第一对应关系中,
查找不到计算得到的镜像UUID对应的镜像源卷ID;
该方法还包括:记录计算得到的镜像UUID和磁盘空间对应的镜像源卷
ID之间的第一对应关系。
其中,服务器如何到磁阵上划分磁盘空间属于本领域技术人员的公知技
术,并不用于限定本发明的保护范围,这里不再赘述。
通过本发明的方案,服务器将磁阵中查找到的镜像源卷ID对应的镜像
文件拷贝到云硬盘,而不需要从服务器中将镜像文件拷贝到云硬盘中,从而
缩短了创建时间。
进一步地,该方法还包括:
服务器记录虚拟机创建请求中的虚拟机标识和镜像源卷ID之间的第二
对应关系。
其中,当所述服务器删除虚拟机时,该方法还包括:
服务器在第二对应关系中查找与删除的虚拟机对应的镜像源卷ID对应
的虚拟机标识,删除查找到的虚拟机标识和与删除的虚拟机对应的镜像源卷
ID之间的第二对应关系。
其中,当所述服务器判断出查找到的虚拟机标识只有一个,且为删除的
虚拟机标识,该方法还包括:
服务器删除磁阵中与删除的虚拟机对应的镜像源卷ID对应镜像文件。
其中,服务器可以采用向磁阵发送指令的方式将磁阵中删除的虚拟机对
应的镜像源卷ID对应镜像文件删除。其中,指令中包含有删除的虚拟机对
应的镜像源卷ID。
这样,将不需要的镜像文件删除,从而为磁阵节约空间。
参见图2,本发明还提出了一种创建虚拟机的装置,至少包括:
第一创建模块,用于当接收到来自用户的虚拟机创建请求时,在磁阵上
创建云硬盘;
计算模块,用于根据虚拟机创建请求计算镜像通用唯一识别码UUID;
拷贝模块,用于判断出磁阵上存在镜像UUID对应的镜像文件,将磁阵
中与镜像UUID对应的镜像文件拷贝到云硬盘;
第二创建模块,用于根据云硬盘中的镜像文件创建虚拟机。
本发明的装置中,所述拷贝模块还用于:
判断出磁阵上不存在镜像UUID对应的镜像文件,向第一创建模块发送
通知消息;从预先生成的各操作系统的镜像文件中,将与镜像UUID对应的
镜像文件拷贝到所述磁盘空间;将所述磁盘空间中的镜像文件拷贝到所述云
硬盘;
第一创建模块还用于:
接收到通知消息,在磁阵上划分磁盘空间。
本发明的装置中,判断出磁阵上不存在镜像UUID对应的镜像文件为:
在镜像UUID和镜像源卷标识ID之间的第一对应关系中,查找不到镜
像UUID对应的镜像源卷ID;
拷贝模块还用于:
记录镜像UUID和磁盘空间对应的镜像源卷ID之间的第一对应关系。
本发明的装置中,判断出磁阵上存在镜像UUID对应的镜像文件为:
在镜像UUID和镜像源卷标识ID之间的第一对应关系中,查找到镜像
UUID对应的镜像源卷ID。
本发明的装置中,拷贝模块还用于:
记录虚拟机创建请求中的虚拟机标识和镜像源卷ID之间的第二对应关
系。
本发明的装置中,查找模块还用于:
删除虚拟机时,在第二对应关系中查找与删除的虚拟机对应的镜像源卷
ID对应的虚拟机标识,删除查找到的虚拟机标识和与删除的虚拟机对应的镜
像源卷ID之间的第二对应关系。
本发明的装置中,查找模块还用于:
判断出查找到的虚拟机标识只有一个,且为删除的虚拟机标识,删除磁
阵中与删除的虚拟机对应的镜像源卷ID对应镜像文件。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解
而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提
下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本
发明的保护范围之内。