【转载】硬件开源(下):从边缘走向核心的网络

摘要:从最初服务器内部夹层卡,到硬件、ONIE、OpenNetworkLinux、OpenNSL及Facebook(FBOSS agent和OpenBMC)等网络生态链各环节的全面开花,继服务器存储之后,OCP网络项目也日趋壮大……
作者:张广彬    来源:http://www.testlab.com.cn/Inde ... .html   2015-06-17
关键词:网络    数据中心    OCP    Facebook    
 

续上篇《硬件开源:始于Google Facebook重新定义数据中心》

网络:从边缘走向核心

Intel 在至强E5-2600的参考平台中力推夹层卡(Mezzanine Card)设计,特别是网卡,让高密度的机器获得和标准(PCIe)插卡接近的灵活性。这一思想在同样基于至强E5-2600的OCP Intel V2.0主板上得到了很好的体现,按照OCP Mezzanine Card 1.0规范设计的夹层卡,安装位置在主板前端(冷通道侧),便于维护。

联想天蝎2.0整机柜服务器节点用的就是万兆OCP夹层卡CX341A,Mellanox ConnectX-3 EN家族的单端口10GbE网卡,以色列原厂生产(来源:张广彬拍摄,2015年1月)

就 标准机架服务器而言,网卡采用夹层卡设计的紧迫性不高,还会提高成本,所以OEM大厂的响应不是很热烈。支持者如戴尔等将灵活性作为主要卖点,以 Broadcom或Intel的网卡模块为主,希望能推动传统企业用户加速向万兆网卡升级。强调密度的OCP服务器则大量采用Mellanox的万兆夹层 卡,丰富的特性如能降低传输延迟的RoCE(RDMA over Ethernet,以太网远程内存直接访问)和硬件虚拟化技术SR-IOV(Single Root I/O Virtualization,单根虚拟化)则是其附加值。甚至国内OEM服务器大厂如联想,亦在其天蝎2.0服务器节点中采用这种夹层网卡,如此“拿来 主义”精神对扩大OCP的覆盖有一定积极作用。

OCP夹层卡V2主要有三大改进:增加连接器B、扩大板上空间、可选I/O区域(来源:OCP Engineering Workshop)

OCP Intel V3.0主板加入了对OCP Mezzanine Card 2.0的支持。2.0版夹层卡新增了可选的第二连接器,以满足未来高速网络(如100GbE)的需求,外观上看更明显的变化是扩大了板上空间,支持的接口模块也从1.0的2个SFP+升至2个QSFP、4个SFP+或4个RJ45/10GBASE-T的多种选择。

符合OCP夹层卡V2规范的Mellanox CX443M(下,40GbE)与V1的前辈CX341A(上,10GbE)对比,左侧是外观上的变化,右侧可以看到,由于支持Multi-Host技 术,CX443M有多达4个MAC地址,可以支持最多4个独立的主机(服务器),即以一当四(4×10GbE)(来源:张广彬拍摄,2015年3月)

介绍到这里有必要指出,夹层卡属于服务器项目。OCP在网络项目上的起步相对较晚,从2013年才开始有规范产生,2014年逐渐壮大。这个发展过程,与 Altoona数据中心的建设轨迹高度重合——2013年4月宣布建设,2014年4月底第一栋建筑完工,2014年11月中正式上线。

网络项目是Facebook在2015年重点开花的领域,Accton(硬件)、Cumulus Network(ONIE)、Big Switch Networks(OpenNetworkLinux)、Broadcom(OpenNSL)及Facebook(FBOSS agent和OpenBMC)各显其能(来源:第六届OCP峰会Jay Parikh的演讲材料)

在 Altoona数据中心之前,Facebook采用名为“4-post”的汇聚集群架构,优点是冗余性和超额配置很好,拓扑结构扁平,没有路由器互连集 群。问题在于,CSW和FC需要非常大的交换机,不仅限制了供应商的选择范围(每端口TCO很高),专有内部构件不允许定制化、管理复杂、修复漏洞等待时 间长,超额交换结构不能同时使用所有端口,端口密度限制拓扑结构的规模和带宽……而且,集群内和集群间的流量都只有4个交换机处理,一个交换机故障就会造 成严重影响——损失25%的集群内流量(CSW)或集群间流量(FC)。

