【CSDN编译】已经有越来越多人的达成共识,对于整个世界而言Google的数据中心就是一台计算机。计算机的所有硬件资源(CPU、内存、存储)都是可替代的,身处两地的硬件也是可以互相替换的,计算机不再有明确的所有人,它已经进化成服务的一部分。
FDS架构
Google是怎么做到的呢?正是采用了已经被验证过的系统架构和技术 ,帮助数据中心带来了深不可测的性能提升。MapReduc就是其中最著名的技术,被广泛应用于存储节点。
此外,采用了全新的网络拓扑,并使用全新的软件架构,这样你就可以将数据自由的存储在任何你希望它在的地方。数据中心俨然变成了计算机。
在服务器端,每个节点拥有8个PCI-E 3.0接口,提供高达每秒8GB的双向带宽,我们有足够的I/O来延续摩尔定律,饥饿的CPU野蛮的吞噬着数据包。未来,SoC将集成网络接口,提供更快的速度。
接下来的挑战是让网络如何工作。今年5月,微软利用分布式系统FDS创造了新的MinuteSort世界纪录(速度比采用Hadoop架构的Yahoo快了三倍,所用硬件资源只有后者1/6。),它展示了如何提供对等带宽(bisectional bandwidth)的方法,让每台计算机之间都能全速传输数据,这让数据存储在遥远的地方变得可能,数据不需要必须存储在当地的数据中心中。
建立一个负担得起的对等网络是需要绞尽脑汁选择方法的。基本的原则包括改变协议,更换路由器,或者更换主机托管商。微软给出的答案是更换托管商,并增加了集中控制层。
微软在VL2中详细说明了这一改变,VL2是一套可扩展并十分灵活的网络架构:
一个可用的网络架构可以通过扩展支持巨大的数据中心,并保证统一的高容量带宽,各个服务器拥有独立的带宽。VL2使用:(1)扁平寻址,这可以允许服务实 例被放置到网络覆盖的任何地方,(2)负载均衡将流量统一的分配到网络路径,(3)终端系统的地址解析拓展到巨大的服务器池,并不需要将网路复杂度传递给 网络控制平台。
VL2的核心思想是使用CLOS拓扑结构建立扁平的第二层网络。这样做的好处是,虚拟机在数据中心内任意移动,都永远不用改变IP地址。关于网络第二层ARP广播问题,通过改变ARP,并集中注册服务来解决。将不再产生广播风暴。
这种方法看上去很奇怪,不过我参加了Hot Interconnects大会,关于VL2的整个方案充满智慧。方案的成果显而易见,成本低、高带宽以及更低的东西部间的延迟,这一切都基于先进的软件架构。不过它不支持任意路由vSwitch的方法这一特性,这意味着你不能采用未来可能出现的效率更高的拓扑结构。
微软已建立FDS基准代码,并在其基础上发布了Blob Storage系统:
值得一提的是,在我们的系统中没有计算节点使用本地存储的数据,我们相信FDS系统极具竞争力。总过1470GB数据全部存放在远程,在一分钟内总共传输了4.4TB数据。
FDS总是在网络上发送数据。FDS采取两种方式减少数据传输成本。首先,我们给每个存储节点开通的网络带宽与其存储带宽匹配。SAS磁盘的读取性能达到120MB/s,或约1Gb/s,所以在FDS集群存储节点总是至少提供1Gb的网络带宽。第二,我们在存储节点与计算节点间使用了对等带宽网络, 即CLOS拓扑结构,在Monsoon项目中采用了这一架构。这两种方式将在远程的CPU和磁盘间融合建立互补干扰的通道,使系统的总I/O带宽基本上等 同于使用本地存储系统,如MapReduce。FDS其性质允许任何计算节点访问任何数据,并具有同等的吞吐量。
作为分布式文件系统FDS已经成为数据中心核心的架构组件。
通过10/100 Gbps网络和VL2以及FDS技术,我们取得了不错的进展,数据中心资源池内的CPU、内存、存储均做到可替换。但网络仍然是不可替代的,尽管我并不确认这意味着什么。 SDN将帮助网络成为第一级对象,但是由于性能的原因,网络永远不能真正的与拓扑结构脱离。