虚拟机镜像下发系统及方法与流程

文档序号:12063447阅读:512来源:国知局
虚拟机镜像下发系统及方法与流程

本发明涉及云计算领域,特别涉及一种虚拟机镜像下发系统及方法。



背景技术:

随着互联网的普及和业务需求的增长、成本的控制,许多企业建立自己的多数据中心并选择把企业应用部署在虚拟机上,以快速响应灾难备份。关于多数据中心虚拟机管理云平台,考虑到管理的便捷性和业务的隔离性,目前业界比较通用的方法是针对多个数据中心,每个数据中心独自维护一套虚拟机管理平台,拥有自己单独的镜像管理系统。随着需求的增长和特殊操作系统的限制,比如windows系统,会周期性补丁升级,会导致出现越来越多的镜像文件,占用很大的磁盘存储空间,每次升级镜像,都要上传相同的镜像文件到各自数据中心,会造成虚拟机管理平台资源浪费,工作效率低下。

另外,由于使用新镜像部署首次虚拟机时会实时获取该新镜像,导致首次启动新镜像虚拟机过程比较缓慢,虽然,目前有针对KVM(kernel-based Virtual Machine,基于内核的虚拟机)元操作系统的宿主机定时获取镜像的方案,但这种方式是让每个数据中心的宿主机统一定时从镜像管理仓库下载,容易造成带宽被占满,且使得镜像管理仓库服务器成为瓶颈,影响下发效率和速度。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中的宿主机升级镜像导致占用较大磁盘存储空间导致存储资源浪费的缺陷,提供了一种虚拟机镜像下发系统及方法。

一种虚拟机镜像下发系统,包括共享存储器和多个数据中心,每一所述数据中心分别包括一镜像管理平台;

任一所述镜像管理平台用于获取镜像,并将所述镜像发送至所述共享存储器,以及将所述镜像的元数据同步至其他数据中心;

所述共享存储器用于存储所述镜像;

所述多个数据中心用于根据所述镜像的元数据从所述共享存储器获取所述镜像并进行下发。

较佳地,所述镜像的元数据包括镜像在所述共享存储器的链接地址和镜像生命周期标签;

所述镜像生命周期标签为最新可用标签、已过期标签或者已下发标签;

所述最新可用标签是指镜像为最新可用状态;所述已过期标签是指镜像超过预设时长且处于未下发状态;所述已下发标签是指镜像处于已下发状态。

较佳地,所述数据中心还包括镜像数据库;任一所述镜像管理平台用于获取镜像生命周期标签为最新可用标签的镜像,以及将获取的镜像生命周期标签为最新可用标签的镜像的元数据保存于所述镜像数据库中,并同步至所述其他数据中心的镜像数据库中。

较佳地,所述镜像管理平台包括镜像下发模块和宿主机组,每一所述宿主机组包括多个宿主机;

所述镜像下发模块用于根据所述链接地址从所述共享存储器下载所述镜像并下发至至少一个所述宿主机。

较佳地,所述镜像管理平台还用于将已下发至宿主机中的镜像的镜像生命周期标签更改标记为已下发标签。

较佳地,所述镜像管理平台还包括过期清理模块,所述过期清理模块用于对镜像生命周期标签为已过期标签的镜像进行清理。

较佳地,所述镜像下发模块包括序列表创建子模块和下发子模块;

所述序列表创建子模块用于根据宿主机组中的宿主机的剩余可用容量的大小顺序建立宿主机序列表;

所述下发子模块用于根据所述链接地址从所述共享存储器下载所述镜像,并按照所述宿主机序列表中剩余可用容量从大到小的顺序将所述镜像下发至宿主机。

较佳地,所述镜像管理平台还包括判断模块、下载下发模块和拷贝下发模块;

所述判断模块用于在所述宿主机组中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数小于N时,调用下载下发模块;以及在所述宿主机组中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数不小于N时,调用拷贝下发模块;其中,N为每一宿主机组允许从所述共享存储器下载的镜像的个数,N为不小于1的整数;

所述下载下发模块用于根据所述链接地址从所述共享存储器下载所述镜像并下发至所述宿主机组中未获取镜像生命周期标签为最新可用标签的镜像的宿主机;

所述拷贝下发模块用于将所述宿主机组中具有镜像生命周期标签为最新可用标签的镜像的宿主机作为种子宿主机以供其他宿主机拷贝所述镜像。

一种虚拟机镜像下发方法,采用所述虚拟机镜像下发系统实现,所述方法包括以下步骤:

S1、任一所述镜像管理平台获取镜像,并将所述镜像发送至所述共享存储器,以及将所述镜像元数据同步至其他数据中心;