Facebook的“4-post”集群架构因立体来看,保护环上的4个交换机形成4个“post”而得名。多达225个服务器机柜通 过ToR交换机(RSW)连接到高密度集群交换机(CSW),RSW有多达44个10G下行链路和4或8个上行链路,4个CSW机器连接的RSW组成一个 集群,RSW和CSW之间的超额配置通常为10:1;4个“FatCat”(FC)汇聚交换机互连集群,每个CSW有4个40G(10G×4)上连到每个 FC,超额配置通常为4:1。一个80G保护环连接每个集群内的CSW,FC连接到160G保护环(来源:Facebook数据中心网络架构论文)

据Network World介绍,为了从根本上解决集群架构的问题,Altoona的下一代架构采用了如下的做法:

使用大量小型交换机,交换机故障只对整体容量带来较小的影响;
端口密度分布在多台交换机,易于过渡到更高密度端口并减少内部超额配置;
交换机内部架构应该是开放、无阻塞的,并基于商用芯片,鼓励定制化、简化管理和故障排除,并缩短漏洞修复的等待时间;
寻找比集群更小的模块化单元,可以复制用于广泛的用途,并能经济地部署到各地的数据中心……
降低资本和运营支出(CAPEX和OPEX,即总体TCO);
快速、简单和便宜地适应任何速度的增长。

Facebook提出解耦核心与pod的设计,作为基本网元的pod(下部特写)包含48个ToR,通过4个40G上连到4个 Fabric交换机,形成一个折叠的3级Clos结构,或所谓的分支和主干(leaf-and-spine)拓扑。每个pod只包含48个服务器机柜,不 到原来的五分之一,规模明显减小。按照每个ToR交换机48个10G下连计算,pod的超额配置为3:1(160G上连),也比10:1有明显的改进(来 源:Network World)

这显然需要网络硬件的大力支持。按照OCP官网上的说法,网络项目最初的目标是开发分支(leaf,指ToR)交换机(前述“使用大量小型交换机”),然后是主干(spine,相当于Aggregation)交换机和其他硬件及软件方案。

三层网络的Aggregation(汇聚)/Access(接入,如ToR)与二层网络的Spine(主干)/leaf(分支)存在一定 的对应关系,后者更适应东西向(服务器间)流量为主的大趋势(来源:Cumulus Networks)

网 络设备与服务器的同源性还没有存储设备那么高,以交换机与服务器的配比,密度早不是一个级别,扩充空间不是优先考虑的事情。已有的几款OCP定制交换机在 外形尺寸上很常规,标准RU、能装在19英寸机架里即可,电源和风扇的布置方式也很传统,有助于被企业市场接受。目前,OCP网络硬件追求的是类似服务器 的使用体验乃至生命周期,包括控制平面与数据平面的高度模块化、软件与硬件解耦合,以实现定制的灵活性(DIY),避免被供应商锁定——那意味着丧失议价 权,降低CAPEX和OPEX自然无从谈起。

OCP网络项目的阶段性目标,先从传统单体式(Monolithic)交换机到软硬件解耦,再进一步模块化。硬件部分包括模块化机箱、交换机模块和“Group Hug”微服务器(来源:Facebook)

数据平面的核心是ASIC(如Broadcom)或FPGA,不乏支持40GbE的方案;控制平面的CPU可以是x86(如AMD的嵌入式SoC,或 Intel Atom/Xeon D-1500系列)、PowerPC(如Freescale多核PPC)、MIPS(如Broadcom多核MIPS)以及ARM。截至2015年2月 底,OCP已经公开了6款交换机(Accton、Broadcom/Interface Masters、Mellanox和Intel各1款,Alpha Networks有2款)的设计,其中的半数方案可以根据需要配置为ToR或汇聚(aggregation)交换机。

Facebook主干与分支网络的立体拓扑,高度模块化的设计使Facebook可以在任何层面快速扩展容量:需要更多计算容量,添加服务 器pod;需要更多fabric内网络容量,在所有平面添加主干交换机;需要更多fabric外连接,增加边缘pod或扩展现有边缘交换机的上行链路(来 源:Facebook网络工程师Alexey Andreyev)

