




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、云计算技术及其应用Cloud Computing Technology and Its Applications赵培/ZHAO Pei陆平/LU Ping罗圣美/LUO Shenmei(中兴通讯股份有限公司 业务研究院,江苏 南京 210012)(Communication Service R&D Institute, ZTE Corporation, Nanjing 210012, China)中图分类号:TP393.03 文献标志码:A 文章编号:1009-6868 (2010) 04-0000-00摘要:云计算主要基于资源虚拟和分布式并行架构两大核心技术。在虚拟化技术方面,文章探
2、讨了物理资源的池化、资源池的管理与使用、集群的故障定位与维护、资源池的分组与异构等技术,以及异构的虚拟化云计算平台的建设和应用。在分布式技术方面,文章探讨了分布式文件系统和Key/Value存储引擎技术。对于分布式文件系统,提出主机“瓶颈”解决方案及存储接口标准化的想法;对于Key/Value存储引擎,提出目录化存储的解决方案。关键词: 虚拟化;分布式计算;云管理平台;Key/Value存储引擎Abstract: Virtualization and distributed parallel architecture are two typical technologies of cloud
3、computing. For virtualization technology, this article discusses the pool of physical resources, resource pool management and use, cluster fault location and maintenance, resource pool grouping, and the building and application of heterogeneous virtualization platforms. It also discusses the distrib
4、uted file system and Key/Value storage engine associated with distributed technology. A “MASTER bottleneck” storage interface standard is proposed for the distributed file system, and directory-based storage is proposed for the Key/Value storage engine.Key words: virtualization; distributed computin
5、g; cloud computing management platform; Key/Value Storage Engine云计算由Google提出,随后在互联网界风起“云”涌,随之而来的云计算服务和技术平台成功案例层出不穷,如Google的GFS、MapReduce、Bigtable、Chubby和App Engine;亚马逊的Dynamo、EC2、S3、SQS、SimpleDB和CloudFront;微软的Azure、SQL、“.Net”和Live服务;开源云计算平台的HDFS、HBase和Eucalyptus;VMware的虚拟化平台等。1 云计算的核心技术云计算主要基于资源虚拟和分
6、布式并行架构两大核心技术,同时互联网上有大量的开源软件为用户提供支撑,如Xen、KVM、Lighttpd、Memcached、Nginx、Hadoop、Eucalytus等。云计算技术有效地节约了云服务商的硬件投入、开发成本和维护成本。虚拟化技术最早由VMware公司引入并在X86 CPU上实现。虚拟化平台将服务器虚拟为多个性能可配的虚拟机(VM),对整个集群系统中所有VM进行监控和管理,并根据实际资源使用情况对资源池灵活分配和调度。分布式并行架构是云计算的另一个核心技术,用于将大量的机器整合为一台超级计算机,提供海量的数据存储和处理服务。整合后的超级计算机通过分布式文件系统、分布式数据库和M
7、apReduce技术,提供海量文件存储、海量结构化数据存储和统一的海量数据处理编程方法和运行环境1-3。2 虚拟化技术虚拟化技术主要分为两个层面:物理资源池化和资源池管理。其中物理资源池化是把物理设备由大化小,将一个物理设备虚拟为多个性能可配的最小资源单位;资源池管理是对集群中虚拟化后的最小资源单位进行管理,根据资源的使用情况和用户对资源的申请情况,按照一定的策略对资源进行灵活分配和调度,实现按需分配资源4-7。2.1 物理资源的池化云计算平台如图1所示。物理硬件设备的虚拟化对象包括服务器、存储、网络、安全等多个方面,不同的虚拟化技术从不同角度解决系统的各种问题。云管理平台资源管理服务管理租户
8、管理虚拟机虚拟存储虚拟网络服务模板服务实例服务目录租户信息订购管理权限管理分布式资源SAN/NASPC机X86PCPC机路由器PC机交换机 PC机设备管理NAS:网络附加存储SAN:存储区域网络图1 云计算平台(1)服务器虚拟化服务器虚拟化对服务器进行资源虚拟和池化,将一台服务器虚拟为多个同构的虚拟服务器,同时对集群中的虚拟服务器资源池进行管理。(2)存储虚拟化存储虚拟化主要是对传统的存储区域网络(SAN)、网络附加存储(NAS)设备进行异构,将存储资源按类型统一集中为一个大容量的存储资源,并将统一的存储资源通过分卷、分目录的权限和资源管理方法进行池化,然后将虚拟存储资源分配给各个应用,或者是
9、直接分配给最终用户。(3)网络虚拟化网络虚拟化将一个物理网络节点虚拟成多个虚拟的网络设备(交换机、负载均衡器等),并进行资源管理,配合虚拟机和虚拟存储空间为应用提供云服务。2.2 资源池的管理和使用资源池由云管理平台实现统一的管理、调度和监控,涉及云平台的合理使用和维护管理。云管理平台共分为4个管理层面,分别为:设备的管理、虚拟资源的管理、服务的管理和租户管理。(1)设备管理设备管理为云计算平台的硬件设备提供管理和告警功能,主要包括系统管理员在日常的维护工作中查询各物理设备性能情况,并对如应用服务器的CPU使用率、内存使用率、硬盘使用率、网络接口使用率、存储设备的空间使用率、IO情况等关键指标
10、进行监控。用户可以根据应用物理设备的实际配置,设置相应的监控阈值,系统会自动启动对相应指标的监控并报警。(2)虚拟资源管理虚拟资源管理为各种应用提供虚拟资源的统一管理、资源分配和灵活调度,同时还包括系统管理员在日常的维护工作中查询各个最小虚拟资源的性能情况,并对应用虚拟机的CPU使用率、内存使用率、硬盘使用率、网络接口使用率,虚拟存储(如亚马逊的EBS)的空间使用率、IO情况等关键指标进行监控。用户可以根据虚拟资源的实际配置,设置相应的监控阈值,系统会自动启动对相应指标的监控并报警。(3)服务管理服务管理包括服务模板、服务实例、服务目录等管理。服务管理在虚拟资源的基础上,快速向租户提供用户指定
11、的操作系统、应用软件等软件资源。(4)租户管理租户管理对每一个租户对应的资源群进行管理,内容包括资源的种类、数量、分布情况等,同时对租户生命周期进行管理,包括租户的申请、审核、正常、暂停、注销等。2.3 集群的故障定位与维护Google的集群维护方式给我们留下了深刻的印象,维护人员推着小推车对损坏的机器进行更换,故障定位通过定制PC的故障灯进行判断(在通用的因特网数据中心(IDC)应用中,计算资源通常使用通用PC机)。目前所有的云平台对物理机和虚拟机的监控、告警,都是按照机器的IP地址作为机器的编号进行管理。对于承载着虚拟机的物理机而言,其Host OS模块的IP地址对应和代表着物理机器在集群
12、中的唯一标志。IP地址的分配一般采用两种方式:采用动态主机配置协议(DHCP)方式自动获取;通过手工指定方式确定。由于集群中机器很多,手工指定工作量非常巨大,因此通常采用DHCP的方式对IP地址进行分配。但是维护人员在云管理平台上发现物理设备出了故障,维护人员无法通过IP地址对应到故障机器的具体物理位置,通用的PC机又没有故障灯等辅助定位手段。定位故障机器的物理位置并更换或维护它成为一个复杂和繁琐的过程。在的虚拟化集群中,可以采用简单而有效的方法解决此问题。对于每一台物理机器,配置一个USB接口的KEY,KEY中保存了物理机器的位置信息,同时USB KEY与物理位置直接绑定(如绑在机架上)。机
13、器在启动时,会到USB KEY中读取物理位置信息,根据读取的物理位置信息,依据固定的算法和物理信息算出机器的IP地址,并在管理平台中体现。这样,每个物理机器的IP地址就与物理位置绑定,在物理机器故障时,维护人员在云管理平台可以准确获取故障机器的IP地址和物理位置。2.4 资源池的分组与异构对于服务器的虚拟化,由于架构不同,SUN、IBM等厂家的小型机虚拟化都采用相互独立的架构,与基于X86架构的虚拟化系统(如XEN、KVM等)无法兼容,因此造成了资源浪费。对于服务器虚拟化的异构问题,可以从两个层面去解决:(1)通过资源池的分组,对不同架构的服务器和小型机进行虚拟化,不同架构的资源池归于一个独立
14、的组,针对不同的应用,分配特定的虚拟机资源。(2)通过业务的定制和调度,将不同架构的虚拟化平台通过管理融合,实现异构虚拟机的调度。PowerVM VSE XENKVM IBM小型机资源池 HP小型机资源池 X86资源池 iVMM异构资源池统一管理 iVMM:融合的虚拟化管理器图2 异构资源池异构资源池如图2所示。在云计算平台中,把IBM的PowerSystems小型机集群通过IBM的PowerVM系统虚拟为基于PowerSystems架构的计算资源池,把HP的小型机集群通过HP的VSE系统虚拟为基于HP架构的计算资源池,把X86架构的计算资源通过XENKVM系统虚拟为基于X86的ZXVE资源池
15、。在业务部署时,不同的应用的可以根据自己的业务特点和操作系统特点,选择性地部署在不同的资源池上,从而实现虚拟化对各类小型机的异构。X86架构的计算资源池、PowerSystems架构的计算资源池和HP架构的计算资源池分别受各自的虚拟化管理软件(如VMM、IVM和gWLM)管理。在VMM、IVM和gWLM的上层,可以通过融合的虚拟化管理器(iVMM),对3个计算资源池进行统一管理。应用功能的3个不同版本IBM小型机资源池 HP小型机资源池 X86资源池 iVMM业务调度器 OCCI扩充接口IBM版本HP版本X86版本iVMM:融合的虚拟化管理器OCCI:Oracle C+调用接口图3 跨资源平台
16、对应用实现异构图3所示为虚拟资源对应用实现异构的方法。此方法的核心在于4个方面:iVMM、业务调度器、业务系统针对不同的资源池架构提供应用功能相同的不同版本、iVMM和业务调度器之间的OCCI扩充接口。在业务应用层面,针对业务系统,本文增加业务调度器模块。业务调度器根据业务的繁忙程度,向iVMM申请增加或减少虚拟机资源,并调整负载均衡策略。业务系统针对不同的资源池架构,需要准备与之对应的功能相同的不同版本。OCCI扩充接口的工作流程为:l 业务系统的业务调度器通过OCCI接口向云计算平台申请资源,同时向云计算平台提供业务系统可以支持的操作系统等信息,并提供优先级信息。l 云计算平台根据业务系统
17、的请求和云内资源的空闲情况,分配计算资源,通过OCCI接口通知业务调度器云计算平台向业务系统提供了何种架构的资源。l 业务调度器根据申请到的资源情况,将业务处理机的操作系统、业务版本等模板信息通过OCCI接口通知云计算平台,由云计算平台进行操作系统和业务程序的部署,完成后提交给业务系统进行使用。3 分布式技术分布式技术最早由Google规模应用于向全球用户提供搜索服务,因此必须要解决海量数据存储和快速处理的问题。其分布式的架构,可以让多达百万台的廉价计算机协同工作。分布式文件系统完成海量数据的分布式存储,分布式计算编程模型MapReduce完成大型任务的分解和基于多台计算机的并行计算,分布式数
18、据库完成海量结构化数据的存储。多个互联网运营商使用基于Key/Value的分布式存储引擎,用于数量巨大的小存储对象的快速存储和访问。3.1 分布式文件系统分布式文件系统的架构,不管是Google的GFS还是Hadoop的HDFS,都是针对特定的海量大文件存储应用设计的。系统中有一对主机,应用通过文件系统提供的专用应用编程接口(API)对系统访问。分布式文件系统的应用范围不广主要因为:主机对应用的响应速度不快,访问接口不开放。主机是分布式文件系统的主节点。所有的元数据信息都保存在主机的内存中,主机内存的大小限制了整个系统所能支持的文件个数。一百万个文件的元数据需要近1G的内存,而在云存储的应用中
19、,文件数量经常以亿为单位;另外文件的读写都需要访问主机,因此主机的响应速度直接影响整个存储系统的每秒的读入输出次数(IOPS)指标。解决此问题需要从3个方面入手:(1)在客户端缓存访问过的元数据信息。应用对文件系统访问时,首先在客户端查找元数据,如果失败,再向主机发起访问,从而减少对主机的访问频次。(2)元数据信息存放在主机的硬盘中,同时在主机的内存中进行缓存,以解决上亿大文件的元数据规模过大的问题。为提升硬盘可靠性和响应速度,还可使用固态硬盘(SSD)硬盘,性能可提升10倍以上。(3)变分布式文件系统主机互为热备用的工作方式为1主多备方式(通常使用1主4备的方式),通过锁服务器选举出主用主机
20、,供读存储系统进行改写的元数据访问服务,如果只是读访问,应用对元数据的访问将被分布式哈希表(DHT)算法分配到备用主机上,从而解决主机的系统“瓶颈”问题对于分布式文件系统,外部应用通过文件系统提供的专用API对其进行访问,这影响了分布式文件系统的应用范围。对于标准的POSIX接口,可以通过FUSE的开发流程实现,但将损失10%20%的性能。对于网络文件系统(NFS),在实现POSIX接口的基础上,可以直接调用Linux操作系统的NFS协议栈实现。3.2 Key/Value存储引擎Key/Value存储引擎最大的问题在于路由变更后,数据如何快速地实现重新分布。Key/Value存储引擎如图4所示
21、。可以引进虚拟节点的概念,将整个KEY值映射的RING空间划分成Q个大小相同的Bucket(虚拟节点,KEY的映射算法推荐采用MD5)。每个物理节点根据硬件配置情况负责多个Bucket区间的数据。同一个Bucket上的数据落在不同的N个节点上,通常情况下N=3。我们将DCACHE的Q设定成10万,即把整个RING空间分成了10万份,如果整个DCACHE集群最大容量为50 TB,每个区间对应的数据大小仅为500 MB。对500 MB的数据进行节点间的迁移时间可以少于10 s。图4中,N=3,Bucket A中的数据存储在B、C、D 3个节点。图4 Key/Value存储引擎Key/Value存储
22、引擎是一个扁平化的存储结构,存储内容通过Hash算法在各节点中平均分布。但是在一些应用中,业务需要对Key/Value存储引擎进行类似目录方式的批量操作(如在CDN项目中,网站向CDN节点推送内容时,需要按照网页的目录结构进行增加和删除),Key/Value存储引擎无法支持这样的需求。可以在Key/Value存储引擎中增加一对目录服务器,存储Key值与目录之间的对应关系,用于对目录结构的操作。当应用访问Key/Value存储引擎时,仍然按照Hash方式将访问对应到相应的节点中,当需要目录操作时,应用需要通过目录服务器对Key/Value存储引擎进行操作,目录服务器完成目录操作和Key/Valu
23、e方式的转换。由于绝大多数项目中,大部分为读操作,因此目录服务器参与对Key/Value引擎访问的次数很少,不存在性能“瓶颈”。4 结束语云平台的构建是一个具有挑战性的课题,本文详细描述了虚拟化和分布式架构两大核心技术。在基础设施即服务(IaaS)层面,着重描述了虚拟化技术,以及异构的虚拟化云计算平台的建设和应用,同时介绍了云管理平台的功能。在分布式技术方面,介绍了分布式文件系统和Key/Value存储引擎。对于分布式文件系统,本文着重介绍了主机“瓶颈”解决方案及存储接口标准化的想法;对于Key/Value存储引擎,本文提出了用于目录化存储的解决方案。5 参考文献1 张为民, 唐剑峰, 罗治国, 等. 云计算:深刻改变未来 M. 北京: 科学出版社, 2009.2 刘鹏. 云计算 M. 北京: 电子工业出版社, 2010.3 王庆波, 金涬, 何乐, 等. 虚拟化与云计算 M. 北京: 电子工业出版社, 2009.4 SCOTT GRANNEMAN S. Google
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省四平市铁西区2024-2025学年七年级下学期期末练习生物试卷(含答案)
- 财务会计专员岗位职责要求
- 幼儿园常见传染病预防控制课件
- 财务会计年终工作总结范文(10篇)
- 土地复垦措施及其规划设计教学课件
- 道德与法治(海南卷)(考试版A3)
- 2025年android音视频开发面试!这么香的技术还不快点学起来Android篇-andoid视频秒开面试
- 2025年Android事件分发机制:面试官你坐啊
- 2024-2025学年下学期高一生物沪科版期末必刷常考题之生物进化论在不断发展
- 部编版五年级上册第一单元《白鹭》教案
- 医院护士辞职申请书集合六篇(护士岗位辞职申请书)
- 静脉注射 Microsoft PowerPoint 演示文稿课件
- 同济大学论文答辩通用PPT模板
- AFC检测技术规程
- 部编人教版二年级下学期数学期末学业质量监测复习课堂知识练习题
- 餐饮行业抖音代运营方案
- 《聪明人和傻子和奴才》 课件
- Fleischner指南解读
- 建筑工地安全生产百日攻坚行动实施方案
- 电厂度电机维修技术规范书正式
- 年产40万吨甲醇合成工艺设计
评论
0/150
提交评论