S2、所述多个数据中心根据所述镜像的元数据从所述共享存储器获取所述镜像并进行下发。

较佳地,所述镜像的元数据包括镜像在所述共享存储器的链接地址和镜像生命周期标签;

所述镜像生命周期标签为最新可用标签、已过期标签或者已下发标签;

所述最新可用标签是指镜像为最新可用状态;所述已过期标签是指镜像超过预设时长且处于未下发状态;所述已下发标签是指镜像处于已下发状态。

较佳地,所述数据中心还包括镜像数据库,在步骤S1中,任一所述镜像管理平台获取镜像生命周期标签为最新可用标签的镜像,以及将获取的镜像生命周期标签为最新可用标签的镜像的元数据保存于所述镜像数据库中,并同步至所述其他数据中心的镜像数据库中。

较佳地,所述镜像管理平台包括镜像下发模块和宿主机组,每一所述宿主机组包括多个宿主机;

在步骤S2中,所述镜像下发模块根据所述链接地址从所述共享存储器下载所述镜像并下发至至少一个所述宿主机。

较佳地,所述镜像下发模块包括序列表创建子模块和下发子模块;

在步骤S2中,包括以下子步骤:

S21、所述序列表创建子模块根据宿主机组中的宿主机的剩余可用容量的大小顺序建立宿主机序列表;

S22、所述下发子模块根据所述链接地址从所述共享存储器下载所述镜像,并按照所述宿主机序列表中剩余可用容量从大到小的顺序将所述镜像下发至宿主机。

较佳地,在步骤S2后,还包括以下步骤:

S3、判断所述宿主机组中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数是否小于N,若是,执行步骤S4,若否,执行步骤S5;其中,N为每一宿主机组允许从所述共享存储器下载的镜像的个数,N为不小于1的整数;

S4、根据所述链接地址从所述共享存储器下载所述镜像并下发至所述宿主机组中未获取镜像生命周期标签为最新可用标签的镜像的其他宿主机;

S5、将所述宿主机组中具有镜像生命周期标签为最新可用标签的镜像的宿主机作为种子宿主机以供其他宿主机拷贝所述镜像。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:本发明的虚拟机镜像下发系统及方法可以大大减少镜像文件占用空间,提高镜像下发效率和下发速度,节省下发带宽和流量。

附图说明

图1为本发明一较佳实施例的虚拟机镜像下发系统的结构示意图。

图2为本发明一较佳实施例的虚拟机镜像下发方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,一种虚拟机镜像下发系统,包括共享存储器1和多个数据中心2,每一所述数据中心2分别包括一镜像数据库21和镜像管理平台22。该虚拟机镜像下发系统基于多个数据中心的虚拟机多元操作系统,每一所述数据中心2还包括虚拟机管理平台和服务器,所述虚拟机管理平台用于根据镜像类型部署不同元操作系统的虚拟机,主要包括KVM和VMWARE两种类型虚拟机,以及对虚拟机进行删除、重启、扩容、开关机等操作。

任一所述镜像管理平台22用于获取镜像,并将所述镜像发送至所述共享存储器1,以及将所述镜像的元数据同步至其他数据中心,所述共享存储器1用于存储所述镜像,所述多个数据中心2用于根据所述镜像的元数据从所述共享存储器1获取所述镜像并进行下发。这样可以有效避免每个数据中心存储相同的镜像文件导致的浪费存储容量的缺陷,提高了数据中心存储容量的有效利用率。

所述镜像的元数据包括镜像在所述共享存储器的链接地址、镜像生命周期标签、镜像ID、镜像名称、镜像格式、镜像文件大小及镜像对应的hypervisor类型等。所述镜像生命周期标签为最新可用标签、已过期标签或者已下发标签,所述最新可用标签是指镜像为最新可用状态,所述已过期标签是指镜像超过预设时长且处于未下发状态,所述已下发标签是指镜像处于已下发状态。这样可以通过最新可用标签对最新制作好的镜像标记为最新可用,通过已过期标签对超过预设时长且没有用来部署虚拟机的镜像标记为已过期,对在该数据中心所有宿主机上已经完成的镜像标记为已下发,从而方便对镜像的管理。

任一所述镜像管理平台22用于获取镜像生命周期标签为最新可用标签的镜像,以及将获取的镜像生命周期标签为最新可用标签的镜像的元数据保存于所述镜像数据库中,并同步至所述其他数据中心的镜像数据库中。

所述镜像管理平台22包括镜像下发模块221和宿主机组220,每一所述宿主机组220包括多个宿主机2201。所述镜像下发模块221用于根据所述链接地址从所述共享存储器1下载所述镜像并下发至至少一个所述宿主机2201。

