开篇:润墨网以专业的文秘视角,为您筛选了一篇网“助”云计算范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
如果说,云计算这种巨型计算服务所要求的IT架构必然是集结了大规模基础资源的数据中心“超级航母”,那么,它也必然要求大规模的计算网络来与之相适应。
当前热门的云计算拥有近乎无限的计算、存储、数据通信能力。云计算对IT资源的大规模集中运营,可极大地优化基础资源的分布与调度。理想的云计算业务模型(如图1所示)对于使用云计算服务的企业或个人而言,能够满足业务的最佳方式为计算能力按需增长、应用部署快速实现、工作负载可动态调整、投入成本规划可控;对于云计算服务供应商而言,为满足大量客户(个人或企业)的IT资源需求,其运营的IT基础架构需要有一个大规模的资源池,可基于服务客户数量的增长、客户业务负载增长的需求变化,提供与之匹配的IT资源支持能力。
大规模的IT集中建设与运营,带来的将是大幅度的成本节约效应。提供云计算服务的IT架构必然是集结了大规模基础资源的数据中心“超级航母”。在大规模云计算运营趋势下,IT基础组件必然走向全面标准化,以使得云所支撑的各部分可以在保持发展的同时相互兼容。当前虚拟化标准组织、云计算标准化组织已经基本形成,它们的工作目的就是制定云计算不同组件、不同技术之间的公共接口,这样,众多的软硬件供应商就能够在云计算环境下提供互通、协作的标准化产品,以求在远期目标上使得云计算的大规模IT运营架构逐步摆脱隔离性、垄断性,使公共服务得以构建在开放的公共化标准技术基础上,并随着技术发展而持续降低成本。
大规模的计算网络,在基础形态上主要有两种模式:虚拟化计算与集群计算。其实这两种方式并非完全地割离,既可分别部署,也可相互结合。
大规模虚拟化计算
虚拟化计算技术已经逐步成为云计算服务的主要支撑技术,特别是在计算能力租赁、调度的云计算服务领域起着非常关键的作用。
在大规模计算资源集中的云计算数据中心,以X86架构为基准的不同服务器资源,通过虚拟化技术将整个数据中心的计算资源统一抽象出来,形成可以按一定粒度分配的计算资源池(如图2所示)。虚拟化后的资源池屏蔽了各种物理服务器的差异,形成了统一的、云内部标准化的逻辑CPU、逻辑内存、逻辑存储空间、逻辑网络接口,任何用户使用的虚拟化资源在调度、供应、度量上都具有一致性。
虚拟化技术不仅消除了大规模异构服务器的差异化,其形成的计算池还可以具有超级的计算能力,一个云计算中心的物理服务器达到数万台是一个很正常的规模。一台物理服务器上运行的虚拟机数量是动态变化的,当前一般是4~20个,某些高密度的虚拟机可以达到100:1的虚拟比(即一台物理服务器上运行100个虚拟机),在CPU性能不断增强(主频提升、多核多路)、当前各种硬件虚拟化(CPU指令级虚拟化、内存虚拟化、桥片虚拟化、网卡虚拟化)的辅助下,物理服务器上运行的虚拟机数量会迅猛增加。一个大型IDC中运行数十万个虚拟机的情形是可预见的,当前的云服务IDC在业务规划时,已经在考虑这些因素。
在虚拟化云计算网络环境中,超高密度的虚拟机数量引入了有别于任何以往传统意义上数据中心的业务承载问题,在表象相似的网络平台上,“服务器/虚拟机”的数量在单位空间和单位网络接口剧增,对基础网络的转发表项、吞吐能力、突发流量吸收提出了苛刻的要求。
虚拟化的云中,计算资源能够按需扩展、灵活调度部署,这由虚拟机的迁移功能实现,虚拟化环境的计算资源必须在二层网络范围内实现透明化迁移。
透明环境不仅限于数据中心内部,对于多个数据中心共同提供的云计算服务,要求云计算的网络对数据中心内部、数据中心之间均实现透明化交换,这种服务能力可以使客户分布在云中的资源逻辑上相对集中(如在相同的一个或数个VLAN内),而不必关心具体物理位置;对云服务供应商而言,透明化网络可以在更大的范围内优化计算资源的供应,提升云计算服务的运行效率、有效节省资源和成本。
大规模集群计算
集群计算很早就广泛应用了,只是在不同的领域有着不同的表现形式,或者说有不同的术语,如在科学计算领域的并行计算或高性能计算当前主要以集群计算的方式实现。集群通过一组松散集成的计算机软件和/或硬件连接起来,高度紧密地协作完成计算工作,在某种意义上,集群可以被看做是一台计算机。
人们使用集群的目的是为了获得强大的计算能力,虽然这可以通过购买具备超级计算能力的大型机来实现,但是那样在成本投入上是巨大的。对于一般计算机,计算能力是有限的,虽然摩尔定律(摩尔定律被普遍认为在过去30年相当有效,未来10~15年依然适用)说计算能力每18个月可以翻一番,但要达到大型机的性能,很长一段时间内还是难以实现的。因此,为突破摩尔定律的限制,将多台低成本计算机通过集群方式,以并行计算来获取更大的计算能力,成为各种追求高性能计算的主流方向。
以互联网应用为例,有的计算服务要求提供超级计算能力,如大型搜索引擎的构建,就是大量服务器群共同协作实现的巨量计算。
科研领域并行计算的主流技术是MPI(Message Passing Interface),但以支持Fortran、C语言的科学计算为优势。云计算领域的代表性技术是Hadoop(还有其他类似的分布式计算技术),突出商用的扩展性架构、大数据量处理,大大简化开发难度,屏蔽系统底层的复杂性。
Hdoop是目前互联网广泛使用的一种云计算支撑架构,借助于Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于大型计算机集群上,完成海量数据的计算。这一类的集群架构将服务器按群分置不同角色群,角色协同完成大规模计算任务,这些角色包括:NameNode,在 HDFS 内部提供元数据服务;DataNode,为 HDFS 提供存储块。NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件,负责管理文件系统名称空间和控制外部客户机的访问。DataNode 响应来自 HDFS 客户机的读写请求。NameNode 与每个 DataNode 有定期心跳(heartbeat)消息检查健康性。
分布式文件系统的设计需求对应到网络的架构上主要有:并发吞吐性能、可伸缩性、容错需求等。
HDFS的目标就是构建在大规模廉价机器上的分布式文件系统集群,一个文件可以表示为其内容在不同位置的多个拷贝。这样做带来两个好处:访问同一个文件时可以从多个服务器中获取从而改善服务的伸缩性;另外就是提高了容错能力,某个副本损坏了,仍然可以从其他服务器节点获取该文件。同时,集群内部还通过心跳检测、集群的负载均衡等特性提升容错性。
传统HDFS采用一种称为rack-aware的策略来改进数据的可靠性、有效性和网络带宽的利用,典型的组网逻辑如图3所示。图3中每个交换及所接服务器被安装在数据中心的同一个机架(rack)内,该交换机称为Top of rack switch,典型情况下每个机架内部署40台服务器(国外比较流行,国内当前达到这样密度的IDC很少),一般采用48千兆端口的交换机,传统设计中会采用4~8个千兆上行,因此每个机架上行的带宽收敛比一般在5:1~10:1。
不同机架间的两台机器的通信需要通过交换机,通常情况下,同一个机架内的两个节点间的带宽会比不同机架间的两台机器的带宽大。因此Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。
通过一个称为Rack Awareness的过程,Namenode决定了每个Datanode所属的rack id。一个简单但没有优化的策略就是将副本存放在单独的机架上。这样可以防止整个机架(非副本存放)失效的情况,并且允许读数据的时候可以从多个机架读取。这个简单策略设置可以将副本分布在集群中,有利于组件失败情况下的负载均衡。但是,这个简单策略加大了写的代价,因为一个写操作需要传输block到多个机架。
为了降低整体的带宽消耗和读延时,HDFS会尽量让reader读最近的副本。如果在reader的同一个机架上有一个副本,那么就读该副本。如果一个HDFS集群跨越多个数据中心,那么reader也将首先尝试读本地数据中心的副本。
HDFS支持数据的均衡分布处理,如果某个Datanode节点上的空闲空间低于特定的临界点,那么就会启动一个计划,自动地将数据从一个Datanode搬移到空闲的Datanode。当对某个文件的请求突然增加时,也可以启动一个计划创建该文件新的副本,并分布到集群中以满足应用的要求。
Hadoop系统在开发过程中关注了数据交换对象(计算节点)之间的距离,实际上是考虑了网络构建模型中带宽不匹配的因素。这种因素的引入,不仅编程人员需要关心,业务部署人员、网络维护人员也都要关心,在小规模环境下还能够勉强运行,但是如果要支持全互联网级的大规模应用,集群可能达到数千台、数万台,业务的部署、扩展、运行、支撑都会存在很多问题。
随着网络交换万兆技术的发展和设备成本的不断降低,目前大规模集群的构建也发展到新的阶段,需要新的网络结构来支持和运行:
•无阻塞网络架构:满足集群环境中所有服务器的对等通信要求,任意节点之间可以达到相等带宽(当前是以千兆为主),服务器应用程序不再关注数据交互节点是在一个机架内还是在其他机架。
•大规模集群能力:当前2000台规模的服务器集群已经在互联网行业广泛部署,随着云计算业务的开发提供,更大规模的集群(5000~10000台)将成为支持云计算的主流网络结构,无阻塞架构是这种网络的基本要求。
•足够扁平化的架构:所谓扁平化就是极大地减少组网结构层次,目前数据中心扁平化结构以两层物理网络为主流。在还是千兆为主的服务器端口条件下,接入交换机的用户端口数一般为48个千兆,要满足无阻塞的跨机架带宽,则上行带宽需要5个万兆(当然也可以只使用40个千兆接入、4个万兆上行),而核心交换则需要高密的万兆(>120)全线速能力。
图4是一种新的无阻塞网络模型,也被称为CLOS组网结构。在接入层交换机当前可达到50个千兆端口(常规是48个,可用两个万兆自适应千兆),无阻塞上行5个万兆到5台高密万兆核心设备,当核心万兆密度超过140个端口时,则整个集群规模可达到7000台服务器。网络规划上将二层终结在接入层,使用等价路由将接入交换机的上行链路带宽进行负载分担,从而可以实现整个网络的无阻塞交换,任意服务器端口之间可以具有千兆线速的能力,完全消除了云计算集群内部的带宽限制因素。
消除了带宽限制的无阻塞集群,应用内部交换数据变得足够灵活,数据访问不再受限于服务器的物理位置,将使得数据中心的流量在大范围内流动。以无阻塞网络构建的大规模计算群,更有利于云计算性能的充分发挥。
云计算的大规模运营,给传统网络架构和传统的应用部署经验都带来了挑战,新一代网络支撑这种巨型的计算服务,不论是技术革新还是架构变化,都需要服务于云计算的核心要求――动态、弹性、灵活,并实现网络部署的简捷化。