软件与硬件解耦,ONIE是关键,也是OCP网络项目早期的重点工作。ONIE即Open Network Install Environment(开放网络安装环境),是一个定义用于裸金属(bare metal)网络交换机的开放“安装环境”的开源项目。传统的以太网交换机有预安装的操作系统,拿来就用,直接管理,但会锁定用户;所谓的白盒 (white-box)网络交换机提供了选择硬件的自由,但不同的CPU架构等导致异构的管理子系统,又给上面的网络操作系统制造了困难。

Fabric优化的Facebook数据中心网络物理拓扑(来源:Facebook)

ONIE定义了一个开源的“安装环境”,将boot loader(引导装载程序)与现代的Linux内核及BusyBox相结合,提供了一个可以安装任何网络操作系统的环境,有助于自动化大型数据中心的(上千台)交换机配给,让用户像管理Linux服务器一样管理交换机。

Juniper OCX1100交换机效果图(来源:Juniper官网)

上 述成果的直观体现就是Juniper Networks(瞻博网络)2014年12月初发布的OCX1100交换机,在Alpha Networks SNX-60x0-486F的硬件上运行前者基于Linux的Junos操作系统,预计于2015年第一季度上市。SNX-60x0-486F是 Alpha Networks公司设计的OCP交换机,由一个BCM56854(Broadcom TridentⅡ)芯片提供48端口10G SFP+和6端口40G QSFP,CPU子系统为Freescale(飞思卡尔)P2020或Intel C2558,可作为ToR或汇聚交换机使用。Dell(提供如Z9500-ON数据中心核心及汇聚交换机)与Cumulus Networks的合作也属于类似的情况。

2014年6月公开的Wedge交换机硬件设计,1U规格,适用于标准19英寸机架,可以通过Open Rack Switch Adapter(ORSA)安装在Open Rack上。控制平面采用OCP微服务器(Group Hug),数据平面基于Broadcom TridentⅡ40Gb ASIC(商用芯片),双冗余供电单元,4个风扇(来源:Facebook)

就像上一章说过的,Scale-out(横向扩展)不代表单点不需要Scale-up(纵向扩展),只要掌握了主导权,Facebook不会拒绝核心交换 机。2014年6月,Facebook展示了其设计的新款ToR交换机(代号Wedge),基于Accton的硬件,有多达16个40GbE端口,支持 Intel、AMD和ARM的CPU,配以基于Linux的操作系统(代号FBOSS)。

FBOSS Agent(到交换机ASIC的核心库)、OpenNSL(Open Network Switch Library,Broadcom提供的开放网络交换机库)、Open BMC(板上低级系统管理)与Wedge交换机硬件的关系(来源:第六届OCP峰会网络项目主题演讲材料)

2015 年2月11日,Facebook宣布推出第一款开放硬件模块化交换机“6-pack”,7RU的机箱,装有8个基于Wedge的交换机和2个fabric 卡,共6层,底下还有一层供电模块,风扇集中在机箱后面。作为Facebook数据中心Fabric(紧耦合网络)的核心,6-pack将使 Facebook可以组建更大规模的集群,而不是将集群分为多个,并因集群间的网络链路而限制集群的规模。

6-pack硬件平台,交换机模块两两并列放置。PSU集中于底部,总数只有8个Wedge的四分之一;风扇模块集中于后部,总数减少有限,还有进一步优化的空间(来源:Facebook)

Wedge已通过OCP公开设计规范,6-pack暂时还没有。

摆在6-pack上的交换机模块(左),去掉了PSU,宽度较Wedge(右)大为减少,所以能在同样的宽度内并排容纳2个(来源:张广彬,拍摄于第六届OCP峰会)




反哺与变局:来自传统巨头的支持

2014年是OCP变动很大的一年,尽管也遇到了一些困惑,但生态系统明显壮大了起来,特别是体现出对传统软硬件厂商的吸引力。

1月底召开的第五届OCP峰会上,微软高调宣布加入OCP,风头明显盖过一同亮相的IBM、Yandex、Cumulus Networks、Box、松下、Bloomberg、IO、LSI(已被Avago收购)。相比行动迟缓的IBM,微软可谓诚意十足——贡献了用于全球云服务(如Windows Azure、Office 365和Bing)的开放云服务器(Open CloudServer,OCS)设计作为“投名状”。

第六届OCP峰会上展出的微软开放云服务器(来源:张广彬拍摄)