所述镜像下发模块221包括序列表创建子模块2211和下发子模块2212,所述序列表创建子模块2211用于根据宿主机组220中的宿主机2201的剩余可用容量的大小顺序建立宿主机序列表,所述下发子模块2212用于根据所述链接地址从所述共享存储器下载所述镜像,并按照所述宿主机序列表中剩余可用容量从大到小的顺序将所述镜像下发至宿主机,以确保剩余可用容量最大的宿主机被优先下发镜像。

所述镜像管理平台22还包括判断模块222、下载下发模块223和拷贝下发模块224,所述判断模块222用于在所述宿主机组220中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数小于N时,调用下载下发模块223,以及在所述宿主机组220中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数不小于N时,调用拷贝下发模块224,其中,N为每一宿主机组允许从所述共享存储器下载的镜像的个数,N为不小于1的整数。所述下载下发模块223用于根据所述链接地址从所述共享存储器1下载所述镜像并下发至所述宿主机组220中未获取镜像生命周期标签为最新可用标签的镜像的宿主机。所述拷贝下发模块224用于将所述宿主机组220中具有镜像生命周期标签为最新可用标签的镜像的宿主机作为种子宿主机以供其他宿主机拷贝所述镜像。其他宿主机拷贝完该镜像后变成种子宿主机,以进一步支持其他未拷贝的宿主机进行拷贝,达到同一宿主机组之间相互拷贝,该宿主机组按照机房或者机架进行逻辑分类,即一个机房或一个机架为一个宿主机组,一个宿主机组为一个逻辑区域,这样可以节省机房带宽和流量,从而实现宿主机高速下载,提高下发效率。

所述镜像管理平台22还用于将已下发至宿主机2201中的镜像的镜像生命周期标签更改标记为已下发标签。所述镜像管理平台22还包括过期清理模块225,所述过期清理模块225用于对镜像生命周期标签为已过期标签的镜像进行清理。通过自动清理过期镜像,减少存储空间的资源浪费,进一步提高了存储容量的有效利用率。

综上所述,本发明的虚拟机镜像下发系统可以大大减少镜像文件占用空间,提高镜像下发效率和下发速度,节省下发带宽和流量。

如图2所示,本实施例还提供了一种虚拟机镜像下发方法,采用上述的虚拟机镜像下发系统实现,包括以下步骤:

步骤S1、任一所述镜像管理平台获取镜像,并将所述镜像发送至所述共享存储器,以及将所述镜像元数据同步至其他数据中心。

所述镜像的元数据包括镜像在所述共享存储器的链接地址和镜像生命周期标签,所述镜像生命周期标签为最新可用标签、已过期标签或者已下发标签,所述最新可用标签是指镜像为最新可用状态,所述已过期标签是指镜像超过预设时长且处于未下发状态,所述已下发标签是指镜像处于已下发状态。

所述数据中心还包括镜像数据库,任一所述镜像管理平台获取镜像生命周期标签为最新可用标签的镜像,以及将获取的镜像生命周期标签为最新可用标签的镜像的元数据保存于所述镜像数据库中,并同步至所述其他数据中心的镜像数据库中。

步骤S2、所述多个数据中心根据所述镜像的元数据从所述共享存储器获取所述镜像并进行下发。

所述镜像管理平台包括镜像下发模块和宿主机组,每一所述宿主机组包括多个宿主机,所述镜像下发模块根据所述链接地址从所述共享存储器下载所述镜像并下发至至少一个所述宿主机。所述镜像下发模块包括序列表创建子模块和下发子模块。所述步骤S2中,还包括以下子步骤:

步骤S21、所述序列表创建子模块根据宿主机组中的宿主机的剩余可用容量的大小顺序建立宿主机序列表;

步骤S22、所述下发子模块根据所述链接地址从所述共享存储器下载所述镜像,并按照所述宿主机序列表中剩余可用容量从大到小的顺序将所述镜像下发至宿主机。

步骤S3、判断所述宿主机组中已下发过镜像生命周期标签为最新可用标签的镜像的宿主机的个数是否小于N,若是,进入步骤S4,若否,进入步骤S5,其中,N为每一宿主机组允许从所述共享存储器下载的镜像的个数,N为不小于1的整数。

步骤S4、根据所述链接地址从所述共享存储器下载所述镜像并下发至所述宿主机组中未获取镜像生命周期标签为最新可用标签的镜像的其他宿主机。

步骤S5、将所述宿主机组中具有镜像生命周期标签为最新可用标签的镜像的宿主机作为种子宿主机以供其他宿主机拷贝所述镜像。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1