云计算数据中心网络技术.doc
《云计算数据中心网络技术.doc》由会员分享,可在线阅读,更多相关《云计算数据中心网络技术.doc(67页珍藏版)》请在三一办公上搜索。
1、云计算数据中心网络技术1 前言本文希望能够帮读者对云计算的数据中心的网络的技术建立起全面的结构性认识,因此除了总体思路的描述外,在介绍过程中也会力争用三言两语对前面部分中涉及的每个技术点都有所说明,至少让人明白这个东东怎么来的,要干啥和怎么干。但由于受篇幅所限,无法做到很详细,大家如果对某个技术点真感兴趣时,还是去网上找些更细节的资料来理解,本文是打算没有写成一本书的。力争做到让文档读起来不感到枯燥吧,对作者来说那是相当有挑战的。2 云计算最早接触这个词好像是06年了,当时也是刚刚开始接触数据中心不久,这几年眼睁睁看着它被炒作得一塌糊涂,现在已经成为非常给力的一个概念。和别人谈数据中心要是不提
2、云计算,你还真不好意思张这个嘴。服务器厂商在喊云计算,网络、操作系统、应用软件甚至存储厂商都在喊。大家各喊各的,让我们感觉听上去都有那么点儿味道,但下来仔细一琢磨大都还在云里雾里。看看这张网上截取的云计算产业全景图,估计没有几个能够不头晕的。云计算的各方面定义很多,基于用户的视角来看,目的就是让使用者在不需了解资源的具体情况下做到按需分配,将计算资源虚拟化为一片云。站在高处看,当前的主流云计算更贴切于云服务,个人认为可理解为早先运营商提供数据中心服务器租用服务的延伸。以前用户租用的是一台台物理服务器,现在租用的是虚拟机,是软件平台甚至是应用程序。公认的三个云计算服务层次是IaaS(Infras
3、tructure as a Service)、PaaS(Platform as a Service)和SaaS(Software as a Service),分别对应硬件资源、平台资源和应用资源。对于用户来说:1、当提供商给你的是一套a 个核CPU、b G大小内存的主机、c M带宽网络以及d G大小存储空间,需要你自己去装系统和搞定应用程序,那么这就是IaaS,举例如Amazon EC2;2、当提供的是包含基本数据库和中间件程序的一套完整系统,但你还需要根据接口编写自己的应用程序时,那么就是PaaS,举例如Google AppEngine、Microsoft Azure和Amazon Simp
4、leDB, SQS;3、最傻瓜的方式自然是连应用程序都写好了,例如你只需要告诉服务提供商想要的是个500人的薪酬管理系统,返回的服务就是个HTTPS的地址,设定好帐号密码就可以访问过去直接使用,这就是SaaS了,如SalesForce、Yahoo Hadoop和Cisco Webex: Collaboration SaaS等。为啥举例都是国外的呢,因为国内目前的云服务状况是,能提供的都处于IaaS阶段,有喊着要做PaaS的,但还没听说有SaaS的。说完公共的,该讲些私货了。个人理解云计算的核心首先是计算,什么网络、存储、安全等等都是外延,从技术上讲云计算就是计算虚拟化。最早的云计算来自于网格计
5、算,通过一堆性能较差的服务器完成一台超级计算机才能完成的计算任务,简单的说就是计算多虚一。但是现如今一虚多(VM/XEN等)也被一些厂商扯着大旗给忽悠进来,并且成为主流。但是单从技术角度来看,这两者是南辕北辙的。因此云计算技术在下面被作者主观的分为集中云与分散云两个概念来阐述。2.1 集中云首先是集中云,根正苗红的多虚一,最早期的也是目前最大的一个典型实际用户就是Google了 (注意这里说的不是现在Google云服务)。搜索引擎是超级消耗资源的典型应用,从你在网页上一个关键词的搜索点击,到搜索结果的产生,后台是经过了几百上千台服务器的统一计算。至于搜索引擎的工作模型本文就不多说了,网上很多资
6、料的。随着互联网的发展,现在的开心、淘宝、新浪微博等等(好孩子不翻墙),虽然使用者看到的只是在简单的页面进行点击输入,但是后台的工作量已经远远不是少量几台大型服务器能够胜任的了,即使天河一号也不见得能搞定。集中云的应用主力就是这些大型的互联网内容提供商们,当然还有一些传统应用如地震、气象和科研项目的计算也会存在此类需求。了解了需求,下面简单谈下技术,上图是Cluster集群多虚一技术的简单分布,除了按照承载网络类型可分成Infiniband和Ethernet外,根据技术分,还可分为Active-Standby主备与LoadBalance负载均衡两类。主备模式好理解,所有的Server里面只有一
7、台干活,其他都是候着的,只有侦听到干活的歇菜了,才开始接管处理任务。主备模式大部分就二虚一提供服务,多了如三虚一什么的其实意义都不太大,无非是为了再多增加些可靠性。主备模式以各类HA集群技术为代表。而负载均衡模式复杂一些,在所有的LB技术中都存在两个角色,协调者与执行者,协调者一般是一个或多个(需要主备冗余时),主要工作就是接活儿和分活儿(有点儿像包工头);而执行者就只处理计算了,分到啥就完成啥,典型的苦力。从流量模型上来说,LB集群技术有来回路径一致和三角传输两种,来回路径一致指流量都是客户发起连接,请求协调者进行处理,协调者分配任务给执行者进行计算,计算完成后结果会都返回到协调者,再由协调
8、者应答客户。这种结构简单,计算者不需要了解外界情况,由协调者统一作为内外接口,安全性最高。此模型主要应用于搜索和地震气象科研计算等业务处理中。三角传输模型指计算者完成计算后直接将结果反馈给客户,此时由于计算者会和客户直接通信,造成安全性降低,但返回流量减少了协调者这个处理节点,性能得到很大提升。此模型主要应用于腾讯新浪的新闻页面和阿里淘宝的电子商务等WEB访问业务。集中云在云服务中属于富人俱乐部的范围,不是给中小企业和个人玩的,实际上都是各大互联网服务提供商自行搭建集中云以提供自己的业务给用户,不会说哪天雅虎去租用个Google的云来向用户提供自己的新闻页面访问。集中云服务可能的租用对象是那些
9、高度科研项目,因而也导致当前集中云建设上升到国家宏观战略层面的地位。你能想象哪天百度的云服务提供给总装研究院去计算个导弹轨迹,核裂变什么嘛,完全不可能的事。最后是多虚一对网络的需求。在集中云计算中,服务器之间的交互流量多了,而外部访问的流量相对减少,数据中心网络内部通信的压力增大,对带宽和延迟有了更高的要求,自然而然就催生出后面会讲到的一些新技术(L2MP/TRILL/SPB等)。题外话,当前的多虚一技术个人认为不够给力,现在把10台4核CPU的服务器虚拟合一后,虚拟的服务器远远达不到一个40核CPU的计算能力。准确的说现在的多虚一只能基于物理服务器的粒度进行合并,理想的情况应该是能够精细到C
10、PU核以及每台设备的内存缓存等等物理构件虚拟合一。这块应该就涉及到超算了,不熟不深谈。总的来说认为技术进步空间巨大,有些搞头。2.2 分散云再讲分散云,这块是目前的主流,也是前面提到的云服务的关键底层技术。由于有VMware和Citrix等厂家在大力推广,而且应用内容较集中云更加平民化,随便找台PC或服务器,装几个虚拟机大家都能玩一玩,想干点儿啥都成,也就使其的认知度更加广泛。一虚多的最主要目的是为了提高效率,力争让所有的CPU都跑到100%,力争让所有的内存和带宽都占满。以前10台Server干的事,我整两台Server每台跑5个虚拟机VM(Virtual Machine)就搞定了,省电省空
11、间省制冷省网线,总之省钱是第一位的(用高级词儿就是绿色环保)。技术方面从实现方案来看,目前大致可分为三类:操作系统虚拟化OS-Level在操作系统中模拟出一个个跑应用程序的容器,所有虚拟机共享内核空间,性能最好,耗费资源最少,一个CPU号称可最多模拟500个VPS(Virtual Private Server)或VE(Virtual Environment)。缺点是操作系统唯一,如底层操作系统跑的Windows,VPS/VE就都得跑Windows。代表是Parallels公司(以前叫SWsoft)的Virtuozzo(商用产品)和OpenVZ(开源项目)。Cisco的Nexus 7000猜测也
12、是采用这种方案运行的VDC技术,但不太清楚为什么会有最多4个VDC的数量限制,也许是基于当前应用场景进行规格控制的一种商业手段。主机虚拟化Hosted先说下Hypervisor或叫做Virtual Machine Monitor(VMM),它是管理虚拟机VM的软件平台。在主机虚拟化中,Hypervisor就是跑在基础操作系统上的应用软件,与OS-Level中VE的主要区别在于:Hypervisor构建出一整套虚拟硬件平台(CPU/Memory/Storage/Adapter),上面需要你再去安装新的操作系统和需要的应用软件,这样底层和上层的OS就可以完全无关化,诸如Windows上跑Linux
13、一点儿问题没有;VE则可以理解为盗用了底层基础操作系统的资源去欺骗装在VE上的应用程序,每新创建出一个VE,其操作系统都是已经安装好了的,和底层操作系统完全一样,所以VE比较VM(包括主机虚拟化和后面的裸金属虚拟化)运行在更高的层次上,相对消耗资源也少很多。主机虚拟化中VM的应用程序调用硬件资源时需要经过:VM内核-Hypervisor-主机内核,导致性能是三种虚拟化技术中最差的。主机虚拟化技术代表是VMware Server(GSX)、Workstation和Microsoft Virtual PC、Virtual Server等。裸金属虚拟化Bare-metal裸金属虚拟化中Hypervi
14、sor直接管理调用硬件资源,不需要底层操作系统,也可以理解为Hypervisor被做成了一个很薄的操作系统。这种方案的性能处于主机虚拟化与操作系统虚拟化之间。代表是VMware ESX Server、Citrix XenServer和Microsoft Hyper-V。上图描述了三种虚拟化方案的形态区别。当前分散云数据中心服务器虚拟化使用的主要是Bare-Metal方案。分散云给数据中心网络带来了新的挑战,虚拟机之间的数据通信管理需求促使了一系列网络新技术的发展。在OS-Level与Hosted方案中,虚拟机都是架设于操作系统之上的,因此VM/VE之间的通信主要由同样运行于基础操作系统之上的网
15、络交换应用程序来完成。而在最主流的Bare-Metal结构中,由于Hypervisor薄操作系统的引入,性能、管理、安全和可靠性等多维度的考虑,造成VM间网络通信管理发展出不同的技术道路(EVB与BPE),后文会对这些技术方向加以详述。VMware ESX与Xen/Hyper-V的Bare-Metal方案实现结构有所不同,简单如下图所示。分散云除了给网络带来上述的VM通信问题,同样由于其对服务器硬件能力的极端榨取,造成网络中的流量压力增大,与集中云一样存在着带宽扩展的需求。原本一台服务器一个操作系统跑一个应用只需要10M流量带宽就够了,现在装了10个VM跑10个应用,带宽可能就需要100M了。
16、大型机与小型机的一虚多技术早在30年前IBM就做出来了,现在RISC平台上已经相当完善了,相比较而言X86架构的虚拟化才处于起步阶段,但X86架构由于性价比更高成为了分散云计算的首选。X86架构最早期是纯软件层面的Hypervisor提供虚拟化服务,缺陷很多,性能也不够,直到2006年Intel推出了实现硬件辅助虚拟化的VT技术CPU产品后才开始迅猛发展(AMD也跟着出了VM技术)。硬件辅助虚拟化技术主要包括CPU/Chipset/Network Adapter等几个方面,和网络技术紧密相关的就是网卡虚拟化了,后文会对如SR-IOV等网卡虚拟化技术应用进行更具体分析。随着2007年Intel
17、VT FlexMigration技术的推出,虚拟机迁移成为可能,2009年Intel支持异构CPU间动态迁移再次向前迈进。vMotion这里再多唠叨几句vMotion技术。vMotion是VMware公司提出的虚拟机动态迁移技术名称(XEN也有相应的XENMotion技术),由于此名称被喊得最早,范围最广,认知度最高,因此下文提到虚拟机迁移技术时大都会使用vMotion来代称。先要明确vMotion是一项资源管理技术,不是高可靠性技术,如果你的某台服务器或VM突然宕机了,vMotion是无助于应用访问进行故障切换和快速恢复的。vMotion是将一个正常的处于服务提供中的VM从一台物理服务器搬家
18、到另一台物理服务器的技术,vMotion的目的是尽可能方便的为服务管理人员提供资源调度转移手段,当物理服务器需要更换配件关机重启啦,当数据中心需要扩容重新安排资源啦,这种时候vMotion就会有用武之地了。设想一下没有vMotion上述迁移工作是怎么完成的,首先需要将原始物理服务器上的VM关机,再将VM文件拷贝到新的物理服务器上,最后将VM启动,整个过程VM对外提供的服务中断会达到几分钟甚至几小时的级别。而且需要来回操作两台物理服务器上的VM,对管理人员来说也很忙叨。使用vMotion后,两台物理服务器使用共享存储来保存VM文件,这样就节省了上述步骤2中的时间, vMotion只需在两台物理服
19、务器间传递当前的服务状态信息,包括内存和TCP等上层连接表项,状态同步的拷贝时间相对较短,而且同步时原始VM还可以提供服务使其不会中断。同步时间跟VM当前负载情况及迁移网络带宽有关,负载大了或带宽较低使同步时间较长时,有可能会导致vMotion出现概率性失败。当状态同步完成后,原始物理服务器上的VM会关闭,而新服务器上的VM激活(系统已经在状态同步前启动完毕,始终处于等待状态),此时会有个较短的业务中断时间,可以达到秒级。再者vMotion是通过VMware的vCenter管理平台一键化完成的,管理人员处理起来轻松了许多。这里要注意vMotion也一定会出现业务中断,只是时间长短区别,不要轻易
20、被一些宣传所忽悠。想想原理,不论怎么同步状态,只要始终有新建发生,在同步过程中原始服务器上新建立的客户连接,新服务器上都是没有的,切换后这部分连接势必被断开重建,零丢包只能是理想值。VMware也同样建议将vMotion动作安排在业务量最少的时候进行。vMotion什么场景适用呢?首先肯定得是一虚多的VM应用场景,然后是对外业务中断恢复的可靠性要求极高,一般都是7*24小时不间断应用服务才用得上,最后是计算节点规模始终在不断增长,资源调度频繁,管理维护工作量大的数据中心。另外共享存储这个强制要求会给数据中心带来了整体部署上的限制,尤其是下面提到的跨数据中心站点vMotion时,跨站点共享存储的
21、问题解决起来是很麻烦的,由于这部分内容和网络关系不大,属于存储厂商的地盘,对跨站点共享存储技术有兴趣的读者可以参考EMC/IBM等厂商的资料看看,本文就不过多介绍了。vMotion的出现推动了数据中心站点间大二层互联和多站点动态选路的网络需求,从而导致OTV和LISP等一系列新网络技术的出现。2.3 云计算小结通过前面的描述,希望大家能对云计算有个较为清晰的概念。云计算还有一大块内容是平台管理资源调度方面(目前很多厂家吆喝的云计算都是云平台)。这部分主要针对客户如何更便捷的创建与获取虚拟化服务资源,实际过程就是用户向平台管理软件提出服务请求,管理平台通过应用程序接口API(Applicatio
22、n Program Interface)将请求转化为指令配置下发给服务器、网络、存储和操作系统、数据库等,自动生成服务资源。需要网络做的就是设备能够识别管理平台下发的配置,从技术创新的角度讲,没有啥新鲜东西,就不多说了。当前的云平台多以IaaS/PaaS为主,能做到提供SaaS的极少。但在今后看来,SaaS将会成为云服务租用主流,中小企业和个人可以节省出来IT建设和维护的费用,更专注于自身的业务发展。总结一下云计算给数据中心网络带来的主要变化:1、 更高的带宽和更低的延迟2、 服务器节点(VM)规模的增加3、 VM间通信管理4、 跨数据中心站点间的二层互联以承载vMotion题外再多说两句,计
23、算虚拟化中一虚多与多虚一结合使用才是王道。但目前云计算服务提供商能够提供的只是先将物理服务器一虚多成多台VM,再通过LB/集群计算等技术将这些VM对外多虚一成一个可用的资源提供服务。个人感觉,如果能做到先将一堆物理服务器虚拟成一台几万个核Super Computer,用户再根据自己的需要几个几十个核的自取资源,这样才更有云计算的样子, Super Computer就是那朵云。当然计算虚拟化的时候不光是核的调配,还要包括IO/Memory等一起进行调度,这里只是简单举例。3 数据中心数据中心的产生有多早?从人类开始将信息记录到介质上传递开始就有了数据中心,那个记载信息的介质(石头或树皮)就是数据
24、中心,不过那时的网络是靠手手相传而已。如果更甚一些,可以理解人类产生语言开始,知识最多的人(酋长/祭祀)就是数据中心,口口相传就相当于现如今的网络传输。有人该说,夸张了哈,写作手法而已,只是想突出一下数据中心的重要性。当计算机网络连接到Server的那一刻起,整个世界的网络就从网状变成了树状,一个个数据中心就是网络世界的根。3.1 Client与Server在所有的数据通信会话中,只有两个永恒的角色,Client与Server。为了下文叙述简便,作者把数据中心内部的终端统一称之为Server,数据中心外部的为Client。这样网络间的流量通信就只剩下Client-Server(CS)与Serv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 数据中心 网络技术
链接地址:https://www.31ppt.com/p-2400575.html