一种虚拟器件的生成和部署方法

文档序号:6514349阅读:192来源:国知局
一种虚拟器件的生成和部署方法
【专利摘要】本发明属于虚拟计算机环境【技术领域】,具体涉及一种虚拟器件的生成和部署方法。通过把虚拟器件所使用的完整的虚拟机镜像,分解为基础模板和业务器件两个部分,来实现虚拟器件的自动生成和部署,具体包括以下步骤:(1)部署虚拟计算环境,(1.1)部署物理主机;(1.2)部署管理服务器;(2)在虚拟计算环境的支撑下,通过虚拟器件模块实现虚拟器件的生成和部署功能,分别设置以下虚拟器件模块:通用模板库;器件库;器件生成容器;器件组装容器;执行单元;(3)利用前端用户界面,创建生成虚拟器件;(4)部署虚拟器件,把保存在虚拟器件库中的虚拟器件发布到虚拟计算环境中使用时,通过前端用户界面执行虚拟器件的部署工作。本发明解决应用软件的提交、部署、配置困难耗时的问题,并解决现有商用技术中虚拟器件体积过大,下发困难的问题,能够实现应用的集中下发,零配置部署,快速上线。
【专利说明】一种虚拟器件的生成和部署方法
【技术领域】
[0001]本发明属于虚拟计算机环境【技术领域】,具体涉及一种虚拟器件的生成和部署方法。
【背景技术】
[0002]目前,虚拟化技术在IT领域的应用越来越广泛。随着近年多核系统、集群、网格以及云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
[0003]我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序,隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境,称为虚拟机,虚拟机中运行的操作系统被称为客户机操作系统;运行虚拟机的真实物理机我们称之为主机,运行虚拟机监控器的操作系统被称为主机操作系统。
[0004]在虚拟计算环境中,应用软件的开发、分发、部署过程中遇到的主要问题是:
[0005](I)开发困难,表现在开发应用软件必须考虑兼顾多个平台,如Windows、Linux等,还要注意每个平台的不同版本,如Windows XP、Windows7等。
[0006](2)部署麻烦,应用的安装通常难以避免步骤繁琐,培训困难,很容易发生问题。
[0007](3)维护困难,提供一个应用不仅包括应用软件开发商的软件,还包括操作系统、数据库、中间件、开发工具集等,这些因素都为软件的维护和升级带来风险。
[0008]为解决应用软件开发部署的困难,在虚拟计算环境中,可以使用虚拟器件技术。虚拟器件,是一个预配置的软件堆栈,包括I个或多个虚拟机,而且其中每个虚拟机都可以自运行,而且自带操作系统和相关的应用,并明确其所需的虚拟资源。虚拟器件和普通的虚拟机相比,它在跨平台、对多层架构的支持、预配置和预优化等方面都具有一定的优势。具体体现在以下几点:
[0009]一是开发简单。因为开发人员能限定应用软件所运行的操作系统、中间件和数据库等软件的版本,例如SLES11、WAS7和DB29.7等,这样将有效缩小开发和测试的范围,从而极大地降低应用开发和测试的难度与复杂度。
[0010]二是部署简单。使用虚拟器件方式部署时,无需按照先安装操作系统,再安装中间件、数据库,最后安装应用软件的方式进行部署,而是直接部署成为完整的应用系统,能将本来需要几天的工作缩短到几分钟,能将本来几十步操作精简到一步。
[0011 ] 三是维护简单。因为整个虚拟器件都是来自于同一个软件开发者(ISV),所以任何软件升级和技术支持,都只要和一个ISV联系就可以了,简化了相关流程。
[0012]对虚拟器件的需求促使开放式虚拟机格式(OVF, Open Virtualization Format)的诞生。OVF的发布者分布式任务管理组(DMTF, Distributed Management Task Force)是一家非营利性的业界成员合作组织。OVF的设计理念主要体现在下面这六个方面:
[0013](I)便于分发:支持虚拟器件的认证和完整性检验等安全措施,并提供软件许可的管理机制;[0014](2)支持多种架构:包括单个虚拟机、多个虚拟机或者多层(Mult1-Tier)架构;
[0015](3)跨平台:0VF协议不依赖于特定的虚拟化平台,例如VMware或者Xen ;
[0016](4)开放协议:0VF协议是业界几大虚拟化技术供应商之间合作的产物,并且鼓励更多的企业参与其中;
[0017](5)可扩展:0VF协议不仅能满足现有的要求,而且为了满足虚拟器件技术不断发展和某些特殊的需要,它还支持一定程度的扩展;
[0018](6)支持本地化:这将能帮助那些非英语国家的用户便利地使用。
[0019]一个OVF包中包含以下一些主要文件:
[0020](I)OVF描述文件:通常称为“0VF信封”,是一个XML文档,用于定义整个虚拟器件的组成部分(例如虚拟机),以及每个组成部分的特性和资源需求,后缀名为ovf” ;
[0021](2)虚拟磁盘文件:即虚拟机的二进制磁盘镜像;
[0022](3)清单文件:清单包含OVF包中各文件的SHA-1摘要(也称“校验和”),其作用是确保包的完整性,后缀名为mf” ;
[0023](4)证书文件:作用是通过对清单文件进行数字签名来确保整个虚拟器件的可信性,以base64编码的X.509证书形式存储,后缀名为cert” ;
[0024](5) OVF环境(Environment)文件:一个键值(Key-Value)形式的XML文档,用于设定和维护虚拟机上软件的配置,后缀名为env”。
[0025]现有的虚拟器件本身是一个完整的应用系统,已经完成了软件的安装和配置。在部署时只能修改少量操作系统基本配置,如IP地址,CPU个数等。目前虚拟器件技术已经在商用软件中得到广泛应用,如VMware, IBM, Oracle等公司都把自己的应用软件以虚拟器件的形式发布。用户通过网络下载虚拟器件,部署到虚拟计算环境中,启动虚拟机,就可以使用相应的软件,不需要考虑物理机,操作系统,运行库环境等软硬件兼容问题,也不需要进行软件的安装配置。
[0026]虚拟器件本身包含运行虚拟机的全部内容,包括操作系统、数据库、中间件和应用软件等。但是目前,操作系统对硬盘空间的要求不断变大,如WindowsXP典型安装的情况下需要几百MB,Windows7需要大约5?6GB,中标麒麟Linux操作系统需要大约2?3G。相对而言,应用软件的体积要小很多,通常不超过100MB。在很多时候,不同的信息系统所使用的虚拟器件,所使用的操作系统是相同的(比如都是WindOws2003),不同的只是应用软件部分。在这种情况下,如果下发多个虚拟器件,那么在实际上,相同的基本操作系统文件被重复下发了多次。在使用网络传输方式下发时,会造成网络带宽重复占用和数据传输时间延长;在使用光盘或移动硬盘方式下发时,会对硬盘容量造成浪费。
[0027]因此,亟需研制一种基于虚拟器件的部署方法,针对在虚拟计算环境中部署信息系统的需求,解决现有商用虚拟器件技术中器件文件过大、对传输带宽要求较大、传输时间较长,及硬盘容量浪费的问题。

