云计算导论 课件 第二章 云计算的关键技术_第1页
云计算导论 课件 第二章 云计算的关键技术_第2页
云计算导论 课件 第二章 云计算的关键技术_第3页
云计算导论 课件 第二章 云计算的关键技术_第4页
云计算导论 课件 第二章 云计算的关键技术_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《云计算导论》第二章

云计算的关键技术目录虚拟化技术1数据存储技术2资源管理技术3云计算中的编程模型4集成一体化技术5自动化技术62.1虚拟化技术2.1.1虚拟化的定义虚拟相对于真实,虚拟化就是将原本运行在真实环境上的计算机系统或组建运行在虚拟出来的环境中。一般来说,计算机系统分为若干层次,从下至上包括底层硬件资源、操作系统、操作系统提供的应用程序编程接口,以及运行在操作系统之上的应用程序。虚拟化技术可以在这些不同层次之间构建虚拟化层,向上提供与真实层次相同或类似的功能,使得上层系统可以运行在该中间层之上。这个中间层可以解除其上下两层间原本存在的耦合关系,使上层的运行不依赖于下层的具体实现。2.1虚拟化技术2.1.1虚拟化的定义“虚拟化”是一个广泛而变化的概念,因此想要给出一个清晰而准确的“虚拟化”定义并不是一件容易的事情。IBM对虚拟化的定义:虚拟化是资源的逻辑表示,它不受物理限制的约束。在这个定义中,资源涵盖的范围很广。资源可以是各种硬件资源,如CPU、内存、存储、网络;也可以是各种软件环境,如操作系统、文件系统、应用程序等。2.1虚拟化技术2.1.2虚拟化的常见类型从被虚拟的资源类型来看,一般可以将虚拟化技术分成软件虚拟化、系统虚拟化和基础设施虚拟化三类。(1)软件虚拟化软件虚拟化很显然是针对软件环境的虚拟化技术,应用虚拟化就是其中的一种。应用虚拟化分离了应用程序的计算逻辑和显示逻辑,即界面抽象化,而不是在用户端安装软件。当用户要访问被虚拟化的应用程序时,用户端只需要把用户端人机交互的数据传送到服务器,由服务器来为用户开设独立的会话去运行被访问的应用程序的计算逻辑,服务器再把处理后的显示逻辑传回给用户端,从而使用户获取像在本地运行应用程序的使用感受。(2)系统虚拟化是指使用虚拟化软件在一台物理主机上虚拟出一台或多台相互独立的虚拟机。服务器虚拟化就属于系统虚拟化,它是指在一台物理机上面运行多个虚拟机(VirtualMachine,VM),各个虚拟机之间相互隔离,并能同时运行相互独立的操作系统,这些客户操作系统(GuestOS)通过虚拟机管理器(VirtualMachineMonitor,VMM)访问实际的物理资源,并进行管理。服务器虚拟化技术具有诸多优点,基于服务器虚拟化搭建的云计算平台有着很多良好特性。(3)基础设施虚拟化一般包含存储虚拟化和网络虚拟化等。存储虚拟化是指为物理存储设备提供抽象的逻辑视图,而用户能通过这个视图中的统一逻辑接口去访问被整合在一起的存储资源。网络虚拟化是指将软件资源和网络的硬件整合起来,为用户提供虚拟的网络连接服务。网络虚拟化的典型代表有虚拟专用网(VPN)和虚拟局域网(VLAN)。2.1虚拟化技术2.1.3服务器虚拟化服务器虚拟化是指在一个物理机器上面虚拟出很多个虚拟主机(VirtualMachine),并且各个虚拟主机之间是相互隔离的,它们可以同时运行彼此独立的操作系统,所有的客户操作系统(GuestOS)都能借助于虚拟机管理器(VirtualMachineMonitor)去访问实际存在的物理资源,并对其进行管理。服务器虚拟化主要有两种类型:寄宿虚拟化和原生虚拟化2.1虚拟化技术2.1.4云计算与虚拟化相对于传统的方式而言,基于虚拟化技术搭建的云平台有着相当大的优势,体现在以下几个方面。(1)易伸缩(2)高可用性(3)负载均衡(4)提高资源使用率2.2数据存储技术2.2.1Google文件系统GFS是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保,证以及继续提高I/O速率等方面。GFS系统由一个Master和大量块服务器构成。Master存放文件系统的所有元数据,包括名字空间、存取控制、文件分块信息、文件块的位置信息等。GFS中的文件切分为64MB的块进行存储。在GFS文件系统中,采用冗余存储的方式来保证数据的可靠性。每份数据在系统中保存3个以上的备份。由于搜索引擎需要处理海量的数据,所以Google的两位创始人LarryPage和SergeyBrin在创业初期设计一套名为“BigFiles”的文件系统,而GFS(全称为“GoogleFileSystem”)这套分布式文件系统则是“BigFiles”的延续。2.2数据存储技术2.2.1Google文件系统在设计上,GFS主要有8个特点:(1)大文件和大数据块数据文件的大小普遍在GB级别,而且其每个数据块默认大小为64MB,这样做的好处是减少了元数据的大小,能使Master节点非常方便地将元数据放置在内存中以提升访问效率。(2)操作以添加为主因为文件很少被删减或者覆盖,通常只是进行添加或者读取操作,这样能充分考虑到硬盘现行吞吐量大和随机读写慢的特点。(3)支持容错首先,虽然当时为了设计方便,采用了单Master的方案,但是整个系统会保证每个Master都有其相对应的复制品,以便于在Master节点出现问题时进行切换。其次,在Chunk层,GFS已经在设计上将节点失败视为常态,所以能非常好地处理Chunk节点失效的问题。(4)高吞吐量虽然其单个节点的性能无论是从吞吐量还是延迟都很普通,但因为其支持上千个节点,所以总的数据吞吐量是非常惊人的。(5)保护数据文件被分割成固定尺寸的数据块以便于保存,而且每个数据块都会被系统复制3份。(6)扩展能力强因为元数据偏小,使得一个Master节点能控制上千个存储数据的Chunk节点。(7)支持压缩对于那些稍旧的文件,可以通过对它进行压缩,来节省硬盘空间,并且压缩率非常惊人,有时甚至接近90%。8)用户空间虽然在用户空间运行在运行效率方面稍差,但是更便于开发和测试,还能更好地利用Linux自带的一些POSICAPI。2.2数据存储技术2.2.2Hadoop分布式文件系统(HDFS)HDFS(HadoopDistributedFileSystem)是一个为普通硬件设计的分布式文件系统,是Hadoop分布式软件架构的基础部件。HDFS在设计之初就做了如下假设。①硬件错误是常态。②流式数据访问为主,要求具备高吞吐量。③存储的文件以大数据集为主。④文件修改以尾部追加为主,一次写入多次读取。基于以上几点,HDFS被设计为部署在大量廉价硬件上的,适用于大数据集应用程序的分布式文件系统,具有高容错、高吞吐率等优点。HDFS使用文件和目录的形式组织用户数据,支持文件系统的大多数操作,包括创建、删除、修改、复制目录和文件等。2.2数据存储技术2.2.2Hadoop分布式文件系统(HDFS)HDFS的基本概念:(1)数据块(block)①HDFS(HadoopDistributedFileSystem)默认的最基本的存储单位是64MB的数据块。②和普通文件系统相同的是,HDFS中的文件是被分成64MB一块的数据块存储的。③不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。(2)元数据节点(NameNode)和数据节点(DataNode)●元数据节点用来管理文件系统的命名空间。●数据节点是文件系统中真正存储数据的地方。●从元数据节点从元数据节点并不是元数据节点出现问题时候的备用节点,它和元数据节点负责不同的事情。其主要功能就是周期性地将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。这点在下面会详细叙述。合并过后的命名空间镜像文件也在从元数据节点保存了一份,以防元数据节点失败的时候,可以恢复。2.2数据存储技术2.2.3键值存储系统技术键值存储系统的目的就是存储海量半结构化和非结构化数据,应对数据量和用户规模的不断扩展。在互联网飞速发展的今天,键值存储系统和关系数据库系统将共存。虽然都是管理数据,但键值存储系统和关系数据库系统是完全不同的。(1)关系数据库系统中,数据库包含表,表包含行和列,行由各个列的数据值组成,在一个表中的行都拥有相同的策略。而在键值存储系统中,并不包含策略和关系数据库那样的表。键值存储系统一般包含域或桶,各个域或桶中包含若干条数据记录。(2)关系数据库拥有良好的数据模型定义,包含策略、表的关系、事物等机制。数据之间的关系式建立在数据本身基础上的,而不是上层应用的功能和需要。键值存储系统中,数据记录只是简单地通过一个标识来识别和获取,数据之间没有关系的概念。(3)关系数据库的目的是提高数据共享能力和减少数据冗余,键值存储系统一般需要进行数据冗余保证可靠性。(4)关系数据库适合于存储传统数据,如字符、数字的存储和查询。键值存储系统适合于海量的非关系型数据的存储和查询。2.2数据存储技术2.2.3键值存储系统技术当前,键值存储系统在以下几方面的效果优于关系数据库系统:(1)键值存储系统是云计算模式的最佳搭档云计算模式就是需要灵活地应对用户对可伸缩性的需求。键值存储系统的可伸缩性的特点正好满足了用户的需求。如果试图把规模庞大的系统伸缩需求交给数十个甚至上百台服务器去处理,那么键值存储系统应该是一个比较好的解决方案。(2)键值存储系统提供了相对廉价的存储平台,并拥有巨大的扩充潜力用户通常只需根据自己的规模进行相应的配置即可,当需求增长时配额也能随之增加。同时,键值存储系统一般运行在便宜的PC服务器集群上,避免了购买高性能服务器的昂贵开销。2.3资源管理技术2.3.1资源的统一管理资源管理主要针对所有物理可见的网元设备包括服务器、存储、网络(设备、IP、VLAN)、物理介质、软件资源以及经虚拟化技术形成的资源池(计算资源、存储资源、网络资源、软件资源)进行抽象和信息记录,并对其生命周期、容量和访问操作进行综合管理,同时对系统内重要配置信息的发现、备份、比对和检查等。资源池是指将多个具有相同能力(相同厂商同种功能的设备或者具体同种参数的设备)的资源组合,根据服务实例的需求可划分为:计算资源池、存储资源池、网络资源池和软件资源池。2.3资源管理技术2.3.2资源的统一监控资源监控是保证运营管理平台流程化、自动化、标准化运作的关键模块之一。它利用下层资源管理模块提供的各类参数,进行有针对性分析和判决后,为上层的资源部署调度模块提供了必要的输入,是实现负载管理、资源部署、优化整理的基础。一般认为,资源监控包括故障监控、性能监控和自动巡检3个方面的内容。(1)故障监控屏蔽了不同设备的差别,对被管资源提供故障信息的采集、预处理、告警展现、告警处理等方面的监控。首先,可以对物理机、虚拟机、网络设备、存储设备、系统软件主动发出的各种告警信息进行分析处理,其次可以对系统主动轮询采集到的KPI指标,定义各种告警类型、告警级别、告警条件,支持静态门限值和动态门限值,同时以告警监视窗口、实时板等多种告警方式展现。另外,支持告警确认、升级等功能,并能把特定级别的告警信息转发给上一级管理支撑系统。(2)性能监控实现对采集到的数据,通过分析、优化和分组,以图表等形式,让管理员在单一界面对虚拟化环境中的计算资源、存储资源和网络资源的总量、使用情况、性能和健康状态等信息有明确、量化的了解,同时还可以为其他模块提供相关监控信息。(3)自动巡检则实现每天登陆资源做例行检查的工作,实现任务的自动执行和巡检结果的自动发送。2.3资源管理技术2.3.3资源的统一部署调度资源的部署调度是通过自动化部署流程将资源交付给上层应用的过程。主要分为两个阶段。首先,在上层应用出发需要创建相应基础资源环境需求流程时,资源部署调度模块进行初始化的资源部署;其次,在服务部署运行中,根据上层应用对底层基础资源的需求,会进行过程中的动态部署与优化。调度管理实现弹性、按需的自动化调度,能够根据服务和资源指定调度策略,自动执行操作流程,实现对计算资源、网络、存储、软件、补丁等进行集中地自动选择、部署、更改和回收功能。2.3资源管理技术2.3.4负载均衡负载均衡是资源管理的重要内容,数据中心管理和维护时应做到负载均衡,以避免资源浪费或形成系统瓶颈。负载不均衡主要体现在以下几个方面。(1)同一服务器内不同类型的资源使用不均衡,如内存已经严重不足,但CPU利用率仅为10%。这种问题的出现多是由于在购买和升级服务器时没有很好地分析应用对资源的需求。对于计算密集型应用,应为服务器配置高主频CPU;对于I/O密集型应用,应配置高速大容量磁盘;对于网络密集型应用,应配置高速网络。(2)统一应用不同服务器间的负载不均衡Web应用往往采用表现层、应用层和数据层的三层架构,三层协同工作处理用户请求。同样的请求对这三层的压力往往是不同的,因此要根据业务请求的压力分配情况决定服务器的配置。如果应用层压力较大而其他两层压力较小,则要为应用层提供较高的配置;如果仍然不能满足需求,可以搭建应用层集群环境,使用多个服务器平衡负载。(3)不同应用之间的资源分配不均衡数据中心往往运行着多个应用,每个应用对资源的需求是不同的,应按照应用的具体要求来分配系统资源。(4)时间不均衡用户对业务的使用存在高峰期和低谷期,这种不均衡具有一定的规律,如对于在线游戏来说,晚上的负载大于白天,白天的负载大于深夜,周末和节假日的负载大于工作日。此外,从长期来看,随着企业的发展,业务系统的负载往往呈上升趋势。与前述其他情况相比,时间不均衡有其特殊性:时间不均衡不能通过静态配置的方式解决,只能通过动态调整资源来解决,这给系统的管理和维护工作提出了更高的要求。总之,有效的资源管理方式能提高资源利用率,合理的资源分配能够有效地均衡负载,减少资源浪费,避免系统瓶颈的出现,保障业务系统的正常运行。2.4云计算中的编程模型2.4.1分布式计算分布式计算的概念:分布式计算是一门计算机科学,研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,并由许多相互独立的计算机进行协同处理,以得到最终结果。分布式计算的基本原理:大量分布式系统通常会面临如何把应用程序分割成若干个可并行处理的功能模块,并解决各功能模块间协同工作的问题。对于数据密集型问题,可以采用分割数据的分布式计算模型,把需要进行大量计算的数据分割成小块,由网络上的多台计算机分别计算,然后对结果进行组合得出数据结论。Map-reduce是分割数据型分布式计算模型的典范,在云计算领域被广泛采用。2.4云计算中的编程模型2.4.2并行编程模型云计算大部分采用Map-reduce的编程模型。何谓Map-reduce:Map-reduce是Google开发的Java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行计算。严格的编程模型使云计算环境下的编程十分简单。Map-reduce模型的思想是将要执行的问题分解成Map(映射)和Reduce(归约)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇总输出。2.5集成一体化技术2.5.1用户需求催生一体化一体化的趋势由来已久,但始作俑者倒是可以视为思科。思科在推出UCS产品之后,极大动摇了整个产业链“和平共处”的基础。IT领域各个巨头都开始行动起来,大家的目标只有一个——一体化。近年来,不论是IBM还是甲骨文还是赛门铁克,抑或是曙光、浪潮等,国内外的IT厂商巨头纷纷推出一体化的产品和方案。分析其中原因,不外乎是企业级用户需求因云计算与大数据两个层面的变化所致。在2012年中国存储峰会的高峰论坛上,Gartner公司大中华区首席存储分析师张瑾分析认为:“一体化”的趋势不是从存储开始的,实际上是从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论