【技术实现步骤摘要】
本专利技术涉及云计算领域,尤其涉及一种云环境下获取镜像的方法、装置和系统。
技术介绍
云计算是一种服务的交付和消费模式。云服务供应商(CloudServiceProvider,CSP)将大量计算资源用网络连接起来并进行统一的管理、分配和调度,构成一个巨大的计算资源池向用户提供服务。一般来说,云服务大致可分为3个层次,即基础设施即服务(IaaS,也称为I层)、平台即服务(PaaS,也称为P层)和软件即服务(SaaS,也称为S层)。目前,业界最多的为I层供应商(如Amazon的AWS平台)。I层主要为用户提供计算、存储、网络传输等基础设施能力,是以虚拟机技术为核心构建的应用运行平台。随着以docker为代表的容器技术的兴起,业界出现了一种以docker容器作为应用程序运行形态的趋势。docker技术的初衷,是实现一个应用程序构建、分发、运行的统一平台,docker容器镜像则是对应用程序及其运行环境的一个标准化封装。应用程序随其运行环境、依赖、配置等打包成统一的容器镜像格式后,可以直接运行在任何安装有docker的操作系统环境中,无需进行其他的操作。相比传统应用程序部署方式,省去了切换运行环境后,需要重新进行依赖安装、环境配置等繁琐操作,因此,docker技术特别适合应用快速部署的场景。一个完整的docker容器镜像包含两部分,一部分是镜像描述文件,描述了镜像的标识ID、镜像的大小、镜像的分层结构(每个镜像层的ID及镜像层之间的依赖关系)等信息。另一部分是镜像数据文件,也就是镜像的实际文件内容。镜像数据文件以分层的结构来保存,每个镜像层是一个单独的文件集合。例 ...
【技术保护点】
一种云环境下获取镜像的方法,其特征在于,包括:从远程镜像中心获取指定镜像的描述信息,所述指定镜像的描述信息包括所述指定镜像包含的各个镜像层的标识以及所述指定镜像的每个镜像层是否为允许共享的镜像层的指示信息;根据所述指定镜像的描述信息,确定虚拟机的镜像层信息表中不存在第一镜像层文件的存储地址,其中,所述第一镜像层为所述指定镜像包含的且允许共享的镜像层,所述虚拟机的镜像层信息表包括所述虚拟机获取的保存在本地的镜像层文件的存储地址和保存在所述虚拟机的宿主物理机的共享存储中的镜像层文件的存储地址;向所述宿主物理机发送获取第一镜像层的第一请求消息,所述获取第一镜像层的第一请求消息包括所述第一镜像层的标识;接收所述宿主物理机返回的第一镜像层文件在所述宿主物理机的共享存储中的存储地址,并将所述第一镜像层的标识和所述第一镜像层文件在所述宿主物理机的共享存储中的存储地址记录到所述虚拟机的镜像层信息表中。
【技术特征摘要】
1.一种云环境下获取镜像的方法,其特征在于,包括:从远程镜像中心获取指定镜像的描述信息,所述指定镜像的描述信息包括所述指定镜像包含的各个镜像层的标识以及所述指定镜像的每个镜像层是否为允许共享的镜像层的指示信息;根据所述指定镜像的描述信息,确定虚拟机的镜像层信息表中不存在第一镜像层文件的存储地址,其中,所述第一镜像层为所述指定镜像包含的且允许共享的镜像层,所述虚拟机的镜像层信息表包括所述虚拟机获取的保存在本地的镜像层文件的存储地址和保存在所述虚拟机的宿主物理机的共享存储中的镜像层文件的存储地址;向所述宿主物理机发送获取第一镜像层的第一请求消息,所述获取第一镜像层的第一请求消息包括所述第一镜像层的标识;接收所述宿主物理机返回的第一镜像层文件在所述宿主物理机的共享存储中的存储地址,并将所述第一镜像层的标识和所述第一镜像层文件在所述宿主物理机的共享存储中的存储地址记录到所述虚拟机的镜像层信息表中。2.如权利要求1所述的方法,其特征在于,所述方法还包括:根据所述指定镜像的信息,确定虚拟机的镜像层信息表中不存在第二镜像层文件的存储地址,其中,所述第二镜像层为所述指定镜像包含的且不允许共享的镜像层;向所述远程镜像中心发送获取第二镜像层的请求消息,所述获取第二镜像层的请求消息包括所述第二镜像层的标识;接收所述远程镜像中心返回的第二镜像层文件,在本地存储所述第二镜像层文件,并将所述第二镜像层的标识和所述第二镜像层文件的存储地址记录到所述虚拟机的镜像层信息表中。3.如权利要求1-2所述的方法,其特征在于,在所述从远程镜像中心获取指定镜像的描述信息之前,所述方法还包括:创建容器,确定所述虚拟机本地不存在所述指定镜像,其中所述指定镜像为创建所述容器所需的镜像。4.如权利要求1-3所述的方法,其特征在于,所述共享存储为创建在
\t所述宿主物理机上,以便于建立在所述宿主物理机上的虚拟机进行访问的存储空间。5.一种云环境下获取镜像的方法,所述方法应用于物理机上,其特征在于,接收第一虚拟机发送的获取第一镜像层的第一请求消息,所述获取第一镜像层的第一请求消息包括第一镜像层的标识,其中,所述物理机为所述第一虚拟机的宿主物理机;根据所述第一镜像层的标识,确定物理机的镜像层信息表中不存在第一镜像层文件的存储地址,其中所述物理机的镜像层信息表包括保存在所述物理机的共享存储中的镜像层文件的存储地址;向远程镜像中心发送获取第一镜像层的第二请求消息,所述获取第一镜像层的第二请求消息包括所述第一镜像层的标识;接收所述远程镜像中心返回第一镜像层文件,在所述共享存储中存储所述第一镜像层文件,并将所述第一镜像层的标识和所述第一镜像层文件的存储地址记录到所述物理机的镜像层信息表中;向所述第一虚拟机发送所述第一镜像层文件的存储地址。6.如权利要求5所述的方法,其特征在于,在所述共享存储中存储所述第一镜像层文件,并将所述第一镜像层的标识和所述第一镜像层文件的存储地址记录到所述物理机的镜像层信息表中之后,所述方法还包括:接收第二虚拟机发送的获取第一镜像层的第三请求消息,所述获取第一镜像层的第三请求消息包括所述第一镜像层的标识,其中,所述物理机为所述第二虚拟机的宿主物理机;根据所述第一镜像层的标识,确定物理机的镜像层信息表中存在所述第一镜像层文件的存储地址;将所述第一镜像层文件的存储地址发送给所述第二虚拟机。7.如权利要求5-6任一所述的方法,其特征在于,所述共享存储为创建在所述物理机上,以便于以所述物理机为宿主物理机的虚拟机进行访问的存储空间。8.一种云环境下获取镜像的虚拟机,其特征在于,包括容器镜像管理模块:其中,所述容器镜像管理模块,用于从远程镜像中心获取指定镜像的描述信息,所述指定镜像的描述信息包括所述指定镜像包含的各个镜像层的标识以及所述指定镜像的每个镜像层是否为允许共享的镜像层的指示信息;根据所述指定镜像的描述信息,确定虚拟机的镜像层信息表中不存在第一镜像层文件的存储地址,其中,所述第一镜像层为所述指定镜像包含的且允许共享的镜像层,所述虚拟机的镜像层信息表包括所述虚拟机获取的保存在本地的镜像层文件的存储地址和保存在所述虚拟机的宿主物理机的共享存储中的镜像层文件的存储地址;向所述宿主物理机发送获取第一镜像层的第一请求消息,所述获取第一镜像层的第一请求消息包括所述第一镜像层的标识;接收所述宿主物理机返回的第一镜像层文件在所述宿主物理机的共享存储中的存储地址,并将所述第一镜像层的标识和所述第一镜像层文件在所述宿主物理机的共享存储中的存储地址记录到所述虚拟机的镜像层信息表中。9.如权利要求8所述的虚拟机,其特征在于,所述虚拟机还包括私有存储,所述容器镜像管理模块,还用于根据所述指定镜像的信息,确定虚拟机的镜像层信息表中不存在第二镜像层文件的存储地址,其中,所述第二镜像层为所述指定镜像包含的且不允许共享的镜像层;向所述远程镜像中心发送获取第二镜像层的请求消息,所述获取第二镜像层的请求消息包括所述第二镜像层的标识;接收所述远程镜像中心返回的第二镜像层文件;所述私有存储,用于存储所述容器镜像管理模块接收的所述第二镜像层文件;所述容器镜像管理模块,还用于将所述第二镜像层的标识和所述第二镜像层文件在所述私有存储中的存储地址记录到所述虚拟机的镜像层信息表中。10.如权利要求8或9所述的虚拟机,其特征在于,所述虚拟机还包括容器管理模块,所述容器管理模块,用于创建容器,确定所述虚拟机本地不存在所述指定镜像,其中所述指定镜像为创建所述容器所需的镜像;向所述容器镜像管理模块发送获取指定镜像的请求,所述获取指定镜像的请求包括所述
\t指定镜像的名称;所...
【专利技术属性】
技术研发人员:姜耀国,谢军安,蒋飞虎,胡瑞丰,丁海洋,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。