单论数据中心的规模,微软应该比Facebook和还在疯狂赶进度的IBM/SoftLayer(也是10万+台服务器的Tier 2互联网客户)加在一起都大,把新硬件的采购换成OCP就已经是天大的喜讯了,再贡献一组硬件设计规范及管理软件源码,Staya Nedella还没上任就大赦天下?

微软开放云服务器的侧面,互联网巨头们的服务器如此能装,加大深度是一大法宝(来源:张广彬拍摄)

显然没那么简单,微软似有与Facebook“共分天下”之意。

微软开放云服务器集中风扇的设计颇似天蝎整机柜,后端走线则与天蝎和Open Rack都不同(来源:张广彬拍摄)

现 在OCP的服务器规范与设计页面中,开放云服务器的资料列在最上面,在2014年的Engineering Workshop里也是服务器部分的宣讲重头。OCS的12U机箱为EIA 310-D 19英寸机架而设计,半宽的计算和存储刀片,每U两节点(1U2),集中风扇、PSU和管理单元(Chassis Manager),很不Open Rack,更像做成12U的天蝎1.0整机柜(下一章介绍)。如此看来,要把天蝎项目纳入OCP,确实不是技术上的问题——只要BAT愿意……当然是在开 放数据中心委员会(Open Data Center Committee,ODCC)成立之前。

安装在19英寸机架上的微软开放云服务器,上面左右分别为计算节点(4个3.5英寸硬盘)和JBOD(10个硬盘)(来源:OCP Engineering Workshop)

2014 年10月底在巴黎召开的欧洲峰会上,公布了OCS V2规范。V2的计算刀片将CPU从V1的双路Intel Xeon E5-2400 v2(10核/CPU)升级为最新的双路Intel Xeon E5-2600 v3(14核/CPU,v3没有2400),内存随之由12个DDR3-1333升级为16个DDR4-2133,支持的容量范围也从64-192GB扩 至128-512GB。计算能力大为增强,但CPU的TDP也从95W(应为E5-2470 v2)提高到120W(应为E5-2683 v3),因而每个刀片的能耗从不到250W增至300W或以上。

开放云服务器的机箱组件,机箱管理卡类似于天蝎整机柜的RMC,特点是运行Windows Server 2012 R2,微软已通过OCP开源机箱管理软件的代码(来源:OCP Engineering Workshop)

所以,OCS V2的机箱也进行了升级,首先是6个PSU从1400W换成1600W,N+1配置时总容量8kW,支持24个计算刀片,N+N配置时为4.8kW。付出 的代价是供电的停顿时间(hold-up time)从10毫秒倍增为20毫秒,并以新的风扇匹配刀片的能耗。

OCS计算节点,左二是惠普在第六届OCP峰会上发布的HP Cloudline CL7300 for Open Cloud Server(同时还有HP Cloudline CL7100 for Open Rack,见第四章图),其右侧为戴尔的产品(来源:张广彬拍摄)

刀片性能的提高,对I/O带宽也提出了更高的要求,OCS V2每层托盘(Tray)的I/O从V1的双10GbE和双6Gb SAS(x4)升级为10/40GbE和双12Gb SAS(x4),并增加了PCI Express 3.0 x16的夹层卡。

2011年微软IT-PAC(IT Pre-Assembled Components,IT预组装部件)中的服务器机架,看似是开放云服务器的前身,目测机架高度应该在50U以上(来源:Data Center Knowledge)

存储刀片为可容纳10个3.5英寸硬盘驱动器的JBOD,V2也是从V1的6Gb SAS升级为12Gb SAS,单就硬盘密度而言,每机架可达800个硬盘。V1 JBOD仍可用于V2机箱,每个计算刀片自带4个3.5英寸硬盘(V1还支持2个2.5英寸SSD,V2增至4个,以及8个110mm M.2 PCIe NVMe模块)。每个计算刀片可连接1-8个JBOD,即支持14-84个硬盘。

Facebook的PB级蓝光归档存储系统(来源:The Register,2014年)

第 五届OCP峰会上还展示了Facebook的蓝光光盘归档存储系统,42U的空间内可以容纳1万张三层100GB光盘,容量达1PB,据称可以保存信息 50年。Facebook的前辈Google使用单盘容量更大的磁带,也有历史因素,Facebook则认为光盘代表着未来。

Google南卡Berkeley County数据中心的磁带备份系统,这张照片以前曾被误传为Google的服务器(来源:Google官网)

