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

文档序号:9506039阅读:来源:国知局
6用于在终端设备101、102和云计算平台之间或者在云计算平台内部的服务器103、104和105之间提供通信链路。网络106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0037]用户可以通过终端设备101、102管理运行于云计算平台上的虚拟机,例如提出创建虚拟机快照请求等。其中,虚拟机可以设置于云计算平台中的任意一台服务器或其组合上,例如设置于服务器103、104或105上。虚拟机中可以安装有各种应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0038]组成云计算平台的服务器103、104和105可以是提供各种计算服务的设备,例如接收用户通过终端设备提交的请求,对请求进行分析处理,并将处理结果通过终端设备返回给用户。
[0039]需要说明的是,本申请实施例所提供的拉取虚拟机镜像文件的方法,一般通过部署于上述云计算平台架构中的虚拟机管理模块来执行,该管理模块可以部署于云计算平台中的任意一台服务器或服务器的组合中,例如,该管理模块可以为云计算管理平台架构OpenStack中的运算组件Nova_compute,部署于任意一台服务器103、104、105中或部署于服务器103、104、105的任意组合中。相应地,创建虚拟机系统盘快照的装置也部署于云计算平台中的任意一台服务器或其组合中。
[0040]本领域技术人员应当理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0041]继续参考图2,示出了根据本申请的拉取虚拟机镜像文件的方法的一个实施例的示意性流程图200。所述的拉取虚拟机镜像文件的方法,包括以下步骤:
[0042]在步骤201中,获取镜像拉取指令,其中,镜像拉取指令包括拉取的镜像文件的时间戳。
[0043]在本实施例中,拉取虚拟机镜像文件的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行交互的终端接收创建虚拟机请求。上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB (ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
[0044]通常,用户利用终端上安装的网页浏览器或客户端应用来提交创建虚拟机请求,这时,用户可以通过直接输入指令或者点击网页浏览器或客户端应用中呈现的提交创建虚拟机请求的链接来向网页服务器或客户端应用发起创建虚拟机请求。该创建虚拟机请求通常包括用户设定的虚拟机磁盘文件的参数,该磁盘文件的参数可以包括用于创建虚拟机磁盘文件的镜像文件的时间戳。
[0045]之后,接收用户创建虚拟机请求的云计算平台架构中的虚拟机管理模块(例如云计算平台架构OpenStack中的运算组件Nova,可以运行于例如图1中所示的服务器或服务器的组合中),根据接收的创建虚拟机请求,获取镜像拉取指令,其中,镜像拉取指令包括需要拉取的上述创建虚拟机请求中的镜像文件的时间戳。
[0046]在步骤202中,判断拉取指令是否为仅拉取基础镜像文件的指令。
[0047]在本实施例中,上述的虚拟机管理模块,对于步骤201中获取的镜像拉取指令进行判断,判断拉取指令是否为仅拉取基础镜像文件的指令。
[0048]这里的基础镜像文件可以为操作系统的某一发布版本文件或操作系统的某一发布版本文件加系统补丁文件,还可以为用户预设的虚拟机磁盘文件,其中,虚拟机磁盘文件可以包括操作系统的某一发布版本文件以及操作系统补丁或作为用户自定义补丁的用户预设的应用软件等。
[0049]若将上述的操作系统的某一发布版本文件作为原始镜像文件,其它的操作系统补丁文件、用户预设的应用软件等均作为原始镜像文件的补丁文件,则基础镜像文件可以包括但不限于原始镜像文件或原始镜像文件的补丁文件。
[0050]示例性的,如图3所示,图3示出了根据本申请实施例的基础镜像文件的结构图:当虚拟机系统盘无补丁时,系统盘文件的结构510包括基础镜像文件和顶层文件,顶层文件依赖于基础镜像文件;当虚拟机系统盘有补丁时,系统盘文件的结构520包括基础镜像文件、用户自定义或者系统补丁和顶层文件,其中,用户自定义或者系统补丁依赖基础镜像文件,顶层文件依赖用户自定义或者系统补丁文件;为了进一步减少虚拟机磁盘存储不必要的大文件,可以将用户自定义或者系统补丁合入基础镜像文件,得到合入补丁的镜像文件,并将合入补丁的镜像文件作为新的基础镜像文件,同时可以提高新的基础镜像文件的共享率。
[0051]为了避免补丁过多影响基础镜像文件的共享率,可以将补丁的数量限制在一个较小的范围内,例如可以限制为原始镜像文件加原始镜像文件的一个补丁。
[0052]返回图2,在步骤203中,若拉取指令是仅拉取基础镜像文件的指令,则从本地获取预先分发至各物理机的基础镜像文件。
[0053]在本实施例中,组成云计算平台的物理机中预先存储了基础镜像文件,上述的虚拟机管理模块若判定拉取指令是仅拉取基础镜像文件的指令,则可以发送获取指令给为虚拟机分配的宿主物理机,令宿主物理机获取物理机中预先存储的基础镜像文件。
[0054]在本实施例的一些可选实现方式中,为了保证从本地获取的预先分发至各物理机的基础镜像文件为最新版的基础镜像文件,拉取虚拟机镜像文件的方法还可以包括:间隔预定时间更新预先分发至各物理机的基础镜像文件。
[0055]在步骤204中,若拉取指令并非仅拉取基础镜像文件的指令,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足拉取的镜像文件的时间戳的增量文件。
[0056]在本实施例中,上述的虚拟机管理模块若判定拉取指令并非仅拉取基础镜像文件的指令,则可以发送获取指令给为虚拟机分配的宿主物理机,令宿主物理机对创建虚拟机的文件分别进行拉取,其中,基础镜像文件,可以直接从本地拉取;除基础镜像文件之外的增量文件,根据增量文件的存储位置,可以从本地拉取或通过云计算平台架构中的虚拟机镜像管理模块从镜像服务器拉取。其中,增量文件为创建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文件。
[0057]在本实施例的一些可选的实现方式中,从本地或镜像服务器中获取满足拉取的镜像文件的时间戳的增量文件可以包括但不限于:判断本地物理机上是否已存储有满足拉取指令的增量文件;若本地物理机上已存储有增量文件,则从本地物理机上获取增量文件,否贝1J,向存储有镜像文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜像服务器中拉取增量文件。
[0058]在本实现方式中,存储有镜像文件依赖链的数据库,可以是云计算平台架构中存储有镜像文件的元数据的数据库,例如位于上述虚拟机镜像管理模块中的存储有镜像文件的元数据的数据库。
[0059]上述的虚拟机管理模块,在向上述的存储有镜像文件依赖链的数据库的模块发送增量文件查询指令并得到查询结果后,可以根据查询结果,从镜像服务器中拉取增量文件,例如,虚拟机管理模块可以向数据库查询增量文件的依赖关系,并基于依赖关系查询本地物理机中是否已存储增量文件的依赖文件;若未存储,则从镜像服务器中拉取依赖文件。
[0060]在本实施例中,上述的虚拟机镜像文件采用链式结构,例如可以采用qcow2格式的链式结构。
[0061]继续参见图4,图4示出了根据本申请实施例的拉取虚拟机镜像文件的方法的一个应用场景的示意图。在图4的应用场景中,用户410首先通过终端设备向虚拟机管理模块提交创建虚拟机请求;之后,云计算平台架构中的虚拟机管理模块420响应于接收到请求,为虚拟机确定宿主物理机440,并向宿主物理机440发送创建虚拟机指令,该创建虚拟机指令中包括用户设定的虚拟机磁盘文件的参数,该磁盘文件的参数可以包括用于创建虚拟机磁盘文件的镜像文件的时间戳;宿主物理机440响应于接收到创建虚拟机指令,根据创建虚拟机指令通过镜像管理模块440拉取镜像文件,从网络节点450拉取网络信息,之后根据拉取的镜像文件和网络信息,完成创建虚拟机460。
[0062]本申请的上述实施例提供的拉取虚拟机镜像文件的方法通过在预先分发至物理机的基础镜像文件,减少了需要通过虚拟机镜像管理模块拉取的虚拟机镜像文件的数据量,从而减少了拉取镜像文件的时间,减轻了虚拟机镜像管理模块所在服务器及镜像服务器的负载,从而可以加快虚拟机的创建速度。
[0063]进一步参考图5,其示出了根据本申请实施例的提高物理机磁盘空间利用率的方法的一个实施例的流程500。该提高物理机磁盘空间利用效率的方
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1