云计算中虚拟机镜像管理系统的利记博彩app_3

文档序号:8361269阅读:来源:国知局
的包组等信息。
[0069] (2)Prep
[0070] Pr印节是预处理阶段为实际的打包准备工作,以前缀%pr印表示,执行patch可以 将更新文件加入解开的源程序中。
[0071] (3)Build
[0072] Build是用来编译源码的,使用%build表示前缀。
[0073] (4) Install
[0074] Install用于完成软件安装时所需要执行的命令,使用Mnstall前缀表示。在用 户所自行安装的操作系统中,为了验证一个包是否已经成功安装的验证脚本也可由这一节 指定。
[0075] (5)Pre
[0076] RPM安装前执行的脚本。
[0077] (6) Post
[0078] RPM安装后执行的脚本。
[0079] (7)Preun
[0080] RPM卸载前执行的脚本,会在升级RPM的时候会执行。
[0081] (8) Postun
[0082] rpm卸载后执行的脚本,在升级RPM包的时候不会执行。
[0083] (9) Clean
[0084] 这一节所描述的内容表示在完成包建立的工作之后,自动执行此节下的脚本进行 附加的清除工作,它是使用节前缀%clean表示的。一般而言,这一节的内容是简单地使用 rm-rf$RPM_BnLD_R00T命令,不需要指定此节的其它内容。
[0085] (10)文件列表
[0086] 这一节指定构成包的文件的列表,它是使用节前缀%files表示的。此外,它还包 含一系列宏控制安装后的文件属性和配置信息。
[0087] (11)改动日志
[0088] 这一节主要描述软件的开发记录,它是使用节前缀%〇1^叩1(^表示的。这个段的 内容是为了开发人员能详细的了解该软件的开发过程,对于包的维护极有好处。
[0089] 其中,spec文件中的Pre节、Post节、Preun节以及Postun节与软件更新有直接 关联。RPM包管理器在升级rpm软件时会按如下的方式进行:
[0090] 1.运行新包的%pre
[0091] 2?安装新文件
[0092] 3?运行新包的%post
[0093] 4?运行旧包的%preun
[0094] 5.删除新文件未覆盖的所有旧文件
[0095] 6?运行旧包的%postun
[0096] 本系统提出的基于安装脚本重写方法的技术基础就是基于spec文件的基本语法 而提出的。
[0097] 由于更新镜像主要是将新软件文件更新镜像内存在软件漏洞的旧文件。并且镜像 离线更新补丁我们只关注在虚拟机映像的文件系统所做的更改。而许多运行时的变化并不 直接作用于虚拟机镜像。因此使用直接替换镜像内文件的方法来解决这个问题,具体描述 如下:
[0098] 这个方法直接将另一台主机上(已打过补丁)的文件替换镜像内的文件。即将虚拟 机镜像挂载到补丁服务器,经过挂载后,镜像文件成为补丁服务器文件系统的一部分。因此 补丁服务器能直接访问镜像内的所有文件。然后使用chroot (chroot就是Change Root, 也就是改变程式执行时所参考的根目录位置)机制将当前补丁服务器的根目录切换成镜像 文件的根目录。然后补丁服务器就可以模拟虚拟机运行时的状态,再利用在线系统更新补 丁的机制来更新这个经过模拟后的镜像。
[0099] 直接替换镜像内文件的主要工作是在升级前执行升级脚本,然后再将软件包的文 件放到特定目录内,接着运行升级后脚本,最后维护包管理器的相关数据库以保持其数据 完整性。因此将补丁更新到离线镜像也要做相应的这些工作。
[0100] 镜像文件在其镜像安全服务器上只表现为一个普通的经过打包的文件。因此在执 行上面提出的四步时都有可能出问题使升级失败。这一步是实现离线镜像更新补丁的核 心。在这一步主要会遇到如下的问题:
[0101] 1、在线执行升级前/后脚本与离线状态下执行结果一致性的保证。
[0102] 2、将补丁包合并到镜像内,合并后的镜像文件加载到虚拟机上不会破坏客户操作 系统(GuestOS)的完整性并且补丁能够成功地反映出来。
[0103] 3、保证客户操作系统(GuestOS)内的包管理软件数据库的一致性问题。
[0104] 其中第一部分检测dbus线程是否在运行,如果运行则发重启信息给线程。第二部 分重启打补丁后的dbus守护线程以使更新生效,这两部分都依赖于运行时的环境。
[0105] 脚本分析与重写:
[0106] 对软件包依赖的分析还可以通过基于安装脚本分析与脚本重写的方法来实现。脚 本安全分析主要是检查更新脚本是否能在模拟环境下安全执行。脚本重写主要将升级脚本 中一些不适用于离下升级的脚本转化为可以应用于离线升级的脚本,减少不必要的代码以 及用安全的脚本代码代替不安全的脚本代码以实现相同的目的。大多数的不适用于离线升 级的脚本可以转化适用于离线升级的脚本。
[0107] (1)脚本分析
[0108] 脚本分析基于影响、依赖将常见的shell命令分类。本文将常见的脚本命令分为 三类:第一类可以正确地在离线下执行的命令;第二类不能在离线环境下正确的执行的命 令;第三类在离线环境下没有必要执行的命令。为了实现将命令分为上面所提到的三类,将 运行系统分为"内存"部分和"文件"系统部分。然后分析哪个部分会影响或受影响于执行 特点的命令。大部情况下影响"文件"系统部分的命令可以正确地在离线环境下使用,但是 影响"内存"部分的命令一般不能在离线环境下正常地使用。如果一个命令需要从文件系统 中读取数据或存在任何依赖于文件系统的输入则称该命令依赖于文件系统。如果一个命令 的输出写入到文件系统或存在任何依赖于文件系统的输入则称该命令对文件系统有影响。 表1列出一些影响文件系统的命令。
[0109] 表1影响文件系统相关命令列表
[0110]
【主权项】
1. 云计算中虚拟机镜像管理系统,其特征在于,该系统包括有镜像库、镜像管理平台; 所述的镜像管理平台内部设置有通用配置管理模块、源跟踪模块、版本库维护模块、过 滤器模块; 通用配置管理模块用于虚拟机镜像管理平台,能根据用户虚拟机镜像的不同需求进行 自动化配置,并且能够达到大规模批量更新的要求; 源跟踪模块是对于虚拟机镜像的快照和回滚操作,需要通过建立源跟踪机制对其进行 记录,当出现回滚操作时,及时通知版本库维护模块及过滤器模块进行更新; 版本库维护模块是创建一个中也数据库,该个数据库包含所有需要的检查更新的任务 的信息,中也数据库中包括安装包的列表信息,软件包的版本信息,还有每一个虚拟机使用 的升级站点(仓库)列表信息; 过滤器模块要实现虚拟机镜像的软件更新。
2. 根据权利要求1所述的云计算中虚拟机镜像管理系统,其特征在于,所述的源跟踪 模块在基于化enstack的云计算平台中,通过Ceilometer API实现虚拟机镜像。
3. 根据权利要求1所述的云计算中虚拟机镜像管理系统,其特征在于,所述的通用配 置管理模块对于虚拟机镜像配制包含有用户管理、软件包管理、网络管理、安全管理、系统 配置管理、用户自定义配置管理。
【专利摘要】本发明提出云计算中虚拟机镜像管理系统,该系统包括有镜像库、镜像管理平台;所述的镜像管理平台内部设置有通用配置管理模块、源跟踪模块、版本库维护模块、过滤器模块;基于通用配置管理工具、源跟踪机制和版本库维护服务的虚拟机镜像文件管理的策略,从而实现虚拟机镜像文件管理的灵活性、高效性,设计新颖,是一项很好的设计方案,很有市场推广前景,方便用户使用,而且感观性能优。
【IPC分类】G06F9-455, H04L29-08
【公开号】CN104679574
【申请号】CN201310608382
【发明人】谢蓉, 应奕彬, 田鹏, 汪一琛, 李欣琪, 马琳, 陈灿华, 王委, 孙跃良, 丁素芬, 俞天衍, 周子豪, 陶静, 李刚, 李月芹, 徐璡晶, 杨曙, 喻亚慧, 李智展, 国家佳
【申请人】谢蓉
【公开日】2015年6月3日
【申请日】2013年11月26日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1