拉取虚拟机镜像文件的方法和装置制造方法及图纸

技术编号:12733122 阅读:50 留言:0更新日期:2016-01-20 16:23
本申请公开了拉取虚拟机镜像文件的方法和装置。所述方法的一具体实施方式包括:获取镜像拉取指令,其中,镜像拉取指令可以包括但不限于拉取的镜像文件的时间戳;判断拉取指令是否为仅拉取基础镜像文件的指令;若拉取指令是仅拉取基础镜像文件的指令,则从本地获取预先分发至各物理机的基础镜像文件;若拉取指令并非仅拉取基础镜像文件的指令,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足拉取的镜像文件的时间戳的增量文件。该实施方式减少了需要通过虚拟机镜像管理模块拉取的虚拟机镜像文件的数据量,减少了拉取镜像文件的时间,减轻了虚拟机镜像管理模块所在服务器及镜像服务器的负载,加快了虚拟机的创建速度。

【技术实现步骤摘要】

本申请涉及计算机
,具体涉及虚拟机
,尤其涉及拉取虚拟机镜像文件的方法和装置
技术介绍
在现有技术中,云计算平台架构(例如开源的云计算管理平台架构OpenStack)创建虚拟机时,云计算平台架构中的虚拟机管理模块(例如OpenStack中的运算组件nova)可以通过虚拟机镜像管理模块(例如OpenStack中的虚拟机镜像查找及检索组件glance)检索镜像文件并从镜像服务器拉取镜像文件以创建虚拟机。以基于硬件虚拟化技术KVM虚拟机为例,虚拟机系统盘的镜像文件可以为raw或者qcow2格式,大小通常为Gbytes量级,若虚拟机系统盘采用Windows操作系统,则该操作系统的镜像文件能到将近10G量级。然而,上述云计算平台架构中的虚拟机管理模块通过虚拟机镜像管理模块检索镜像文件并拉取镜像文件以创建虚拟机,由于每次创建虚拟机都通过虚拟机镜像管理模块从镜像服务器拉取,对虚拟机镜像管理模块所在的服务器以及镜像服务器的负载会非常大,并且创建虚拟机的速度较慢。
技术实现思路
本申请的目的在于提出一种拉取虚拟机镜像文件的方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种拉取虚拟机镜像文件的方法,所述方法包括:获取镜像拉取指令,其中,所述镜像拉取指令包括拉取的镜像文件的时间戳;判断所述拉取指令是否为仅拉取基础镜像文件的指令;若是,则从本地获取预先分发至各物理机的基础镜像文件;否则,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件。在一些实施例中,所述从本地或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件包括:判断本地物理机上是否已存储有满足所述拉取指令的增量文件;若本地物理机上已存储有所述增量文件,则从本地物理机上获取所述增量文件,否则,向存储有镜像文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜像服务器中拉取所述增量文件。在一些实施例中,所述向存储有镜像文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜像服务器中拉取所述增量文件可以包括:向所述数据库查询所述增量文件的依赖关系,并基于所述依赖关系查询本地物理机中是否已存储所述增量文件的依赖文件;若未存储,则从所述镜像服务器中拉取所述依赖文件。在一些实施例中,所述方法还包括:检查所述预先分发至各物理机的基础镜像文件是否被虚拟机所引用;若引用,则保留检查的基础镜像文件,并将所述检查的基础镜像文件的时间戳更新为检查时的时间戳;若未引用,且所述检查的基础镜像文件的时间戳所指示的时间距当前时间的间隔超过预设时间间隔,删除所述检查的基础镜像文件。在一些实施例中,所述方法还包括:间隔预定时间更新所述预先分发至各物理机的基础镜像文件。在一些实施例中,所述基础镜像文件包括:原始镜像文件;或原始镜像文件及原始镜像文件的补丁文件。在一些实施例中,所述基础镜像文件包括:原始镜像文件及原始镜像文件的一个补丁文件。在一些实施例中,所述增量文件为创建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文件。在一些实施例中,所述虚拟机镜像文件采用qcow2链式结构。第二方面,本申请提供了一种加速拉取虚拟机镜像文件的装置,所述装置包括:第一获取单元,用于获取镜像拉取指令,其中,所述镜像拉取指令包括拉取的镜像文件的时间戳;判断单元,用于判断所述拉取指令是否为仅拉取基础镜像文件的指令;第二获取单元,用于若所述拉取指令是仅拉取基础镜像文件的指令,则从本地获取预先分发至各物理机的基础镜像文件;第三获取单元,用于若所述拉取指令并非仅拉取基础镜像文件的指令,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件。在一些实施例中,所述第三获取单元包括:判断子单元,用于判断本地物理机上是否已存储有满足所述拉取指令的增量文件;第一获取子单元,用于若本地物理机上已存储有所述增量文件,则从本地物理机上获取所述增量文件;第一拉取子单元,用于若本地物理机上未存储有所述增量文件,向存储有镜像文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜像服务器中拉取所述增量文件。在一些实施例中,所述第一拉取子单元包括:查询子单元,用于向所述数据库查询所述增量文件的依赖关系,并基于所述依赖关系查询本地物理机中是否已存储所述增量文件的依赖文件;第二拉取子单元,用于若本地物理机中未存储所述增量文件的依赖文件,则从所述镜像服务器中拉取所述依赖文件。在一些实施例中,所述装置还包括:检查单元,用于检查所述预先分发至各物理机的基础镜像文件是否被虚拟机所引用;第一更新单元,用于若所述预先分发至各物理机的基础镜像文件引用被虚拟机所引用,则保留检查的基础镜像文件,并将所述检查的基础镜像文件的时间戳更新为检查时的时间戳;删除单元,用于若所述预先分发至各物理机的基础镜像文件未被虚拟机所引用,且所述检查的基础镜像文件的时间戳所指示的时间距当前时间的间隔超过预设时间间隔,删除所述检查的基础镜像文件。在一些实施例中,所述装置还包括:第二更新单元,用于间隔预定时间更新所述预先分发至各物理机的基础镜像文件。在一些实施例中,所述装置中的所述基础镜像文件包括:原始镜像文件;或原始镜像文件及原始镜像文件的补丁文件。在一些实施例中,所述装置中的所述基础镜像文件包括:原始镜像文件及原始镜像文件的一个补丁文件。在一些实施例中,所述装置中的所述增量文件为创建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文件。在一些实施例中,所述装置中的所述虚拟机镜像文件采用qcow2链式结构。本申请提供的拉取虚拟机镜像文件的方法和装置,首先获取镜像拉取指令,之后判断所述拉取指令是否为仅拉取基础镜像文件的指令,而后若拉取指令为仅拉取基础镜像文件的指令,则从本地获取预先分发至各物理机的基础镜像文件,若所述拉取指令并非仅拉取基础镜像文件的指令,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件,从而有效减少创建虚拟机时拉取的镜像文件的数据量,减少了拉取镜像文件的时间,减轻了虚拟机镜像管理模块所在服务器及镜像服务器的负载,从而可以加快虚拟机的创建速度,使虚本文档来自技高网...