【发明内容】

[0028]本发明要解决的技术问题是提供一种基于虚拟器件的部署方法,以提高虚拟器件的部署效率,减少器件分发时的磁盘容量和网络带宽要求。
[0029]为了实现这一目的,本发明采取的技术方案是:[0030]一种虚拟器件的生成和部署方法,通过把虚拟器件所使用的完整的虚拟机镜像,分解为基础模板和业务器件两个部分,在保证虚拟器件完整功能的同时有效减小需要分发的虚拟器件文件的体积,具体包括以下步骤:
[0031](I)部署虚拟计算环境
[0032](1.1)部署物理主机:上面安装以基于内核的虚拟机管理器为虚拟化层的虚拟主机服务器操作系统,并运行代理程序,与管理服务器通信,实现监控功能;
[0033](1.2)部署管理服务器:管理服务器上运行虚拟化管理工具软件,以及数据库支撑软件;
[0034](2)在虚拟计算环境的支撑下,通过虚拟器件模块实现虚拟器件的生成和部署功能,分别设置以下虚拟器件模块:
[0035](2.1)通用模板库:通过其中的模板生成虚拟机;模板是已经安装了基本操作系统的虚拟机镜像文件;
[0036](2.2)器件库:用来保存虚拟计算环境所有的虚拟器件,通过虚拟器件提供业务运行能力;其中的每一个虚拟器件都预先安装操作系统和业务应用软件,并明确其所需的虚拟资源;
[0037](2.3)器件生成容器:通过器件生成容器中的模板创建中间状态虚拟机,安装和配置应用软件,把中间状态虚拟机转换为虚拟器件;器件生成容器包括:命令解析器;模板装载程序;器件生成程序;
[0038](2.4)器件组装容器:通过其从器件库载入虚拟器件,组装器件,并进行激活和基本配置,把配置好的应用发布到虚拟计算环境中;器件组装容器包括:命令解析器、器件解析程序、器件装配程序、器件激活程序、自动配置程序、器件发布程序;
[0039](2.5)执行单元:通过其来虚拟计算环境的前端用户界面和其它模块调用虚拟器件运行模块的接口,根据操作指令调用虚拟器件运行模块;
[0040](3)利用前端用户界面,创建生成虚拟器件:
[0041](3.1)通过前端用户界面输入虚拟器件的基本信息;
[0042](3.2)使用前端用户界面,通过执行单元,调用器件生成容器的命令解析器;
[0043](3.3)模板装载程序从通用模板库中载入模板,生成临时的中间状态虚拟机;中间状态虚拟机的虚拟磁盘文件包括2部分:基本模板文件和磁盘差异文件,其中基本模板文件是通用模板库中的模板,磁盘差异文件记录虚拟机磁盘和通用模板的差异部分;
[0044](3.4)通过虚拟机激活程序把虚拟机启动,交付使用;
[0045](3.5)在中间态虚拟机中安装应用软件,并进行功能验证;
[0046](3.6)器件生成程序把中间态虚拟机的虚拟磁盘文件保存为虚拟器件;在保存时,只保存磁盘差异文件,不保存基本模板文件。
[0047](4)部署虚拟器件:
[0048]把保存在虚拟器件库中的虚拟器件发布到虚拟计算环境中使用时,通过前端用户界面执行虚拟器件的部署工作:
[0049](4.1)通过前端用户界面,使用执行单元,调用器件组装容器的命令解析器;
[0050](4.2)载入虚拟器件后,通过器件解析程序把虚拟器件解开,解析器件的虚拟机所使用的模板;[0051](4.3)根据器件的配置,模板组装程序从通用模板库中载入对应的操作系统模板,并和器件中的磁盘差异文件业务器件文件组合成完整的虚拟机镜像;
[0052](4.4)器件激活程序根据器件的配置,按照器件要求的资源配置启动虚拟机;
[0053](4.5)自动配置程序根据用户的配置,修改虚拟机的基本配置,包括IP地址,主机名,用户密码;
[0054](4.6)器件发布程序把已经激活的虚拟器件发布到虚拟计算环境中,提供服务。
[0055]进一步的,如上所述的一种虚拟器件的自动生成和部署方法,步骤(2.1)中,虚拟计算环境提供不同标准的操作系统模板,保证不同单位部署的虚拟计算环境中使用的模板相同。
[0056]进一步的,如上所述的一种虚拟器件的自动生成和部署方法,步骤(2.2)中,器件库中的虚拟器件的来源包括2种:其它单位下发的、在本虚拟计算环境中生成的。
[0057]进一步的,如上所述的一种虚拟器件的自动生成和部署方法,步骤(3.1)中,虚拟器件的基本信息包括名称、功能说明。
[0058]进一步的,如上所述的一种虚拟器件的自动生成和部署方法,步骤(3.5)中,用户在中间态虚拟机中安装应用软件的安装方法选自以下两种方法中的一种:从段服务器安装、把文件直接复制到虚拟机镜像中。
[0059]本发明技术方案通过提出组装式虚拟器件模型技术,利用虚拟器件技术,解决应用软件的提交、部署、配置困难耗时的问题,并解决现有商用技术中虚拟器件体积过大,下发困难的问题,能够实现应用的集中下发,零配置部署,快速上线,从而解决了应用软件的部署问题。而且这种组装式虚拟器件技术可应用于基础软件和应用软件在虚拟计算环境中的部署。
【专利附图】

