程 莹,张云勇,刘 露,贾兴华
(1.中国联通研究院 北京 100048;2.中国联合通信网络有限公司技术部 北京 100140)
云计算技术通过提供灵活、按需服务的IT基础设施架构,促使信息处理方式正发生着革命性的转变。其核心包括虚拟化技术和海量数据处理技术。其中,虚拟化技术所带来的独立性、高度整合性和移动性,为计算资源池化提供了实现的可能,它通过消除应用层和物理主机之间的障碍,使IT部署更为轻松便捷,工作负载的移动性也得到了显著增强,从而改变了当前IT的基础架构 、流 程 以 及 成 本[1,2]。
目前,业内推出的各种云计算方案,由于维护其正常运行的技术标准多有不同,厂商间由于商业利益的原因导致云计算产品往往自成体系,使得希望提供公共计算服务的运营商很难在不被特定厂家锁定的情况下提供池化的计算服务,这极大地限制了云计算的普及和推广。因此,标准的缺失已经严重限制了云计算的进一步发展并释放其全部潜能,制定行业互操作性是当前亟待解决的问题。惟有如此,用户才能放心地选择云计算技术,获得按需服务的灵活性。同时,这也有助于IT技术厂商专注于改进产品的功能、可靠性及性能,而不再将重点放在格式和协议上。
虚拟化技术在提高系统管理的自动化程度和加快应用部署速度等方面具有卓越的潜力和优势,然而目前大多数系统管理员在部署应用时依然采用物理机时代的方式,不断重复地从底层操作系统、支撑应用的软件、配置应用、激活软件、优化系统、软件设置等逐层配置,花大量的时间在重复的工作上,有碍于系统管理的自动化和应用的快速部署。
正是在这样的背景下,虚拟器件(virtual appliance)的概念应运而生,它定义了一个预配置的软件堆栈,包括一个或多个虚拟机,每个虚拟机都自带操作系统和相关应用,可自运行,并明确了其所需的虚拟资源。虚拟器件主要应用于发布和部署,支持跨平台、预配置、多层架构,同时在安全性方面也有所覆盖。下面简要介绍虚拟器件和虚拟机的主要区别以及虚拟器件的生命周期。
虚拟器件和虚拟机的对比分析见表1。从表中可以看出,虚拟器件完全具备普通虚拟机的优势并且在安全措施方面更为灵活,同时支持多个虚拟机不具备的功能,主要包括跨平台、多层架构部署、预配置和预优化、应用激活和调优以及许可证和清单管理。
表1 虚拟器件与虚拟机的对比分析
虚拟器件的生命周期主要包括开发→封装和分发→部署→管理→下线[3]。
(1)开发
分析应用的环境需求;准备和启动一个或多个操作系统虚拟镜像;安装支撑应用的软件;安装配置应用;安装用于激活的软件;优化系统和软件设置。
(2)封装和分发
将虚拟镜像和必要的格式封装成虚拟器件;在本地调试虚拟器件包。
(3)部署
在虚拟化平台上部署虚拟器件包;启动已经部署成功的虚拟器件;激活已部署的虚拟器件的网络和软件设置。
(4)管理
监控虚拟器件的资源利用率和SLA。
(5)下线
删除或存档这个虚拟器件,同时释放该虚拟器件所占用的资源。
以虚拟器件生命周期为核心的管理模式,将极大提高数据中心资源池化的自动化部署程度。从上面的介绍可以看到,虚拟器件已将一系列繁冗重复的步骤抽象并流程化,从而尽最大可能地流程化,使得虚拟器件在系统管理和应用部署方面的价值发挥到最大。
从前面的介绍不难看出,虚拟器件的优势主要包括:简化开发并降低测试的成本;加快发布的速度;提供更可靠的安全保障;支持多层架构的应用;避免被特定厂商垄断;降低维护和购买成本;采用类似Apple的App Store模式,从而降低虚拟化技术应用的复杂度。
虚拟器件的设计导致了它所需的空间比单纯的应用大很多,因为每个虚拟器件包至少要包含一个操作系统。对于那些安全非常方便且轻量级的软件,虚拟器件不是最佳的发布方式。
另外,很难对现有的虚拟器件进行有效的更新。因为现在常用的更新方式是以虚拟器件为单位的,假设要更新这个虚拟器件,首先要重新下载一个新版本,用新版本替换旧版本。这样的模式很难在现有虚拟器件基础上做细粒度的更新。
为了使虚拟器件的概念落到实处,DMTF(distributed management task force,分布式管理任务组)创建了OVF(open virtualization format,开放虚拟化格式)标准,并且将其作为 VMAN(virtualization management,虚拟化管理)项目的组成部分,旨在推动虚拟化的管理和互操作性。目前已开发至1.1版本。该标准描述了开放、安全、可移动、高效并且可扩展的格式,可应用于运行于虚拟机之上软件的封装和分发。OVF1.1目前处于虚拟器件生命周期中封装、分发和部署的阶段。OVF1.1采用XML文件捕获虚拟器件的元数据,该文件主要包括虚拟机的元数据和其他多个组成部分——虚拟磁盘、网络及资源的需求(如CPU和内存限制)、软件许可、虚拟机启动顺序以及一个或多个虚拟机的配置信息。OVF是可扩展的同时允许OVF包的创建者加入额外的元数据信息。
OVF1.1 标准[4]中定义了 OVF 包(OVF package)结构和OVF 环境文件(OVF environment)等内容。
作为OVF标准的核心,OVF包中包括5种文件,见表2。其中,OVF描述符文件、OVF清单文件和OVF认证文件需要同名。
表2 OVF包文件描述
OVF描述符文件是虚拟器件的核心文件,所有关于包的元数据及其内容都存储在OVF描述符文件中,它是一个可扩展的XML文件,便于写入信息,包括软件产品细节、虚拟硬件需求以及软件版权。OVF描述符文件包括一个信封(envelope)元素,它是描述符文件中的核心内容。信封元素描述了虚拟机的所有元数据,包括虚拟硬件和OVF包本身的结构等内容。主要元数据模块见表3[5]。
表3 OVF信封主要元数据模块
OVF环境文件也是一个XML文档[6],它定义了运行于虚拟机之上的软件(包括操作系统、应用软件及服务)与部署平台间的交互方式,应用于部署阶段。它由OVF部署平台在部署OVF包的过程中生成,并提供给已部署虚拟系统中的软件使用。OVF环境文件的作用是提供已部署在OVF包中的软件的配置、属性等信息。在OVF包的部署过程中,部署平台将收集与自定义属性键相关的值,并构建OVF环境文件。
OVF环境文件包括协议 (protocol)模块和通信(transport)模块。其中,协议模块定义了XML文档的格式和语义,从而可以配置OVF包中软件。通信模块定义了部署平台和OVF包内软件如何交互。
OVF环境文件部署的具体流程如下:
·部署工具提示用户确定信封的产品模块内的软件配置选项;
·部署工具通过用户的数据生成OVF环境文件并将其传入虚拟机中;
·虚拟机上软件会读取这个环境文件,并执行相关操作。
OVF1.1发布以来,得到了业内主流厂商的关注和重视,目前已经有多家厂商在产品设计时采纳了OVF协议并将其作为核心的部署模型,主要包括VMware的vCloud Express、IBM的WebSphere CloudBurst Appliance以及开源的Xen Cloud Platform等。
OVF协议本身作为DMTF中VMAN项目的基础和核心组成部分,为虚拟化管理、云平台互操作性提供了实现的可能和依据[3,7]。OVF协议已取得了业内多家厂商的认可和跟进,正提交至国际三大标准组织ISO、IEC和ITU,已获得初步肯定。DMTF正在开展OVF2.0的开发工作,不仅包括虚拟机的封装,还将涉及防火墙、负载均衡、QoS、SLA、网络基础设施等内容。但是,必须看到,OVF协议目前还不够完善,在虚拟器件生命周期中仅涉及了封装和部署两个阶段,在后续同样重要的平台管理方面缺乏支持,限制了它的推广。另外,目前实现的功能也需进一步强化,特别是在OVF包的软件激活上。
虚拟器件的发展将突破目前虚拟化管理和互操作上厂商各自为战的“战国时代”,打破厂商自成体系的产品壁垒,为云计算标准化打下坚实的基础,使计算资源池化成为可能,实现按需服务的灵活性。OVF协议是虚拟器件思想的协议级实现,目前已经得到多家厂商的跟进并获得国际标准化组织的初步认可,未来在深度和广度上的加强和扩展将极大地推动云计算的普及和推广。
1 童晓渝,张云勇,戴元顺.从公众通信网向公众计算通信网演进.电信科学,2010,26(6)
2 刘鹏.云计算.北京:电子工业出版社,2010
3 DMTF VMAN Technical Note.Virtualization management(VMAN)initiative,2010
4 DMTF DSP0243_1.1.0.Open virtualization format specification,2010
5 DMTF dsp8023_1.1 OVF envelope XSD.xml,2010
6 DMTF dsp8027_1.1 OVF environment XSD.xml,2010
7 DMTF VMAN&Cloud Interoperability Overview Document.Virtualization management(VMAN):a building block for cloud interoperability,2009