【技术保护点】
一种拉取虚拟机镜像文件的方法,其特征在于,所述方法包括:获取镜像拉取指令,其中,所述镜像拉取指令包括拉取的镜像文件的时间戳;判断所述拉取指令是否为仅拉取基础镜像文件的指令;若是,则从本地获取预先分发至各物理机的基础镜像文件;否则,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件。

【技术特征摘要】
1.一种拉取虚拟机镜像文件的方法,其特征在于,所述方法包括:
获取镜像拉取指令,其中,所述镜像拉取指令包括拉取的镜像文
件的时间戳;
判断所述拉取指令是否为仅拉取基础镜像文件的指令;
若是,则从本地获取预先分发至各物理机的基础镜像文件;
否则,从本地获取预先分发至各物理机的基础镜像文件,从本地
或镜像服务器中获取满足所述拉取的镜像文件的时间戳的增量文件。
2.根据权利要求1所述的方法,其特征在于,所述从本地或镜像
服务器中获取满足所述拉取的镜像文件的时间戳的增量文件包括:
判断本地物理机上是否已存储有满足所述拉取指令的增量文件;
若本地物理机上已存储有所述增量文件,则从本地物理机上获取
所述增量文件,否则,向存储有镜像文件依赖链的数据库发送增量文
件查询指令,并基于查询结果,从镜像服务器中拉取所述增量文件。
3.根据权利要求2所述的方法,其特征在于,所述向存储有镜像
文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜
像服务器中拉取所述增量文件可以包括:
向所述数据库查询所述增量文件的依赖关系,并基于所述依赖关
系查询本地物理机中是否已存储所述增量文件的依赖文件;
若未存储,则从所述镜像服务器中拉取所述依赖文件。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述
方法还包括:
检查所述预先分发至各物理机的基础镜像文件是否被虚拟机所引
用;
若引用,则保留检查的基础镜像文件,并将所述检查的基础镜像
文件的时间戳更新为检查时的时间戳;
若未引用,且所述检查的基础镜像文件的时间戳所指示的时间距
当前时间的间隔超过预设时间间隔,删除所述检查的基础镜像文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
间隔预定时间更新所述预先分发至各物理机的基础镜像文件。
6.根据权利要求5所述的方法,其特征在于,所述基础镜像文件
包括:
原始镜像文件;或
原始镜像文件及原始镜像文件的补丁文件。
7.根据权利要求6所述的方法,其特征在于,所述基础镜像文件
包括:原始镜像文件及原始镜像文件的一个补丁文件。
8.根据权利要求7所述的方法,其特征在于,所述增量文件为创
建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文
件。
9.根据权利要求8所述的方法,其特征在于,所述虚拟机镜像文
件采用qcow2链式结构。
10.一种加速拉取虚拟机镜像文件的装置,其特征在于,所述装
置包括:
第一获取单元,用于获取镜像拉取指令,其中,所述镜像拉取指
令包括拉取的镜像文件的时间戳;
判断单元,用于判断所述拉取指令是否为仅拉取基础镜像文件的
指令;

【专利技术属性】
技术研发人员:张宇徐臻
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1