【附图说明】
[0060]图1是本发明技术方案中器件生成流程图;
[0061]图2是本发明技术方案中器件组装流程图。
【具体实施方式】
[0062]下面结合附图和具体实施例对本发明技术方案进行详细说明。
[0063]一种虚拟器件的自动生成和部署方法,通过把虚拟器件所使用的完整的虚拟机镜像,分解为基础模板和业务器件两个部分,来实现虚拟器件的自动生成和部署,具体包括以下步骤:
[0064](I)部署虚拟计算环境
[0065](1.1)部署物理主机:上面安装以基于内核的虚拟机管理器为虚拟化层的虚拟主机服务器操作系统,并运行代理程序,与管理服务器通信,实现监控功能;
[0066](1.2)部署管理服务器:上面运行由虚拟化管理工具软件,以及数据库支撑软件;
[0067](2)在虚拟计算环境的支撑下,通过虚拟器件模块实现虚拟器件的生成和部署功能,分别设置以下虚拟器件模块:
[0068](2.1)通用模板库:通过其中的模板生成虚拟机;模板是已经安装了基本操作系统的虚拟机镜像文件;虚拟计算环境提供不同标准的操作系统模板,保证不同单位部署的虚拟计算环境中使用的模板相同。
[0069](2.2)器件库:用来保存虚拟计算环境所有的虚拟器件,通过虚拟器件提供业务运行能力;其中的每一个虚拟器件都预先安装操作系统和业务应用软件,并明确其所需的虚拟资源;器件库中的虚拟器件的来源包括2种:其它单位下发的、在本虚拟计算环境中生成的。
[0070](2.3)器件生成容器:通过器件生成容器中的模板创建中间状态虚拟机,安装和配置应用软件,把中间状态虚拟机转换为虚拟器件;
[0071]如图1所示,器件生成容器包括:命令解析器;模板装载程序;器件生成程序;
[0072](2.4)器件组装容器:通过其从器件库载入虚拟器件,组装器件,并进行激活和基本配置,把配置好的应用发布到虚拟计算环境中;
[0073]如图2所示,器件组装器包括:命令解析器、器件解析程序、器件装配程序、器件激活程序、自动配置程序、器件发布程序;
[0074](2.5)执行单元:通过其来虚拟计算环境的前端用户界面和其它模块调用虚拟器件运行模块的接口,根据操作指令调用虚拟器件运行模块;
[0075](3)利用前端用户界面,创建生成虚拟器件:
[0076](3.1)通过前端用户界面输入虚拟器件的基本信息;虚拟器件的基本信息包括名称、功能说明。
[0077](3.2)使用前端用户界面,通过执行单元,调用器件生成容器的命令解析器;
[0078](3.3)模板装载程序从通用模板库中载入模板,生成临时的中间状态虚拟机;中间状态虚拟机的虚拟磁盘文件包括2部分:基本模板文件和磁盘差异文件,其中基本模板文件是通用模板库中的模板,磁盘差异文件记录虚拟机磁盘和通用模板的差异部分;
[0079](3.4)通过虚拟机激活程序把虚拟机启动,交付使用;
[0080](3.5)在中间态虚拟机中安装应用软件,并进行功能验证;
[0081]用户在中间态虚拟机中安装应用软件的安装方法选自以下两种方法中的一种:从段服务器安装、把文件直接复制到虚拟机镜像中。
[0082](3.6)器件生成程序把中间态虚拟机的虚拟磁盘文件保存为虚拟器件;在保存时,只保存磁盘差异文件,不保存基本模板文件;
[0083](4)部署虚拟器件:
[0084]把保存在虚拟器件库中的虚拟器件发布到虚拟计算环境中使用时,通过前端用户界面执行虚拟器件的部署工作:
[0085](4.1)通过前端用户界面,使用执行单元,调用器件组装容器的命令解析器;
[0086](4.2)载入虚拟器件后,通过器件解析程序把虚拟器件解开,解析器件的虚拟机所使用的模板;
[0087](4.3)根据器件的配置,模板组装程序从通用模板库中载入对应的操作系统模板,和器件中的磁盘差异文件业务器件文件组合成完整的虚拟机镜像;
[0088](4.4)器件激活程序根据器件的配置,按照器件要求的资源配置启动虚拟机;
[0089](4.5)自动配置程序根据用户的配置,修改虚拟机的基本配置,包括IP地址,主机名,用户密码;
[0090](4.6)器件发布程序把已经激活的虚拟器件发布到虚拟计算环境中,提供服务。
【权利要求】
1.一种虚拟器件的自动生成和部署方法,其特征在于:通过把虚拟器件所使用的完整的虚拟机镜像,分解为基础模板和业务器件两个部分,来实现虚拟器件的自动生成和部署,具体包括以下步骤: (1)部署虚拟计算环境 (1.1)部署物理主机:上面安装以基于内核的虚拟机管理器为虚拟化层的虚拟主机服务器操作系统,并运行代理程序,与管理服务器通信,实现监控功能; (1.2)部署管理服务器:上面运行由虚拟化管理工具软件,以及数据库支撑软件; (2)在虚拟计算环境的支撑下,通过虚拟器件模块实现虚拟器件的生成和部署功能,分别设置以下虚拟器件模块: (2.1)通用模板库:通过其中的模板生成虚拟机;模板是已经安装了基本操作系统的虚拟机镜像文件; (2.2)器件库:用来保存虚拟计算环境所有的虚拟器件,通过虚拟器件提供业务运行能力;其中的每一个虚拟器件都预先安装操作系统和业务应用软件,并明确其所需的虚拟资源; (2.3)器件生成容器:通过器件生成容器中的模板创建中间状态虚拟机,安装和配置应用软件,把中间状态虚拟机转换为虚拟器件; 器件生成容器包括:命令 解析器;模板装载程序;器件生成程序; (2.4)器件组装容器:通过其从器件库载入虚拟器件,组装器件,并进行激活和基本配置,把配置好的应用发布到虚拟计算环境中; 器件组装器包括:命令解析器、器件解析程序、器件装配程序、器件激活程序、自动配置程序、器件发布程序; (2.5)执行单元:通过其来虚拟计算环境的前端用户界面和其它模块调用虚拟器件运行模块的接口,根据操作指令调用虚拟器件运行模块; (3)利用前端用户界面,创建生成虚拟器件 (3.1)通过前端用户界面输入虚拟器件的基本信息; (3.2)使用前端用户界面,通过执行单元,调用器件生成容器的命令解析器; (3.3)模板装载程序从通用模板库中载入模板,生成临时的中间状态虚拟机;中间状态虚拟机的虚拟磁盘文件包括2部分:基本模板文件和磁盘差异文件,其中基本模板文件是通用模板库中的模板,磁盘差异文件记录虚拟机磁盘和通用模板的差异部分; (3.4)通过虚拟机激活程序把虚拟机启动,交付使用; (3.5)在中间态虚拟机中安装应用软件,并进行功能验证; (3.6)器件生成程序把中间态虚拟机的虚拟磁盘文件保存为虚拟器件;在保存时,只保存磁盘差异文件,不保存基本模板文件; (4)部署虚拟器件 把保存在虚拟器件库中的虚拟器件发布到虚拟计算环境中使用时,通过前端用户界面执行虚拟器件的部署工作: (4.1)通过前端用户界面,使用执行单元,调用器件组装容器的命令解析器; (4.2)载入虚拟器件后,通过器件解析程序把虚拟器件解开,解析器件的虚拟机所使用的模板;(4.3)根据器件的配置,模板组装程序从通用模板库中载入对应的操作系统模板,和器件中的磁盘差异文件业务器件文件组合成完整的虚拟机镜像; (4.4)器件激活程序根据器件的配置,按照器件要求的资源配置启动虚拟机; (4.5)自动配置程序根据用户的配置,修改虚拟机的基本配置,包括IP地址,主机名,用户密码; (4.6)器件发布程序把已经激活的虚拟器件发布到虚拟计算环境中,提供服务。
2.如权利要求1所述的一种虚拟器件的自动生成和部署方法,其特征在于:步骤(2.1)中,虚拟计算环境提供不同标准的操作系统模板,保证不同单位部署的虚拟计算环境中使用的模板相同。
3.如权利要求1所述的一种虚拟器件的自动生成和部署方法,其特征在于:步骤(2.2)中,器件库中的虚拟器件的来源包括2种:其它单位下发的、在本虚拟计算环境中生成的。
4.如权利要求1所述的一种虚拟器件的自动生成和部署方法,其特征在于:步骤(3.1)中,虚拟器件的基本信息包括名称、功能说明。
5.如权利要求1所述的一种虚拟器件的自动生成和部署方法,其特征在于:步骤(3.5)中,用户在中间态虚拟机中安装应用软件的安装方法选自以下两种方法中的一种:从段服务器安装、把文 件直接复制到虚拟机镜像中。
【文档编号】G06F9/445GK103793259SQ201310460402
【公开日】2014年5月14日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】刘东红, 刘魏, 李永红, 郭长国, 王超, 张志高 申请人:中国电子设备系统工程公司研究所, 普华基础软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1