虚拟化与信息资源云服务
2012-04-29陈琪陆颖隽李志芳邓仲华
陈琪 陆颖隽 李志芳 邓仲华
摘 要:虚拟化是信息资源云实现的技术手段,它能够大幅度提高云计算系统中资源和应用程序的可用性和效率,并显著简化基础设施、优化资源以及降低风险。文章以云环境下的信息资源为对象,针对云环境下信息资源的用户需求,利用虚拟化技术,构建了信息资源云虚拟模型,详细阐述了其模型在网络、服务器、存储以及数据等方面实现信息资源云的方式。
关键词:虚拟化 信息资源云 云计算 信息资源
中图分类号: G203文献标识码: A 文章编号: 1003-6938(2012)03-0006-05
Virtualization and the Cloud Service of Information Resources
Abstract Virtualization is the technical means to achieve the information resources cloud. It can improve the availability and efficiency of the cloud computing system resources and applications, simplify the infrastructure, optimize resources and reduce risk significantly. This paper focuses on information resources and users' need in the cloud environment, using of virtualization technology to build a virtual model of information resources cloud. This paper elaborates on the manners of networks, servers, storage, and data information cloud resources virtualization.
Key words virtualization; information resource cloud; cloud computing; information resource
1 引言
信息资源云是采用云计算理念而构筑的信息资源管理平台和服务模式。信息资源云不需要改变现有互联网资源的分布,而是采用虚拟化与信息资源集成的相关技术,将信息资源加以虚拟化与集成,并进行知识层面的组织、构建,加以服务质量的保证,达到为用户提供安全可靠的按需知识服务的目的。虚拟化是信息资源云构建的核心内容之一,包括服务器虚拟化、存储虚拟化、网络虚拟化及数据虚拟化等。可以说,用户的存储环境越复杂,虚拟化带来的好处就越明显。具体来说,虚拟化对信息资源云的意义有如下几点:
(1)虚拟化可以简化对资源的表示、访问和管理,并为这些资源提供标准的接口,让用户透明访问,按需获得。
(2)虚拟化对面向用户的应用进行优化,并可以减轻与存储有关的管理负担,并为数据中心的迁移、备份、灾难恢复及负载平衡提供更好的模式。
(3)虚拟化还可以通过虚拟若干个机器来实现不同应用的实现,以此来形成隔离,通过隔离可以解决各类冲突,并且提高了资源处理效率。
(4)虚拟化降低了用户与资源之间的耦合程度,使用户并不依赖于资源的特定实现,也增强了资源的动态可扩展性。
(5)虚拟化可以利用很多低成本设施集成整合后,在云端统一提供良好的服务,大大节省了提供商的开发费用和用户的使用成本。
(6)虚拟化有助于建立弹性伸缩的应用架构,用户可按需使用,随时满足不同业务需求。用户申请的主机服务可实现快速供应和部署(实时在线开通),且在数分钟内即可快速实现云服务器配置的按需扩容或减配。
2 相关的研究
信息资源云服务的核心就在于构建一个虚拟资源池,为上层提供逻辑服务,下层虚拟化技术的支撑[1]。通过资源建模、资源虚拟化、异构数据集成以及服务定制等,建立一个包括资源层、物理服务层和逻辑服务层的三层资源虚拟化模型[2]。目前国内的虚拟化研究主要是利用虚拟化的相关技术,提出了云制造资源虚拟化框架。这些框架侧重于上层的数据资源,对于云环境下的其他基础设施资源涉及较少[3]。对于技术层面,如虚拟化容器整合模块和虚拟资源调度模块的设计可以借鉴Platfom公司云计算平台Excalibur[4]。
随着SOA技术和网格应用的发展,上层服务虚拟化的研究有较大进展[5]。服务是资源载体,服务虚拟化就是指使用一定的方法或者技术手段,为达到灵活,低成本使用服务的目的,对服务进行加工、抽象、转换,在不改变原有服务功能的前提下,生成新的适合用户要求的虚拟服务[6]。也有学者[7]提到了虚拟服务和物理服务的概念,认为虚拟服务是一组物理服务的集合,这些服务不仅具有相同的操作集合还可通过相同的方式调用。同样,信息资源的云服务也可以借鉴这一理念,将物理信息资源向虚拟资源转换,形成逻辑服务层。
在国外,Mouradl[8]等人在2004年提出了一个类似的三层服务查询模型,最底层是具体的物理服务,中间是特定领域的虚拟操作,上层是查询级别的视图,是虚拟操作联合视图,这里的虚拟操作联合视图是从用户的使用角度去定义。这个模型对虚拟化过程描绘出一个大致的框架。本文在此基础上又加以扩充,使概念更加实物化。2010年,Fabio Baroncelli等人[9]提出一个结合软件实施和网络信号发送的完整设计,使网络即服务可以和其他云服务(例如存储服务)进行连接配置,这对信息资源虚拟化底层基础设施所需的网络虚拟化提供了启示。
3 信息资源云的虚拟模型
本文虚拟化技术引入资源虚拟化的抽象层次模型中,结合云环境下信息资源特有属性进行了扩充,建立一个实现信息资源云虚拟化的模型。它从用户利用的角度实现了虚拟化,可以动态、透明、低成本地使用信息资源(模型的整体框架见图1)。
3.1 网络层
网络虚拟化是实现信息资源虚拟化的最基础的一层,物理主机不仅是信息资源的重要载体也是信息资源云的重要组成部分。目前主要通过VMware vSphere中的vNetwork网络元素实现。
网络虚拟采用刘鹏提出的方案[10]。在指定物理服务器上的虚拟机之间,利用分布式交换机将它们进行集成,作为单个虚拟交换机使用。这使得虚拟机在跨主机迁移时可确保其网络配置保持一致。交换机的一端与端口组相连,一端是上行链路,与虚拟机所在服务器上的物理以太网适配器相连。虚拟交换机可将其上行链路链接到多个物理以太网适配器以启用网卡绑定。通过网卡绑定,两个或多个物理适配器可分摊流量负载,或在物理适配器硬件或网络出现故障时提供被动故障切换。与同一端口组相连的所有虚拟机,即使属于不同的物理服务器,也在虚拟环境内的同一网络中。从虚拟机的角度看,客户操作系统中的通信过程就像与真实物理设备通信一样。从虚拟机外部看,vNIC(虚拟网络接口卡)拥有独立的MAC地址以及一个或多个IP地址,且遵守标准的以太网协议。它可以将离散的硬件资源统一起来以创建共享动态平台,同时实现应用程序的内置可用性、安全性和可扩展性。
网络虚拟化可以使部署在数据中心物理主机上的虚拟机可以像物理环境一样进行网络互联,而不用关心它具体属于哪个网络,消除了不同网络之间的界限,满足透明化的要求。
3.2 资源层
网络虚拟化使主机可以不分地域、属性等限制性因素按需使用,在此基础上,需要实现存储和服务器的虚拟化,以使存储其中的数据实现虚拟化。
3.2.1 虚拟存储资源
虚拟存储资源可使传统环境下的存储介质,转变成云环境下所需要的模式。目前云存储系统通常将虚拟化存储分为三层[11]:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。
物理设备层:主要用来进行数据块级别的资源分配和管理,利用底层物理设备创建一个连续的逻辑地址空间,即存储池。根据物理设备的属性和用户的需求,存储池可以有多个不同的数据属性,例如读写特征、性能权重和可靠性等级。
存储节点层:实现存储节点内部多个存储池之间的资源分配和管理,将一个或者多个按需分配的存储池整合为在存储节点范围内的统一的虚拟存储池。该层由存储节点虚拟模块在存储节点内部实现,对下管理按需分配的存储设备,对上支持存储区域网络虚拟化层。
存储区域网络层:实现存储节点之间的资源分配和管理,集中管理所有存储设备上的存储池,以组成一个统一的虚拟存储池。该层由虚拟存储管理模块在虚拟存储管理服务器上实现,以带外虚拟化方式管理虚拟存储系统的资源分配,为虚拟磁盘管理提供地址映射、查询等服务。
虚拟化存储中引入双层地址空间映射机制来,构建两个逻辑部分和一个映射组件构成,全局扩展地址空间用于管理所有映射到本地扩展地址空间的远程空闲内存,逻辑扩展地址空间则用于扩展本地物理地址空间。最终,由映射组件根据一定的规则完成从全局扩展地址空间到逻辑扩展地址空间的映射,以此构建跨越物理服务器资源边界的内存资源抽象。此外,利用气球驱动技术、页面交换(swap)技术、基于内容的页面共享技术、页面补丁技术等,通过释放空闲内存和使用远程内存的方式来达到动态调解虚拟机内存分配大小,把远程内存作为附加的存储层次的方式来调解内存分配可以达到最大优化内存资源配置[12]。云存储的每一块数据都有若干备份存储在不同的节点中,当云中的某个节点发生错误时,由监控器传递信号,进行虚拟机快速迁移,节点可以动态的添加和移除,比原始的存储方式具有更高的可扩展性[13]。
实现信息资源虚拟化最关键的就是实现存储的虚拟化。目前较为流行的HDFS(Hadoop Distributed File System)、 vSphere的高性能集群文件系统和GFS都是云环境可应用的分布式文件系统,具有高容错性,并且可以被部署在低价的硬件设备之上。
3.2.2 虚拟服务器
虚拟服务器也称为vps主机,相对于真实主机而言,采用特殊的软硬件技术把一台完整的服务器主机分成若干个主机。
服务器虚拟化可用两种方式。一是软件虚拟化,另一种是硬件虚拟化。适当地配置运行服务器,可使同一台物理服务器上运行多个虚拟机、服务器或桌面。每一个虚拟机都不需要自己的电源,都不会产生自己的热量,也都不需要空间,但这些虚拟机中都可以贡献相同的服务并同时在一台物理机器上运行。这样,每个数据中心的利用率大大提高,节省了大量空间。
信息资源的使用是依托于服务器的,服务器虚拟化能够通过区分资源的优先次序,随时随地将服务器资源分配给最需要它们的工作负载,来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源,在资源调度中起了重要作用。
3.2.3 虚拟数据中心
信息资源虚拟化的结果就像是一个巨大的数据中心,它可以源源不断地按需输出内容,也可以被狭义地称为数据虚拟化。
在存储和服务器虚拟化的基础上,云计算注重把封装好的通用服务以及资源提供给用户,对异构资源的处理不是依靠中间件,而是针对不同资源不同处理。当呼应程序时,为其分配一种CPU、内存及软件,而不会是异构的资源,这样便于管理,也节约了成本。所以,虚拟数据中心中的资源可以按照同构类型资源,将属性相近的集中在一起,再通过物理到逻辑的映射进行整合。
虚拟数据中心能够将来自不同数据源的数据汇入到抽象的服务层。这有助于减小对物理存储系统的需要,又为使用数据的所有应用程序(尤其是商业智能系统、分析系统和事务系统)提供了统一接口。
3.2.4 虚拟资源管理层
要实现按需、动态、有效的供给,就必须对各种虚拟化方式进行合理组织。管理层负责存储管理、调度监控、桌面实例化、QoS评价、安全等等。
服务器等虚拟化后,规模增加,且所具有的迁移特性使虚拟服务器在网络中的物理位置变得难得可视化。管理层可以引入资源视图和虚拟拓扑来进行资源管理。通过虚拟资源视图可以查看物理服务器、虚拟交换机、VM的资源从属关系信息、网络的配置能力。虚拟网络的拓扑数据使所有节点都聚合到物理服务器节点上,同时又能体现物理服务器内部的虚拟世界。
监控器负责在接收请求后,查看虚拟机的可用性和资源应有权,监控资源存储运行状况,当发现存储节点已经失效时,控制节点能够将工作负载交给那些运行正常的存储节点来完成。
桌面实例化即虚拟桌面,它可以融合所有软件实例的显示窗口,真正给用户呈现一种虚拟化的体验。它可以通过请求、验证信息、连接、启用列表、应用、取消连接这一流程实现本地桌面和虚拟桌面的融合。终端用户设备成为轻量级计算机,只处理键盘,鼠标,显示器及本地相连的扫描仪和打印机任务,可以真正实现随地随用。相对于传统的“胖桌面”它有以下优势:①成本降低、可管理性、安全性、灵活性和可重置性提高;②只将所需要的应用窗口推送给客户;③动态分配资源,高性能和负载平衡;④拥有控制客户与服务器之间交互的协议[14]。
安全管理执行第三方认证、授权、验证用户身份的任务,还可以通过用户文件信息动态探测其忠实度改变情况,保护敏感数据。
3.2.5 虚拟资源执行层
虚拟执行层的核心功能是支持虚拟资源任务的执行。
资源调度是提高云环境下资源利用效率的重要环节。对于每项服务,我们建立了一个负载模型,基于历史数据分析及外部事件迹象等,预测实时的请求量以满足给定时间点的资源需求[15]。资源调度一般包括四个步骤:资源请求,资源探测,资源选择,资源监控。
首先探测用户需求和资源,然后根据探测到的资源指标和预先定义的资源调度策略,对资源进行评估,从候选资源列表中根据选择最优资源,并根据策略和评估结果去执行相应的行为。接着,将虚拟机启动到合适的机器上,使得资源池中的资源得到合理的利用。调度迁移策略能根据用户需求,合理关闭闲置服务器或启动多台虚拟机去完成负载比较大的任务时,将负载平衡。
在虚拟执行环境中,资源不会意识到虚拟层的存在,而会像在传统计算环境下一样运行,为虚拟资源提供一个独立的环境。对于软件资源来说,只要部分甚至不用安装在系统上,虚拟软件就可以动态部署[16]。
3.3 物理服务层
由于资源并没有进行服务化,信息资源池并不能立即向外界提供服务,还不能完全实现虚拟化所要求的按需。
物理服务层主要解决资源统一标准、统一调用接口的问题,资源服务化封装是虚拟化的一种方法。资源封装的具体步骤是:①描述资源:选择相应的资源描述模板,按要求填写相应的资源属性信息,形成XML格式的资源属性文档;②按需打包形成资源实现类;③部署资源:调用资源适配器的加入接口,加入到资源适配器中。资源适配器会自动生成资源,同时获得资源实现类的相关信息,完成资源的服务化封装,对外呈现统一的调用接口。资源到服务的映射分为:一对一,资源能完成的功能比较单一,直接封装为服务的形式;多对一,多个组合资源表示为提供单一接口的单个逻辑表示形式;一对多,针对功能比较强大资源,各功能之间又相互独立,可以按照功能分别封装成能完成不同功能的服务[17]。
3.4 逻辑服务层
逻辑服务层将服务功能从具体的服务中抽象出来,以逻辑服务的形式予以描述,形成逻辑服务层,满足动态变化的需求或者特定业务的需要。
物理服务和逻辑服务的描述主要从功能和非功能属性两个方面来刻画。其中,功能属性描述是服务的内在处理逻辑,是对服务能够做什么的描述;非功能属性有的叫做服务质量(Qos) [18],它描述的是服务在使用时的外部表现,如性能、价格、可靠性、可用性和安全性等。
物理服务到逻辑层的映射有两种:①功能相同,非功能属性取值不同的多个物理资源。这些物理服务能完成同样的业务功能,是同类服务,虚拟化为一个逻辑服务,在实际运行时根据具体的非功能属性要求,选择合适的物理资源使用;②功能相同、非功能属性也相同的多个物理资源。为了增加容错能力或解决负载平衡等问题,一个物理服务复制多份,部署在多个机器上,具体调用物理服务时,可以根据当时服务运行情况等动态选择一个[17]。
上述模型基本覆盖了硬件、软件及数据的虚拟化实现方式,从上到下各层并不是界限分明、独立作用的,而是相辅相成,互相渗透的。
4 结语
本文的模型立足于云环境下信息资源传播方式和组织形态的变化,从用户需求出发,研究以需求为导向的面向用户的信息资源云平台的服务模型及体系。在模型构建的基础上,结合虚拟化硬件技术以及虚拟化资源管理思想,系统探讨了从最底层网络层到顶层逻辑服务层的信息资源云实现的方法,为信息资源的虚拟化及集成提供了理论支撑。下一步还需要在信息的具体组织方式,知识服务层的实现方式等等方面,进行深入研究与细化。
参考文献:
[1]周冠宇.云计算的虚拟技术架构分析[J]. 移动通信,2011,35(9):9-13.
[2]王锐.数字博物馆资源虚拟化与数据集成方法研究[D].山东:山东大学计算机软件与理论专业学位论文,2010.
[3]任磊等.云制造资源虚拟化研究[J].计算机集成制造系统,2011,17(3):511-518.
[4]肖菲.虚拟化云计算中资源管理的研究与实现[D].西安:西安电子科技大学软件工程专业学位论文,2010.
[5]Service Virtualization: Key to Managing Change in SOA[EB/OL].[2012-03-10].http://www.bitpipe.com/detail/RES/1130171201_512.html.
[6]赵卓峰等.一种支持业务用户编程的服务虚拟化技术——VINCA聚合服务机制[J]. 计算机研究与发展,2004,41(12):183-189.
[7]Hai Jin,Hanhua Chen,Minghu Zhang,Deqing Zou. A QoS oriented Service Grid Framework[C]. The 4th Intemationa Conference on Parallel and Distributed Computing, Applications and Technologies(PDCAT2003). Chengdu, China. August,2003.
[8]Mourad Ouzzani, Bouguettaya Athman. Efficient Access to Web Services[J]. IEEE Internet Computing,2004,8(2):34- 44.
[9]Fabio Baroncelli, Barbara Martini, Piero Castoldi. Network virtualization for cloud computing[J].Ann.Telecommun. 2010,(65):713-721.
[10]刘鹏.云计算(第二版)[M] .北京:电子工业出版社,2011.
[11]存储虚拟化方式在选择时的四种形式[EB/OL].[2012
-03-10].http://virtual.51cto.com/art/201107/272707.htm.
[12]李亚琼等.一种面向虚拟化云计算平台的内存优化技术[J] .计算机学报,2011,(34):684-693.
[13]高宏卿,汪浩.基于云存储的教学资源整合研究与实现[J] .现代教育技术,2010,(3):99-103.
[14]Guangda Lai,Hua Song, and Xiaola Lin. A Service Based Lightweight Desktop Virtualization System[C]. International Conference on Service Sciences, 2010.
[15]Vaneet Aggarwal,Xu Chen,Vijay Gopalakrishnan,Rittwik Jana,K. K. Ramakrishnan, Vinay A. Exploiting Virtualization for Delivering Cloud-based IPTV Services[C]. IEEE INFOCOM, 2011.
[16]Liang Zhong,Tianyu Wo,Jianxin Li,Bo Li. A Virtualization-based SaaS Enabling Architecture for Cloud Computing[C].Sixth International Conference on Autonomic and Autonomous Systems, 2010.
[17]武蕾.制造网格中资源虚拟化方法研究与应用[D] .山东:山东大学博士学位论文,2008.
[18]Al-ali RJ, Ranao, WalkerD, etal. G-QoSM: Grid service diseovery using QoS Properties[J]. Computing and Informatics Joumal, Special Issue on Grid Computing, 2002, 21(4):363-382.
作者简介:陈琪(1989-),女,武汉大学信息管理学院研究生;陆颖隽(1963-),男,日本国立大学理学硕士,武汉大学在读博士,武汉大学信息管理学院副教授,硕士生导师,研究方向:数字图书馆,信息资源数据库;李志芳(1987-),女,武汉大学信息管理学院研究生;邓仲华(1957-),男,博士,武汉大学信息管理学院教授,博士生导师,研究方向:信息资源云与知识管理。