从 离线存储的角度来看,磁带与光盘各有千秋,短期内难分胜负。很快见效的是,2014年3月下旬,Frank Frankovsky宣布离开Facebook,去一家基于蓝光(Blu-Ray)光盘的冷存储初创公司(Optical Archive Inc.,2015年5月被Sony收购)担任CEO,但以独立身份保留在OCP基金会董事会的位置,并继续担任基金会主席兼总裁。董事会里必须有 Facebook的代言人,于是增补了Facebook基础设施总监Jason Taylor,以及微软负责云和企业业务的副总裁Bill Laing,规模扩大到7人。

第六届OCP峰会上展出的Sony光盘库原型,可容纳约1.5万张光盘,配备8个驱动器(来源:张广彬拍摄)

2012 年的EMC World期间,仍任COO的Pat Gelsinger接受TechWeekEurope采访时表示“No one is running mission critical infrastructure on Open Compute today......And even some of those who initiated those projects have backed away from them.”(今天没有人把关键业务基础设施放在Open Compute上……甚至一些发起那些项目的人已经放弃了它们。)但这并不妨碍老牌存储厂商EMC在2013年1月举办的第四届OCP峰会上宣布入伙,只是风头被一起加入OCP的ARM压过。因此,EMC World 2014上发布基于x86商用服务器硬件的ECS(Elastic Cloud Storage,弹性云存储)设备时,就被国外媒体问到是否与OCP有关。

VMware院士兼超融合基础设施(Hyper-Converged Infrastructure,HCI)首席架构师Raj Yavatkar描绘的EVO: RACK概念图,据称EVO:RACK Manager将贡献给OCP(来源:VMware官网博客)

这时Pat Gelsinger已担任EMC子公司VMware的CEO,2014年8月25日,该公司在自己的主场VMworld 2014上宣布成为OCP的黄金级(Gold level)会员,尚处于技术预览阶段的EVO: RACK则明确表示基于OCP硬件(广达的Rackgo X平台)——毕竟,VMware自身没有硬件包袱,更没必要亲自制造硬件。

IBM与Rackspace合作设计的Barreleye服务器支持2个POWER8处理器(8-12核),32个DDR3 DIMM。展示用的散热片可能过高,但从规格来看确实不像1U高度(来源:张广彬拍摄)

第 六届OCP峰会上,已入伙一年多的IBM终于展出了与Rackspace一起设计的OpenPOWER服务器,代号Barreleye——这是一种脑门透 明的鱼(学名:大鳍后肛鱼),可以直接透过脑门看到它的大脑,IBM认为很符合开放计算的精神——看来,尽管加入OpenPOWER基金会的中国公司很 多,至少起名时并没有征求他们的意见。会上只展出了支持2个POWER8处理器的主板而非整个系统,从散热片高度、支持3个15mm厚2.5英寸硬盘堆叠 等信息来看,Barreleye很有可能是1.5U规格(宽度符合Open Rack)。考虑到OpenPOWER联盟的发起者之一Google很爱玩1.5U,若果如此还真是有点意思。

OCP解决方案提供商StackVelocity在第六届OCP峰会上展出采用单路(1S)POWER8处理器的OpenPOWER服务器(来源:张广彬拍摄)

小结:模式、传承与融合

OCP下属项目越来越多,短短一章实在难以尽述,单独写一本书都是可以的。本章走马观花的概览了一些关键项目,有主要感受如下:

1.模式。OCP最成功之处无疑是创造了开源硬件的模式,虽然源于Facebook自家的定制需求,却在社区的协助下,进一步推动硬件的标准化与商品(commodity)化;
2.传承。开源软件的模式可以学,没有精通硬件的人才也搞不好。众多在硬件厂商乃至Google有多年数据中心相关技术积累的专业人才,为OCP的后发优势提供了可能;
3.融合。OCP已经体现出了来自互联网的第三平台对传统企业市场的第二平台的影响,微软和VMware、Juniper等在传统企业市场积累有软件资产,要颠覆现有硬件秩序或顺应潮流的,都来加盟。开源社区的特性和这些加盟者所做的工作,也会影响到OCP的发展方向。
 
本文转载自:http://www.testlab.com.cn/Inde ... .html
作者:张广彬
如有侵权,立即删除,谢谢!

1 个评论

做机箱和连接器的厂家看过来:-)

要回复文章请先登录注册