云计算中虚拟机镜像管理系统的制作方法

文档序号:8361269阅读:1395来源:国知局
云计算中虚拟机镜像管理系统的制作方法【
技术领域
】[0001]本发明涉及云计算领域,尤其涉及云计算中虚拟机镜像管理系统。【
背景技术
】[0002]云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备,主要是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。[0003]目前,由于虚拟化技术的快速发展,IaaS云服务商通常提供独立的虚拟机方式为用户提供服务,用户通过远程的方式管理虚拟机。由于虚拟机的创建成本较低,用户往往为不同的任务创建不同的虚拟机。用户还可以克隆、快照、甚至可以回滚到以前的状态。这些功能为用户提供了极大的灵活性,但它们对云平台成了的巨大安全风险。而且随着云计算应用的深入发展,越来越多的虚拟机出现。这种现象被称为虚拟机蔓延,使得虚拟机管理与软件更新成为一件非常费时的任务。云计算平台提供商将虚拟机系统更新任务交给用户自己负责,而用户迫切期望供应商来完成这项任务。结果就导致大量的虚拟机(运行或休眠)由于没有及时进行软件漏洞修复而受到大量的安全威胁,降低了系统的安全性,在使用过程中存在一定的缺陷。[0004]综上所述,针对云计算平台能耗较大的缺陷,提出云计算中虚拟机镜像管理系统,以解决现有技术的不足。【
发明内容】[0005]本发明的目的是提供云计算中虚拟机镜像管理系统,基于通用配置管理工具、源跟踪机制和版本库维护服务的虚拟机镜像文件管理的策略,从而实现虚拟机镜像文件管理的灵活性、高效性,以解决现有技术中存在的不足。[0006]本发明为解决其技术问题所采用的技术方案是,[0007]云计算中虚拟机镜像管理系统,该系统包括有镜像库、镜像管理平台;[0008]所述的镜像管理平台内部设置有通用配置管理模块、源跟踪模块、版本库维护模块、过滤器模块;[0009]通用配置管理模块用于虚拟机镜像管理平台,能根据用户虚拟机镜像的不同需求进行自动化配置,并且能够达到大规模批量更新的要求;[0010]源跟踪模块是对于虚拟机镜像的快照和回滚操作,需要通过建立源跟踪机制对其进行记录,当出现回滚操作时,及时通知版本库维护模块及过滤器模块进行更新;[0011]版本库维护模块是创建一个中心数据库,这个数据库包含所有需要的检查更新的任务的信息,中心数据库中包括安装包的列表信息,软件包的版本信息,还有每一个虚拟机使用的升级站点(仓库)列表信息;[0012]过滤器模块要实现虚拟机镜像的软件更新。[0013]进一步,所述的源跟踪模块在基于Openstack的云计算平台中,通过CeilometerAPI实现虚拟机镜像。[0014]进一步,所述的通用配置管理模块对于虚拟机镜像配制包含有用户管理、软件包管理、网络管理、安全管理、系统配置管理、用户自定义配置管理。[0015]本发明的优点在于,该系统基于通用配置管理工具、源跟踪机制和版本库维护服务的虚拟机镜像文件管理的策略,从而实现虚拟机镜像文件管理的灵活性、高效性,设计新颖,是一项很好的设计方案,很有市场推广前景,方便用户使用,而且感观性能优。【附图说明】[0016]下面结合附图和【具体实施方式】来详细说明本发明:[0017]图1是本发明架构示意图;[0018]图2是本发明模块关系示意图;[0019]图3是本发明通用配置管理模块示意图;[0020]图4是本发明版本库维护模块构框图;[0021]图5是本发明过滤器分析流程图;[0022]图6是本发明脚本分析与重写更新流程图;[0023]图7是本发明脚本分析与重写机制图;[0024]图8是本发明测试环境示意图;[0025]图9是本发明虚拟机镜像通用软件初始化性能分析图;[0026]图10是本发明虚拟机镜像通用软件初始化性能对比图;[0027]图11是本发明镜像内已安装软件信息查询性能比较图;[0028]图12是本发明不同包管理系统单个镜像更新性能对比图;[0029]图13是本发明批量镜像更新性能对比图;【具体实施方式】[0030]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。[0031]如图1、图2所示,本发明提出的云计算中虚拟机镜像管理系统,该系统包括有镜像库、镜像管理平台;镜像管理平台内部设置有通用配置管理模块、源跟踪模块、版本库维护模块、过滤器模块;在镜像发布环节,虚拟机镜像管理平台拦截用户发布的镜像文件,并且通过通用配置管理和用户自定义管理两种相结合的方式,首先对虚拟机镜像进行软件的初始化操作,实现隐私或保密数据的清理,并通过源跟踪、软件版本库维护和过滤器来对修改后的镜像进行跟踪与更新维护。[0032]通用配置管理模块用于虚拟机镜像管理平台,能根据用户虚拟机镜像的不同需求进行自动化配置,并且能够达到大规模批量更新的要求;[0033]源跟踪模块是对于虚拟机镜像的快照和回滚操作,需要通过建立源跟踪机制对其进行记录,当出现回滚操作时,及时通知版本库维护模块及过滤器模块进行更新;[0034]版本库维护模块是创建一个中心数据库,这个数据库包含所有需要的检查更新的任务的信息,中心数据库中包括安装包的列表信息,软件包的版本信息,还有每一个虚拟机使用的升级站点(仓库)列表信息;[0035]过滤器模块要实现虚拟机镜像的软件更新。仅仅获得软件包版本库信息还是不够的,还要将每一个软件包所依赖的信息也提取出来。本系统采用过滤器的机制解决包依赖等更新问题。[0036]另外,通用配置管理模块对于虚拟机镜像配制包含有用户管理、软件包管理、网络管理、安全管理、系统配置管理、用户自定义配置管理。云平台用户创建的虚拟机镜像,会包含一些通用的软件及相应的配置。例如当用户创建一个跟ApacheWeb或者是Jboss应用服务器有关的虚拟机镜像时,首先会选择一个Linux镜像,然后再安装这些组件。然而安装的系统软件的配置在初始情况下都是默认配置,有些时候无法满足实际应用的需求。让这些机器部署实际的应用,还需要安装一些依赖的软件包,如dns、ssh等;同时还需要设置相关的配置,如根据IP段来设置dns;为了保证服务器的安全性需要禁止某些端口,这时候就需要设置iptables。[0037]本系统以云平台中最为流行的管理工具Puppet为开发基础,设计并实现了虚拟机镜像的通用配置管理功能。基于Puppet的通用配置管理模块架构如图3所示。用户通过编写通用的配置管理信息以manifest的形式保存在Puppet服务端,当客户端下载manifest之后,可以根据manifest对虚拟机镜像进行初始化配置,例如软件包管理,用户管理和文件管理等。Puppetd通过调用facter,探测出虚拟机镜像的一些变量,例如主机名,内存大小,ip地址等。Puppetd把这些信息通过ssl连接发送到服务器端;服务器端的puppetmaster检测客户端的主机名,然后找到manifest里面对应的node配置,并对该部分内容进行解析,facter送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,语法检查,如果语法错误就报错。如果语法没错,就继续解析,解析的结果生成一个中间的"伪代码",然后把伪代码发给客户端;客户端接收到"伪代码",并且执行,客户端把执行结果发送给服务器;服务器端把客户端的执行结果写入日志。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1