【转载】硬件开源(上):始于Google Facebook重新定义数据中心
摘要:拥有百万级服务器的Google和微软一直对其数据中心内的服务器设计讳莫如深,鲜为人知。而处于Tier 2的Facebook则通过开放硬件设计,利用OCP所构建的生态系统,让其影响力短时间内跻身于国际前列……
作者:张广彬 来源:http://www.testlab.com.cn/Index/article/id/1075.ht 2015-06-09
关键词:Facebook OCP 数据中心 Google AWS
看了前面两章,有没有一种(互联网)军备竞赛的即视感?那也难怪Google要严格保密了。
保密本就是数据中心行业的惯例。2014年11月,我独自去拉斯维加斯(Las Vegas)南部参观SuperNAP数据中心。下车后,几次试图用手机拍建筑外景,迅速被开着悍马巡逻的警卫阻止。进门等候预约时段,虽说在美国警卫持枪是再平常不过的事,但警卫室里那几位严阵以待、随时准备应付劫匪的架势,仍令我印象深刻。参观数据中心内部不允许拍照是行规,不过之前我参观数据中心都有专人陪同,还没享受过这么戒备森严的待遇。

SuperNAP 7数据中心的接待室,我在这里等了20多分钟,直到预约时间到。(来源:SuperNAP官网照片,下同)
这与托管(Co-location)数据中心的性质不无关系,必须为租户保密。自为客户的Google则将基础设施视为核心竞争力之一,这从该公司对基础设施一贯的重视程度也能感受到。因此,Google长期对其数据中心和定制硬件设计秘而不宣,员工入职时要签署保密协议,离开Google一两年内也不能透露。

SuperNAP数据中心的警卫室
但是,那些Google自己公开的数据中心内外景照片,又是怎么回事?
2009年3月,Facebook从Google挖来工作近6年(更早在思科做过实习生)的硬件工程师Amir Michael,主管硬件设计。2010年4月1日,Facebook宣布任命Ken Patchett主管其位于俄勒冈(Oregon)州Prineville的第一个自建数据中心。Ken Patchett的职业生涯从康柏(Compaq)起步,在微软积累了近6年的数据中心和网络运营经验。到Google后指导过位于俄勒冈州Dalles的数据中心,去Facebook之前还在亚洲工作了一年多,管理Google自有和托管的数据中心。转了一圈,又回到俄勒冈州。

2009年,Frank Frankovsky(左三,时任Facebook硬件设计及供应链总监)和Amir Michael(左四)、Pierluigi Sarti(右一,现任Facebook系统架构师)、Marco Baray(左一,时任Facebook技术运营经理/工程师,之前在McAfee服务器运营部门任职)、Ziad Abikaram(左二,时任Facebook技术项目经理,之前在微软Windows Live团队任高级项目经理)、Sandy Fortin(右二,2009年6月之后任Facebook技术运营部门供应商经理至今,之前在Google任技术项目经理)、Ali Heydari(右三,时任Facebook高级硬件工程师,然后在Twitter任同样职位,2014年11月起任百度高级技术总监/首席架构师)一行赴台湾启动定制服务器项目Freedom Project,在知名主板制造商华硕(Asus)公司总部大厅用废弃主板拼成的蒙娜丽莎像前合影(来源:Amir Michael的Facebook)
从服务器设计到数据中心运营,Facebook坚持挖Google墙角,后者又不好打官司——这意味着要公开更多细节。更绝的还在后面:2011年4月,乘Prineville数据中心投产之东风,Facebook宣布发起开放计算项目(Open Compute Project,OCP),开源了其包括数据中心、定制服务器在内的一系列硬件设计。

始于2009年推出留有Google印记的定制服务器,随着各种人才的陆续加入和经验积累,Facebook自主的范围扩大到整机柜和数据中心,还推出了RDDC(快速部署数据中心)的概念,本文陆续都会提及(图源:阿里技术保障部资深IDC专家陈炎昌&网络世界,2014年)
三年两大招,先挖人,再开放,Facebook在数据中心规模比Google差一个量级(几十万台对几百万台)的条件下,经常被与前三大(还有微软和亚马逊)相提并论,OCP居功至伟,甚至连“百万富嗡”(指服务器风扇的噪音,非贬义)微软和以自成体系闻名的苹果都来入伙。

夜幕下的SuperNAP 7数据中心,兼具Google与Facebook数据中心的特点,保密程度也介于两者之间,最大的区别在于其托管属性
Facebook将数据中心宣传的公关战提高到一个崭新的水平。Google在2012年10月对外公开了一些数据中心技术的情况,包括请记者参观,和网站上近百张高清晰度的照片。但是,对于IT设备(服务器和网络)及相关技术,Google依然讳莫如深,至多提及其已废弃的服务器。Urs参与的前后两版书里,也是以宏观理念和数据中心层面的建设原则为主。

Google位于俄勒冈州Dalles的数据中心依山傍水(哥伦比亚河),团队成员可以享受漂流、风力冲浪、钓鱼和徒步的乐趣。注意看左上角的山腰处(来源:Google官网)
有趣的是,AWS(Amazon Web Services,亚马逊网络服务)副总裁兼杰出工程师James Hamilton还对Google公开的这些信息分析点评了一番。曾被认为在技术中心实力和保密程度上与Google一时瑜亮的AWS,如今似乎是最神秘的了。
总体而言,在数据中心相关技术上,Google透露的是久远的历史和近期的状况,中间的壮大过程中传世不多,Facebook的发展史或许可资借鉴。
从一台服务器到多个数据中心
2004年2月,Mark Zuckerberg(马克·扎克伯格)在哈佛大学宿舍内将Facebook上线,当时只有一台服务器。仅仅五年之后,这个中国以外最大的社交网站已拥有超过3亿活跃用户,每天处理3.9万亿feed,超过10亿聊天信息,1亿搜索请求,每月超过2000亿PV……
在只有一些校友使用,少量照片、没有视频的草创时期,全部服务运行在一台服务器上还是没问题的。2009年时的Facebook网站显然是另一个样子:载入用户主页这么一个看似简单的动作,就需要在不到一秒钟的时间里访问数以百计的服务器,处理上万片分散在各处的数据并提交所需的信息。
服务器的增长速度不难想象,有迹象表明,Facebook的服务器数量:
2008年4月约1万台;
2009年约3万台;
2010年6月至少6万台……
即使放在今天,这个数量也可以排在Tier 2互联网客户的前列(IDC的定义以10万台为界,超过即为Tier 1,Facebook是十几家之一),能效就是必须要考虑的问题了。以每台服务器200W的保守计算,年耗电量已经超过1亿度。如果数据中心PUE(Power Usage Effectiveness,电源使用效率)能从1.5降到1.1,每年即可节省4200万度电。

Facebook的数据中心集群(2014年公开资料),前端(FE)集群包括大量的Web服务器和一些广告服务器、相对少量的Multifeed服务器;服务集群(SVC)包括搜索、图片、消息等服务器,后端(BE)集群主要是数据库服务器。这一配置规模有可能随着后面提及“6-pack”核心交换机的应用而改变
直到2009年,Facebook仍然依靠租用的数据中心空间,没有自建的数据中心。租用数据中心空间(自己部署服务器、网络等IT设施)的优点是交付速度较快,可以在5个月内搞定;建设一个数据中心则需要大约一年的时间和更多的前期投资,但是在供电和散热等方面可以根据自身需求定制,对超大规模用户更划算,Google、微软和亚马逊早就自建数据中心了。

Facebook区域数据中心之间的基础设施冗余。FE(前端集群)、SVC(服务集群)、BE(后端集群)组成一个整体,与另一个区域的数据中心互为冗余(来源:Facebook)
2010年1月,Facebook宣布在俄勒冈州的Prineville建设属于自己的第一个数据中心,规划面积约1.4万平方米,目标PUE为1.15。同年7月,社交巨头决定将Prineville数据中心的规模倍增至约3万平方米。2010年12月完工,得益于100%使用外部空气冷却、无需空调的一系列高能效设计,PUE可低至1.073。与1.51的“业界平均值”相比,节能幅度还略好于我们刚才的假设。

Prineville的两座数据中心建筑(来源:Facebook)
从自建数据中心尝到甜头的Facebook再接再厉,先后在北卡罗来纳(North Carolina)州的Forest City(2010年11月宣布)、瑞典的Luleå(2011年10月宣布)和衣阿华(Iowa)州的Altoona(2013年4月宣布)建设数据中心。每个数据中心建成后都有扩建,像Prineville和Forest City还各增加了一个用于冷存储的数据中心(建筑),Luleå和Altoona的二期工程也在2014年启动。

2014年3月,建设中的Altoona数据中心(来源:Facebook)
OCP缘起:青出于蓝以胜蓝?
没有开源就没有今天的互联网行业,但这主要是从软件的角度来说。Google在软件开源方面还是做了不少工作,著名的Hadoop便可以视为Google“开源”了思路的结果。就在2015年2月,Google宣布将其2014年6月收购获得的MapReduce for C(MR4C)开源,这是用C++开发的MapReduce框架,此举让用户可以在自己的Hadoop环境中运行原生的C及C++代码,是Hadoop社区的福音。
支撑互联网基础设施的是开放硬件技术,这与开源不太一样。英特尔通过开放硬件技术营造的生态环境,击败了IBM及其他RISC厂商(ARM另当别论),但至少在OCP出现之前,无法想象戴尔和惠普会公开其服务器的详细设计材料。而且,“开源+开放”也不意味着结果一定是透明的,Google就在开源软件和开放硬件技术的基础上打造了专有的数据中心。
应该说,扎克伯格很早就意识到,Facebook与Google必有一战,而且这一天远比国人听着耳熟的某同样句式表达来得快。Google在整个Web上开展广告业务,Facebook在自己的社交网络里开展广告业务,就像腾讯不让百度搜索进入微信一样,Facebook也要发展自己的搜索引擎。2013年Facebook上线了Graph Search,2014年12月初又更新为Facebook Search,随即在Facebook的搜索中去掉来自微软Bing的Web搜索结果。
很重要的一个区别是,腾讯并不比百度小,而Facebook自身尚不能与Google抗衡。从服务器到数据中心,Google起步早,规模大,自成体系。为了迅速缩小基础设施领域与Google的差距,Facebook想出了通过开源壮大生态系统的妙招,即成立开放计算项目(OCP)。

开放计算项目(Open Compute Project)的Logo,左侧是用服务器主板拼成的“f”(来源:张广彬,2013年)
作为一个开源的硬件项目,OCP不仅是公布Facebook“白手起家”定制数据中心和服务器的细节,直到机架和主板的CAD图纸,更邀请开源社区及其他合作伙伴使用并改进。也就是分成两个步骤:先放出规范和机械图纸,再与社区共同改进它们。
如果我们考虑Facebook和Google身上类似硬件厂商的成分,可以看到,即便是生态系统的核心厂商如英特尔,也很难有如此社区化的思维。没错,上一个这样做的是Google,为了对抗苹果iOS而开源Android,成功的建设起巨大的生态系统,以群狼围攻猛虎。

Facebook的基础架构部门(来源:张广彬,2013年)
在这个资金和人才密集型行业,开源是争夺人才的好办法,还具有显著的广告效应。有更多的客户使用基于OCP规范的硬件,也可以增大采购量,帮助Facebook降低成本,起到类似团购的效果。
当时OpenStack刚刚兴起,OCP采用了一些类似的做法,譬如上下半年各一次峰会(Summit),并在2011年10月27日召开的第二届OCP Summit上,宣布成立OCP基金会(Open Compute Project Foundation)。不过,硬件设计的周期较长,于是,从2012年开始改为每年一次(其实OpenStack半年一个版本的做法也越来越有争议),2015年3月9-11日召开了第六届峰会。

OCP成立四年来的主要硬件成果,大部分在本章提及,其余会在后面的章节介绍(来源:第六届OCP峰会上Facebook工程副总裁Jay Parikh的演讲材料)
在2014年1月底召开的第五届OCP峰会上,Mark Zuckerberg和Facebook工程副总裁Jay Parikh宣布,OCP成立三年来,开源硬件方案帮助Facebook节约了12亿美元。13个月之后的第六届峰会上,Jay Parikh宣布的数字增长为20亿美元,每年通过OCP节省的能源可供8万家庭使用,减少的碳排放等量于9.5万辆汽车。

第六届OCP峰会上列出的会员名单,有些已破产的(如Calxeda)仍在上面,还有些大厂(如VMware)却没有显示。可以看到,来自中国的有互联网巨头百度和腾讯,服务器厂商华为和浪潮,闪存初创企业Memblaze和NetBRIC
2013年EMC、2014年微软、IBM、VMware等重量级传统企业厂商先后加入,苹果在2015年低调加入,OCP现有约200家会员,以广达(Quanta)、惠普(HP,2015年加入)为代表的7家解决方案提供商,大量经过验证的设计,Facebook和Rackspace的采用……接下来,就从董事会和典型项目两个方面,大致介绍一下OCP这个开源硬件组织的组织架构及主要成果。
董事会:经验的传承
成立基金会,而不是在Facebook一家控制之下,对OCP发展的重要性不言而喻。OCP基金会在董事会的管理下运作,最初有5位董事,分别来自5家公司。

2015年3月初OCP基金会的董事会成员,增加的2人后面会提及(来源:第六届OCP峰会演讲材料)
Frank Frankovsky代表Facebook,担任OCP基金会董事会主席兼总裁。2009年10月加入Facebook,担任硬件设计及供应链总 监,2012年2月起任硬件设计及供应链运营副总裁。此前,在戴尔负责服务器定制业务的数据中心解决方案(Data Center Solutions,DCS)部门担任总监近四年,上世纪90年代曾任康柏(Compaq)计算机公司的产品经理。

Facebook硬件实验室一角。在硬件实验室里,这已经算相当整洁的了(来源:张广彬,2013年)
Mark Roenigk是Rackspace Hosting的COO,在微软工作过9年,大部分时间负责OEM和供应链运营,此前7年是康柏(又是Compaq)的工程师。Rackspace是著名 的服务器托管商,有丰富的数据中心建设、运营和硬件经验,还与NASA共同催生了OpenStack——是惟一在一软一硬这两大开源组织中都有肇始之功的 公司。
Jason Waxman时任英特尔(Intel)数据中心事业部高密度计算业务总经理,主要负责的领域包括互联网数据中心、刀片服务器以及与未来密集型数据中心架构 相关的技术。他还负责领导英特尔在云计算方面的工作(现任云平台部门总经理),并在Blade.org和服务器系统架构组织(Server System Infrastructure Forum,SSI Forum)的董事会兼任管理职位。此前曾担任负责英特尔至强(Xeon)处理器、相关芯片组和平台产品及其客户关系的总监。

Facebook在硅谷的园区以前属于Sun——一家值得缅怀的伟大公司,顺道缅怀拍下这张照片的手机(来源:张广彬,2013年)
Andy Bechtolshiem来自Arista Networks,更响亮的名头是“Sun Microsystems共同创办人”。Andy Bechtolshiem担任过Sun的首席系统架构师,第一个投资Google,还担任闪存初创企业DSSD的董事长——后者2014年5月被EMC高 调收购。
除高盛(Goldman Sachs)的Don Duet职业生涯主要履历为CIO之外,以上四人均有深厚的硬件行业背景和影响力,从产品、技术到供应链都有涉猎,见多识广,经验丰富,对把控开源硬件项 目的发展方向至关重要。另外不可忽视的一点是,在各自公司里的职位足够高,方便调动资源支持。

作为OCP的创始核心成员之一,金融行业的著名企业高盛自认为是一家技术公司(6组彩色数字以兹证明),2015年的服务器采购目标是以OCP产品为主,节能5%(来源:根据第六届OCP峰会上高盛常务董事、技术部门联席主管Don Duet主题演讲材料组合)
2015年3月19日,LGE Execs开始管理OCP基金会的财务,相当于“虚拟”CFO,其主理合伙人(Managing Partner)Rocky Bullock成为董事会的第8位成员,担任书记/司库(Secretary/Treasurer)。

2015年5月的OCP组织架构(来源:OCP官网)
正如前面所说,OCP下辖的项目很多,从服务器到数据中心,还包括机架(Rack)、存储、网络、硬件管理,并于2014年启动了HPC(High Performance Computing,高性能计算)项目,电信工作组(Telco Working Group)也在积极活动中……
服务器:始于Google,终成一派
Facebook 开始定制硬件不算早,前期的服务器也来自OEM厂商。Facebook基础设施工程负责人Jay Parikh在2012年10月中旬的GigaOm Structure欧洲会议上表示,在瑞典Luleå的数据中心将是Facebook首次完全没有OEM服务器硬件。
这显然与本章一开始提到的Amir Michael有直接关系,他比Frank Frankovsky还早半年加入Facebook,也是OCP的共同创始人之一,2013年1月起担任OCP孵化委员会(Incubation Committee,IC)副主席,4月出任Coolan CEO——该公司与Facebook及OCP颇有渊源,Amir Michael又是共同创始人。

Google俄克拉荷马州梅斯郡(Mayes County, Oklahoma)数据中心的服务器机柜热通道,服务器前端的状态LED反射出绿光。一个机柜有近百个风扇,但不是第二章提及的那种集中的风扇墙,而是分 属各台服务器的常规风格,这种服务器的总体设计也为Facebook前两个版本的定制服务器所借鉴(来源:Google官网)
超越往往从学习和模仿开始,虽然牛顿所谓“站在巨人的肩上”原非此意。OCP成立时,Facebook数据中心团队贡献的第一代OCP服务器,代号 “Freedom”(反抗Google强权?),实则借鉴了Google的设计,最明显的标志就是1.5U(66mm)的服务器机箱。这样做的好处是可以 使用直径更大的60mm低转速风扇,与1U服务器的40mm风扇相比,节能效果显著。450W供电模块(Power Supply Unit,PSU)支持277V交流和48V直流输入,前者比208V减少不必要的电压转换,后者由备份电池提供短时电力供应,都是为了尽可能的避免能源 损耗。散热与供电双管齐下,控制电费(省OPEX)。

Prinevill数据中心的供电转换环节(来源:Facebook)
另一点是去掉(前)面板和BMC,没有VGA接口,以贯彻Facebook的“Vanity-free”(无浪费)精神。目标是尽可能降低购置成本(省 CAPEX),尽管做工看起来有点糙。正如Jay Parikh所言,OCP服务器比标准服务器少很多功能,所需部件也大为精简。

48伏电池柜的输电路径(来源:Facebook)
OCP V1服务器有AMD(12核Opteron 6100)和Intel(6核Xeon 5600)两种双路方案,主板尺寸为13×13英寸,由广达(Quanta)制造。机箱宽度(480mm,略小于19英寸)和高度单位(Rack U,即RU,1RU为1.75英寸,即44.45mm)都遵守既有工业标准的“老规矩”,但取消了两侧的机架导轨(Rack Rails)。后端有3个硬盘托架,与主板均为免工具拆装。
2012年5月初在圣安 东尼奥召开的第三届OCP峰会之前,AMD和Intel贡献了第二代OCP主板的设计,得益于至强(Xeon)E5-2600,Intel开始占据压倒性 的优势。代号“Windmill”的Intel OCP v2.0主板采用双路Intel Xeon E5-2600,外形长而窄(6.5×20英寸,约165×508mm)。OCP V2服务器仍为1.5U规格,但主板宽度只有第一代的一半,因而能容纳两个计算节点,在同样的机箱内将密度翻番。

OCP服务器V1(左)和V2(右)采用同样的1.5U机箱,4个60mm风扇位于主板后方,右侧的硬盘托架由供电模块提供冷却气流。V2的改进包括:硬盘前置便于维护;2个主板提升计算密度,但牺牲了可能的硬盘数量;CPU性能提升(来源:Facebook)
为了支持两个主板,V2服务器的供电模块提升为700W,并与硬盘互换位置,这样可以从前面直接维护硬盘。
经过两代服务器的摸索,相继暴露出一些问题:
1.供电模块的冗余度差。相比于工业标准服务器的1+1冗余电源,这两代服务器均只有一个供电模块。OCP V1服务器尚可用“牲口模式”来解释(关键组件出问题即替换整个服务器),而OCP V2服务器的供电模块故障会导致两个计算节点失效,就有点矫“枉”过正。为此Facebook还设计了高可用(High Availability,HA)服务器的方案,即增加一个PSU,替换下来一个主板,等于把计算密度又降回去了。
2.可以用前一章所述把PSU集中到机架层面的方案(此时中国同行们的天蝎整机柜已经这么做了),但是以19英寸机箱的宽度,拿走PSU剩下的空间,又不足以放下第三个主板(6.5×3=19.5英寸)。
3.计算与存储没有解耦合。这在OCP V1服务器中尤为明显,3个驱动器托架可以放6个硬盘,计算节点只用一个启动盘的话,为保留本就不够用的灵活性(常见的2U服务器可以在前面板容纳12个 3.5英寸硬盘)而造成大量的空间浪费;OCP V2还好,因为增加的主板挤占了2个驱动器托架的位置——计算占的比重变大了,存储去哪儿?
4.60mm风扇还不够大。
5.不同程度的保留了USB接口,却没有BMC(Baseboard Management Controller,基板管理控制器)。在大规模应用环境中哪个对管理更有价值,不言而喻。
除了最后一点,其他几点都需要机箱、乃至机架(Rack)设计的改变。
Open Rack:重新定义数据中心机架
Facebook最初采用19英寸三联柜设计,名为Freedom Triplet,看名字便可知是配合第一代OCP服务器使用。宽度比三个并排的EIA 310-D规格机架(600mm×3)略窄,为1713mm,节省重合部分的材料。外侧的两个机架(注:在本文中,连同内部设备时称为“机柜”)上各有一个架顶式(Top of Rack,ToR)交换机,每一列30个Open Compute服务器,共90个。一组三联柜装满90个服务器后总重2600磅(约1179公斤),两组三联柜共享一个备份电池柜。

配合前两代服务器的Freedom三联柜,因并联而略省材料且更稳固,高度也略超出常见19英寸机架,可容纳30个1.5U服务器(45U)以及交换机(来源:OCP规范)
Facebook很快认识到,形成于1950年代的EIA 310-D标准不能满足他们的要求。EIA 310-D标准化了机架内轨之间的宽度(19英寸),但把高度、深度、安装和布线方案以及连接器的规范留给制造商去定义。Facebook认为,这导致服务器和机架设计不必要的分化,把客户锁定于特定的供应商及其实现——天蝎整机柜1.0的实践证明了Facebook的观点。

Freedom三联柜交付现场(来源:第六届OCP峰会,Frank Frankovsky的演讲材料)
更关键的问题在于,传统的19英寸机架,考虑到侧边和滑轨(Sliding Rails),留给IT设备(服务器、存储)的可用宽度只有17.5英寸(444.5mm,相当于10U,当然U是个高度单位),不能并排放置3个(6.5英寸宽)主板或5个3.5英寸硬盘。嫌窄者早已有之,如IBM大机和EMC的高端存储,都有宽度在1500px以上的机架,EMC Symmetrix VMAX的系统和存储机架宽度均超过1875px(30.2英寸,合1917.5px),为的也是容纳更大的服务器(存储控制器)或更多的硬盘。

一个直流UPS电池柜支持两组三联柜共180台服务器的全系统(来源:Facebook,2010年)
不过,一则拓展外宽未必提高效率,二则大机和高端存储利润高得多,量上不去也没太大关系。Facebook的办法是保持外宽600mm(近24英寸)不变,把内部横向间距从483mm(19英寸)扩大到538mm(约21英寸),增加55mm(近2.2英寸),取消占地费钱的(机箱两侧)滑轨,空间利用率从73%(17.5英寸时)跃升为87.5%,可谓创举。

Open Rack俯视图(下前上后),可以看清内宽扩大,前端维护&后端供电等要素(来源:OCP规范)
既然重要的内宽已经改变,索性把每个Unit的高度也重新定义,从传统Rack U(RU)的44.45mm,略微放大至48mm,名为OpenU,简称OU,起名为Open Rack(开放机架)。为与之前的设备兼容,保留0.5 OU为最小单位,不过Facebook似乎没有推出过非整数OU的产品。
然后是整合供电模块,分为3个供电区(Power Zone),每个供电区有3 OU供电框安置7个700W的PSU(来自OCP V2服务器),N+1配置,共4.2kW,整个机架的供电能力达12.6kW。每机架两个PDU(Power Distribution Unit,配电单元),200-277V交流在左后方,48V直流在右后方。服务器从机架正后方等距分布的3根铜排(Bus Bar,母线)上取电,PSU输出电压12.5V,正好满足服务器对12V输入的要求。

2014年11月中正式上线的Altoona数据中心,采用了最新的OCP硬件,包括Open Rack——注意左侧机柜的供电区和供电框内的PSU,但仍为6个机柜配1个电池柜的组合(来源:Facebook)
Open Rack v0.5版规范于2011年12月15日释出,在第三届OCP峰会上隆重介绍。该版本建议每个供电区为15 OU,12 OU用于IT设备;然后再留2 OU放置ToR交换机,总高度至少47 OU(不低于2300mm,似可见之前Triplet纵向空间分配思路的遗存)。2012年9月18日,Open Rack 1.0规范公布,主要明确了以下几点:
· 专注于单列机架设计(非三联柜);
· 入口(inlet)温度提高到35摄氏度,反映其他Open Compute设计和数据中心的实际温度;
· 交换机布置更灵活,不仅限于供电区的顶端;
· 计算设备(服务器/存储)机箱为1-10 OpenU高,支持L形支架直接承载。L形支架明显比传统服务器的测滑轨节省空间和成本,免工具安装,可以0.5 OpenU(24mm)为增量固定;
· 最大高度取决于供电区,但建议不要超过2100mm,以保持稳定。常见的做法是每个供电区13 OU,IT设备10 OU,再加2 OU交换机,共41 OU;
· 新设计的弹性夹片(clip),使机箱电源连接器易与铜排配合。

Open Rack V1前视图和侧视图(左前右后),可以看到纵向空间的分配(来源:OCP规范)
综合起来,Open Rack的特点主要是:
1.拓展空间。开创性的提高了内部利用率,特别是留给IT设备的宽度大为增加,单位高度也略有提升,同时尽可能的保持了与原有机架标准的兼容性(外宽一致,高度相近);
2.集中供电。提供机架范围内的共享与冗余,服务器等IT设备直接插拔取电,免去上架时的手动连线工作;
3.前端维护。后端用于供电和散热,维护人员在冷通道一侧即可完成日常工作,不用进入热通道。两边跑不仅增加了工作量,且有后端识别设备困难,容易导致误操作等弊端。
当然副作用也是有的,即两侧起支撑作用的部分变薄,同时内部IT设备可能的重量还会增加(Open Rack V1.1规范已达950千克,接近本节开头提到的三联柜),对机架强度提出挑战。在整机柜交付等运输途中尤其如此,早期的Open Rack要在后端加斜梁辅助,防止变形。
不过,在目前的Open Rack V2规范里,基本机架配置在动态环境下支持500千克的IT设备,通过增加紧固螺栓等手段,重载机架配置(Heavy Rack Config)可以支持1400千克的IT设备——作为对比,James Hamilton在re:Invent 2014大会上透露,AWS的存储优化机架可容纳864个(3.5英寸)硬盘,重达2350英镑(约1066千克)——要怎么装出这个密度来,也是门学问。

显然是类似三联柜的方式更稳固(来源:OCP Engineering Workshop)
Open Rack V2还有重组供电布局、去掉单独电池柜等重要改进,将在以后的章节介绍。
Open Vault:存储从服务器分离
得益于Open Rack,第四届OCP峰会上亮相的第三代OCP服务器(代号Winterfell)在设计上有质的飞跃:
主板仍然是v2.0,但服务器高度增至2 OU,并特意强调不是1.5 OU,80mm风扇效率进一步提高;
更大的纵向空间(高度)有利于容纳全尺寸GPGPU,支持两个全高的PCIe卡,一个3.5英寸驱动器槽位,均从前端维护;
服务器机箱里没有PSU,正好并排摆放三台(每台2个80mm风扇),分别从后部的铜排取电,密度进一步提高(2 OU3)且相互独立;
观感上,做工精细了很多,裸露部分的处理也较好,总体上不输一般商用服务器的水准。

用于Open Rack V1的OCP服务器(Winterfell)俯视图及三联装(共占用2 OU机架空间)(来源:网络图片组合)
现在的OCP服务器主板已发展到V3.1,尺寸不变,支持Intel Xeon E5-2600 V3,16个DIMM/NVDIMM,加上了BMC,支持Open Rack V1和V2。3个75W PCIe x8插槽,挤占了硬盘的位置,代之以板载mSATA/M.2(2260,60mm长)SSD——以前只支持mSATA,且需要通过适配器。
硬盘先是被边缘化,接着连装操作系统的工作也被SSD抢走了。那么,大容量存储怎么办?

没有定制服务器和存储项目时Facebook的6种服务器类型,TypeⅡ因与TypeⅥ配置相近而被并入后者(弱势的AMD啊),多数公开资料里都没有单独列出;TypeⅣ和Ⅴ的存储配置看着很像2U的所谓“存储服务器”(来源:Facebook)
我们常说,互联网公司是不买存储(设备)的,这里指的是SAN、NAS等传统的企业级存储系统(磁盘阵列),而不是没有对大容量存储的需求。像上一节刚提到的AWS存储优化机架,即为一例。
OCP V1服务器支持最多6个3.5英寸硬盘,都放满,不算多;只放一两个,剩下的空间又派不上别的用场。保持灵活性,就得付出浪费空间的代价,问题是也没多灵活。
其时Amir宣布了一个面向存储密集型应用的项目设计,看起来像是个4U设备,支持50个硬盘,分配到两个控制器,可以连接到多台服务器,提供可变的计算与存储配比。
第三届OCP峰会上,失势的AMD基于其双插槽Opteron 6200主板建立了一个代号Roadrunner的项目,包括1U(HPC选项)、1.5U(通用)、2U(云选项)、3U(存储计算选项)共四个规格。2U支持8个3.5英寸或25个2.5英寸驱动器,3U支持12个3.5英寸或35个2.5英寸驱动器,仅以3.5英寸硬盘的密度而言,还不如OEM厂商推出的服务器,2.5英寸规格于互联网用户更像是为SSD而非硬盘准备的。在Open Rack实用后,这个项目愈发没有下文,AMD也投靠了ARM阵营,在OCP的项目里主要以微服务器卡(Micro-Server Card)刷存在感。
总的来说,还是Amir那个计算与存储分离(解耦,disaggregation)的思路靠谱。Facebook在存储架构师Per Brashers(已离职创业)和中国籍工程师晏勇等工作人员的努力下,于同一届峰会上公开的Open Vault(代号Knox)取得了成功。这是一个宽度和高度(2 OU)都适配Open Rack的JBOD(Just a Bunch of Disks,一堆硬盘的简单集合,无处理能力,需配合计算节点使用),共30个3.5英寸硬盘,分为上下两层,每层(tray)有15个硬盘和一对冗余的连接电路板(Knox Board)。电路逻辑比服务器主板简单许多,基本上是Facebook独力设计完成,先交由纬颖(Wiwynn)生产,贡献给OCP之后,与OCP服务器一样有其他提供商(如Hyve Solutions和广达)生产的版本。

抽出一层共15个硬盘的Open Vault,背景机架供电区上方的2 OU设备为广达的JBR,是另一种符合OCP规范的JBOD(来源:张广彬,2013年)
Open Vault是个非常经典的设计,后面会有专门的章节展开分析。

除了CPU、内存和硬盘配置的自然更新,2013年Facebook的Hadoop(类型4)和Haystack(类型5)服务器都用上了Open Vault,冷存储机架更成为一种新的服务器类型(7),从硬件架构上也可以理解为一台单控制器(Winterfell服务器)带8个JBOD(Knox)组成的低性能存储系统(来源:根据Facebook数据制表)
现在,需要大容量存储的Facebook服务器,如TypeⅣ(用于Hadoop)和TypeⅤ(用于Haystack,Facebook的图片应用)都由Open Vault提供存储,还增加了一个OCP服务器带8个Open Vault(240个硬盘)的冷存储(Cold Storage)类型——共18 OU,占据半个机架的空间。
数据中心:RDDC与Open DCRE
如本章一开始所言,OCP的孕育便与数据中心建设有着密不可分的关系,Facebook贡献的基于Prineville数据中心实践的数据中心电气和机械设计规范,是OCP最早的文档之一;Facebook向OCP贡献的冷存储硬件设计规范包括了冷存储数据中心地面布局的建议,冷存储服务器就是前述的TypeⅦ机型。

Prineville数据中心采用两层阁楼式设计,无冷机(no chiller)。地面层放置服务器等IT设备,上层阁楼为冷却系统空间,对外部冷空气和回流热空气进行处理,按一定比例混合(来源:Data Center Knowledge)
Google在数据中心建设上起步早,发展水平高,但也不可避免的形成了历史路径依赖(阿里巴巴技术保障部资深IDC专家陈炎昌语,本节多有借鉴)。这个“遗产”主要体现在水循环系统制冷设计,所以我们总能看到Google的数据中心逐水而居。虽然Google在水的利用上玩出了很多花样,譬如海上数据中心,还有上一章提到的芬兰Hamina数据中心,都是利用海水散热,但是各种水管道始终是个麻烦事,PUE则很难降到1.1以下(即使通过神经网络等技术进一步优化)。

Google俄勒冈州Dalles数据中心内景,蓝色的是冷水供应管道,红色的把温水送回致冷。铺设水管是典型的工程项目,费时费力,难以模块化(来源:Google官网)
本着“后发优势”,Facebook着力推行新风供冷(fresh air cooling),没有空调(Chiller-less)和冷却水管道,冷却系统都布置在上层阁楼内,PUE也低至约1.07。不过,因为要靠喷水雾调节温度和湿度,Facebook的数据中心早期有过教训。

Prineville数据中心的冷却气流示意。热通道封闭,也是从一层的顶棚回风(来源:Facebook演示材料)
2011年夏天,Prineville的数据中心投入使用不久,建筑控制系统错误的输送了富含水分(湿度95%)的冷空气(80华氏度),“机房里就像飘着一朵雨云”,很多服务器遇湿重启,或者因电线短路而自动关机。那年6月下旬,Facebook曾计划将Prineville数据中心二期像北卡Forest城数据中心一样,把服务器进风温度从80华氏度(26.7摄氏度)提高到85华氏度(约29度),相对湿度从65%提高到90%,温升(ΔT)从25华氏度提高到35华氏度,旨在控制环境的影响,并允许减少45%的空气处理硬件。现在看来其后两个指标只到80%和22华氏度,且仅Forest城数据中心相对湿度达90%,不知是否与这次事故有直接关联。

Facebook三大区域数据中心(Prineville、Forest City、Luleå)基本设计指标对比,当时Altoona数据中心尚未完全建成(来源:Facebook,2014年)
总的来说,始于Prineville的成功经验被复制到包括瑞典Luleå数据中心的一期工程。随着Open Rack规范的成熟和相关产品的广泛应用,服务器、存储等IT设备及配电已经基本实现了标准化和模块化,可以在工厂内组装好整机柜,以三联柜等方式整体交付,而机械系统采用工程化设计需要配合建筑施工,电气系统也是工程实施,导致数据中心整体交付速度滞后。Facebook希望对(整机柜)微模块外的机电、数据中心建筑进行产品化、标准化预制、预构件等改进,配合并行作业,达到业务、ICT设备(服务器、存储和网络)、机电、建筑各部分的部署速度几乎同时匹配,实现快速交付。

位于北极圈边缘的Facebook Luleå数据中心(建设中),景象是不是有点像前一章介绍的Google芬兰Hamina数据中心?为Hamina数据中心提供电能的Maevaara风力发电厂就在Luleå北边不远……(图片来源:Facebook)
2014年3月初,Facebook数据中心设计团队的设计工程师Marco Magarelli在OCP官网上撰文表示,瑞典Luleå园区的第二座数据中心建筑(Luleå 2)将采用“快速部署数据中心”(Rapid Deployment Data Center,RDDC)的概念模块化构建。RDDC包括两种方法,第二种“flat pack”自称效仿宜家(Ikea),不过,真正“因地制宜”的是为了适应瑞典寒冷的气候(Luleå离北极圈不到100公里)——Facebook机械和散热工程师Veerendra Mulay在与我的交流中表示,用传统的方法建设数据中心需要11~12个月(参见Prineville和Altoona一期),RDDC可以缩短为3~8个月,从而尽量避开Luleå下雪的季节(腾讯天津数据中心建设过程中也曾被暴雪所阻)。

RDDC的整体布局,A和B是放置服务器、存储、网络等ICT设备的区域(data hall),中间的Elec Skids为电气模块,边上的Mech Units为机械制冷模块(来源:Facebook)
为了达到RDDC的目标,首先,Luleå二期的数据中心建筑取消了上层的阁楼,采用大平面一层的的设计方式,所有主要设备都置于地面,架高的顶棚为布线和热通道回风留下足够的空间。陈炎昌认为:建筑顶部倾斜使得热气流更容易上升,最高处带有风机的热气流排出口调节废热排出的设计,很像雅虎2007年公布的“鸡舍”(chicken coop)式数据中心;而地面的整体布局又类似两边为精密空调、一侧为UPS等配电系统的传统数据中心。可谓兼收互联网与传统企业数据中心之长。

右下小图为“Chassis”的预构件摆放示意,注意建筑中间向上凸起的部分,与Yahoo!设于纽约州北部Lockport的“鸡舍”式数据中心的相似性(来源:OCP官网与NBC Bay Area)
建筑构造上,采用了钢结构预构件,吊装部署。模块化的方法不仅便于复制,还可以根据地区等变化灵活更换为不同的模块,譬如60Hz的美国电源标准和50Hz的世界标准,就分别有对应的供电模块。至于两种工厂预制、现场组装的模块化方法——第一种“chassis”(底盘)和第二种“flat pack”(组合件),公开的资料非常有限,主要来源是Marco Magarelli的那篇博客,某些第三方的解读有所不同,但都有令人困惑之处。

一个典型的数据中心区域(data hall,前面整体布局图中的A或B)由52个chassis构成,4×13网格配置,13个冷通道(每个冷通道对应2列机柜),如图中上半部分;下半部分是2个40英尺chassis(两个蓝色方框覆盖范围,Unit IT)及制冷模块(a/b/c)的剖面图,冷气流从右至左经过IT模块(服务器或网络机柜),热气流上升,沿顶棚回流(上方橙色区域)至右侧制冷模块(三个粉色方框覆盖范围),部分高温空气从左上方(墨绿色区域)经风机排出,形似鸡舍(来源:根据Facebook演讲资料加工)
按照OCP官网博客中的说法,“chassis”类似组装汽车底盘的理念:使用12英尺(约3.6米)宽、40英尺(约12米)长的预组装钢框架,然后在组装线上附加部件,电缆槽、输电排、控制面板乃至照明都在工厂预安装好。在现场组装时,两个chassis的钢框架相连,在机柜上方构成长60英尺(约18米)的冷通道,两端各留10英尺(约3米)的空间给过道。把这种方法比作搭建乐高积木(源自丹麦,也是北欧国家)形成很好的对应关系,但没有“宜家”贴切。
“Flat pack”用14英尺(约4.2米)高的墙板围成热通道,也有跨越机柜和冷通道、金属面板构造的12英尺宽天花板组件,可以使用特制的挂架承载电缆槽、输电排和照明,感觉这部分与chassis方法是存在重合或替代关系的。有一点是相通的,即flat pack方法同样经过预先工程化后做成预构件,将原有工程化(现场施工)为主的框架转变为产品化(现场组装)的框架。

Flat pack方法拼装示意,注意左上角的截面图,实线部分肯定是flat pack,虚线方框似与chassis方法相重合,约3.6米的宽度扣除2个机架的深度,冷通道宽度约1.5米左右(来源:Facebook)
顾名思义,这两种方法的精髓都体现了由传统的工程项目到工厂预制产品、现场模块化组装的转变。通过部署预安装的总成和预制单元模块、交付可预测和可重用的产品,RDDC能够实现站点无关设计、减少现场影响、改善执行和工艺的目标,加快数据中心建设的速度,提高利用率且易于复制到其他地区。提高效率,终归是要服务业务需求。
数据中心建设走向模块化之后,下一步是从里(ICT设备)到外(风火水电)作为一个整体来统一管理。2015年3月10日召开的第六届OCP(美国)峰会上,数据中心项目组介绍了开放数据中心运行时环境(Data Center Runtime Environment,DCRE),这是基于社区的用户数据中心运行时环境,包括可以与任何单板式计算机对话的控制板、到OCP铜排(Bus Bar)的电力线通讯(PLC)接口、固定在铜排上的PLC传感器hub及固件等,能够:
允许完整的解耦带外(OOB)管理网络;
从机架、交换机和服务器上去掉所有外部的物理RJ-45/串行集线器/BMC;
提供机柜级管理的标准接口;
促成定制一个包括北向和南向接口的健壮的Linux操作系统。
Open DCRE支持标准BMC功能,包括IPMP的远程开闭电源、重启、通过串口控制和OCP的远程硬重置、串口(本地,非LAN)控制、POST错误代码、缓冲引导代码。
国内的腾讯也在致力于数据中心模块化进程和南北向接口的标准化等工作,下一章会有简要介绍。
本文转载自:http://www.testlab.com.cn/Index/article/id/1075.ht
作者:张广彬
如有侵权,立即删除,谢谢!
作者:张广彬 来源:http://www.testlab.com.cn/Index/article/id/1075.ht 2015-06-09
关键词:Facebook OCP 数据中心 Google AWS
看了前面两章,有没有一种(互联网)军备竞赛的即视感?那也难怪Google要严格保密了。
保密本就是数据中心行业的惯例。2014年11月,我独自去拉斯维加斯(Las Vegas)南部参观SuperNAP数据中心。下车后,几次试图用手机拍建筑外景,迅速被开着悍马巡逻的警卫阻止。进门等候预约时段,虽说在美国警卫持枪是再平常不过的事,但警卫室里那几位严阵以待、随时准备应付劫匪的架势,仍令我印象深刻。参观数据中心内部不允许拍照是行规,不过之前我参观数据中心都有专人陪同,还没享受过这么戒备森严的待遇。

SuperNAP 7数据中心的接待室,我在这里等了20多分钟,直到预约时间到。(来源:SuperNAP官网照片,下同)
这与托管(Co-location)数据中心的性质不无关系,必须为租户保密。自为客户的Google则将基础设施视为核心竞争力之一,这从该公司对基础设施一贯的重视程度也能感受到。因此,Google长期对其数据中心和定制硬件设计秘而不宣,员工入职时要签署保密协议,离开Google一两年内也不能透露。

SuperNAP数据中心的警卫室
但是,那些Google自己公开的数据中心内外景照片,又是怎么回事?
2009年3月,Facebook从Google挖来工作近6年(更早在思科做过实习生)的硬件工程师Amir Michael,主管硬件设计。2010年4月1日,Facebook宣布任命Ken Patchett主管其位于俄勒冈(Oregon)州Prineville的第一个自建数据中心。Ken Patchett的职业生涯从康柏(Compaq)起步,在微软积累了近6年的数据中心和网络运营经验。到Google后指导过位于俄勒冈州Dalles的数据中心,去Facebook之前还在亚洲工作了一年多,管理Google自有和托管的数据中心。转了一圈,又回到俄勒冈州。

2009年,Frank Frankovsky(左三,时任Facebook硬件设计及供应链总监)和Amir Michael(左四)、Pierluigi Sarti(右一,现任Facebook系统架构师)、Marco Baray(左一,时任Facebook技术运营经理/工程师,之前在McAfee服务器运营部门任职)、Ziad Abikaram(左二,时任Facebook技术项目经理,之前在微软Windows Live团队任高级项目经理)、Sandy Fortin(右二,2009年6月之后任Facebook技术运营部门供应商经理至今,之前在Google任技术项目经理)、Ali Heydari(右三,时任Facebook高级硬件工程师,然后在Twitter任同样职位,2014年11月起任百度高级技术总监/首席架构师)一行赴台湾启动定制服务器项目Freedom Project,在知名主板制造商华硕(Asus)公司总部大厅用废弃主板拼成的蒙娜丽莎像前合影(来源:Amir Michael的Facebook)
从服务器设计到数据中心运营,Facebook坚持挖Google墙角,后者又不好打官司——这意味着要公开更多细节。更绝的还在后面:2011年4月,乘Prineville数据中心投产之东风,Facebook宣布发起开放计算项目(Open Compute Project,OCP),开源了其包括数据中心、定制服务器在内的一系列硬件设计。

始于2009年推出留有Google印记的定制服务器,随着各种人才的陆续加入和经验积累,Facebook自主的范围扩大到整机柜和数据中心,还推出了RDDC(快速部署数据中心)的概念,本文陆续都会提及(图源:阿里技术保障部资深IDC专家陈炎昌&网络世界,2014年)
三年两大招,先挖人,再开放,Facebook在数据中心规模比Google差一个量级(几十万台对几百万台)的条件下,经常被与前三大(还有微软和亚马逊)相提并论,OCP居功至伟,甚至连“百万富嗡”(指服务器风扇的噪音,非贬义)微软和以自成体系闻名的苹果都来入伙。

夜幕下的SuperNAP 7数据中心,兼具Google与Facebook数据中心的特点,保密程度也介于两者之间,最大的区别在于其托管属性
Facebook将数据中心宣传的公关战提高到一个崭新的水平。Google在2012年10月对外公开了一些数据中心技术的情况,包括请记者参观,和网站上近百张高清晰度的照片。但是,对于IT设备(服务器和网络)及相关技术,Google依然讳莫如深,至多提及其已废弃的服务器。Urs参与的前后两版书里,也是以宏观理念和数据中心层面的建设原则为主。

Google位于俄勒冈州Dalles的数据中心依山傍水(哥伦比亚河),团队成员可以享受漂流、风力冲浪、钓鱼和徒步的乐趣。注意看左上角的山腰处(来源:Google官网)
有趣的是,AWS(Amazon Web Services,亚马逊网络服务)副总裁兼杰出工程师James Hamilton还对Google公开的这些信息分析点评了一番。曾被认为在技术中心实力和保密程度上与Google一时瑜亮的AWS,如今似乎是最神秘的了。
总体而言,在数据中心相关技术上,Google透露的是久远的历史和近期的状况,中间的壮大过程中传世不多,Facebook的发展史或许可资借鉴。
从一台服务器到多个数据中心
2004年2月,Mark Zuckerberg(马克·扎克伯格)在哈佛大学宿舍内将Facebook上线,当时只有一台服务器。仅仅五年之后,这个中国以外最大的社交网站已拥有超过3亿活跃用户,每天处理3.9万亿feed,超过10亿聊天信息,1亿搜索请求,每月超过2000亿PV……
在只有一些校友使用,少量照片、没有视频的草创时期,全部服务运行在一台服务器上还是没问题的。2009年时的Facebook网站显然是另一个样子:载入用户主页这么一个看似简单的动作,就需要在不到一秒钟的时间里访问数以百计的服务器,处理上万片分散在各处的数据并提交所需的信息。
服务器的增长速度不难想象,有迹象表明,Facebook的服务器数量:
2008年4月约1万台;
2009年约3万台;
2010年6月至少6万台……
即使放在今天,这个数量也可以排在Tier 2互联网客户的前列(IDC的定义以10万台为界,超过即为Tier 1,Facebook是十几家之一),能效就是必须要考虑的问题了。以每台服务器200W的保守计算,年耗电量已经超过1亿度。如果数据中心PUE(Power Usage Effectiveness,电源使用效率)能从1.5降到1.1,每年即可节省4200万度电。

Facebook的数据中心集群(2014年公开资料),前端(FE)集群包括大量的Web服务器和一些广告服务器、相对少量的Multifeed服务器;服务集群(SVC)包括搜索、图片、消息等服务器,后端(BE)集群主要是数据库服务器。这一配置规模有可能随着后面提及“6-pack”核心交换机的应用而改变
直到2009年,Facebook仍然依靠租用的数据中心空间,没有自建的数据中心。租用数据中心空间(自己部署服务器、网络等IT设施)的优点是交付速度较快,可以在5个月内搞定;建设一个数据中心则需要大约一年的时间和更多的前期投资,但是在供电和散热等方面可以根据自身需求定制,对超大规模用户更划算,Google、微软和亚马逊早就自建数据中心了。

Facebook区域数据中心之间的基础设施冗余。FE(前端集群)、SVC(服务集群)、BE(后端集群)组成一个整体,与另一个区域的数据中心互为冗余(来源:Facebook)
2010年1月,Facebook宣布在俄勒冈州的Prineville建设属于自己的第一个数据中心,规划面积约1.4万平方米,目标PUE为1.15。同年7月,社交巨头决定将Prineville数据中心的规模倍增至约3万平方米。2010年12月完工,得益于100%使用外部空气冷却、无需空调的一系列高能效设计,PUE可低至1.073。与1.51的“业界平均值”相比,节能幅度还略好于我们刚才的假设。

Prineville的两座数据中心建筑(来源:Facebook)
从自建数据中心尝到甜头的Facebook再接再厉,先后在北卡罗来纳(North Carolina)州的Forest City(2010年11月宣布)、瑞典的Luleå(2011年10月宣布)和衣阿华(Iowa)州的Altoona(2013年4月宣布)建设数据中心。每个数据中心建成后都有扩建,像Prineville和Forest City还各增加了一个用于冷存储的数据中心(建筑),Luleå和Altoona的二期工程也在2014年启动。

2014年3月,建设中的Altoona数据中心(来源:Facebook)
OCP缘起:青出于蓝以胜蓝?
没有开源就没有今天的互联网行业,但这主要是从软件的角度来说。Google在软件开源方面还是做了不少工作,著名的Hadoop便可以视为Google“开源”了思路的结果。就在2015年2月,Google宣布将其2014年6月收购获得的MapReduce for C(MR4C)开源,这是用C++开发的MapReduce框架,此举让用户可以在自己的Hadoop环境中运行原生的C及C++代码,是Hadoop社区的福音。
支撑互联网基础设施的是开放硬件技术,这与开源不太一样。英特尔通过开放硬件技术营造的生态环境,击败了IBM及其他RISC厂商(ARM另当别论),但至少在OCP出现之前,无法想象戴尔和惠普会公开其服务器的详细设计材料。而且,“开源+开放”也不意味着结果一定是透明的,Google就在开源软件和开放硬件技术的基础上打造了专有的数据中心。
应该说,扎克伯格很早就意识到,Facebook与Google必有一战,而且这一天远比国人听着耳熟的某同样句式表达来得快。Google在整个Web上开展广告业务,Facebook在自己的社交网络里开展广告业务,就像腾讯不让百度搜索进入微信一样,Facebook也要发展自己的搜索引擎。2013年Facebook上线了Graph Search,2014年12月初又更新为Facebook Search,随即在Facebook的搜索中去掉来自微软Bing的Web搜索结果。
很重要的一个区别是,腾讯并不比百度小,而Facebook自身尚不能与Google抗衡。从服务器到数据中心,Google起步早,规模大,自成体系。为了迅速缩小基础设施领域与Google的差距,Facebook想出了通过开源壮大生态系统的妙招,即成立开放计算项目(OCP)。

开放计算项目(Open Compute Project)的Logo,左侧是用服务器主板拼成的“f”(来源:张广彬,2013年)
作为一个开源的硬件项目,OCP不仅是公布Facebook“白手起家”定制数据中心和服务器的细节,直到机架和主板的CAD图纸,更邀请开源社区及其他合作伙伴使用并改进。也就是分成两个步骤:先放出规范和机械图纸,再与社区共同改进它们。
如果我们考虑Facebook和Google身上类似硬件厂商的成分,可以看到,即便是生态系统的核心厂商如英特尔,也很难有如此社区化的思维。没错,上一个这样做的是Google,为了对抗苹果iOS而开源Android,成功的建设起巨大的生态系统,以群狼围攻猛虎。

Facebook的基础架构部门(来源:张广彬,2013年)
在这个资金和人才密集型行业,开源是争夺人才的好办法,还具有显著的广告效应。有更多的客户使用基于OCP规范的硬件,也可以增大采购量,帮助Facebook降低成本,起到类似团购的效果。
当时OpenStack刚刚兴起,OCP采用了一些类似的做法,譬如上下半年各一次峰会(Summit),并在2011年10月27日召开的第二届OCP Summit上,宣布成立OCP基金会(Open Compute Project Foundation)。不过,硬件设计的周期较长,于是,从2012年开始改为每年一次(其实OpenStack半年一个版本的做法也越来越有争议),2015年3月9-11日召开了第六届峰会。

OCP成立四年来的主要硬件成果,大部分在本章提及,其余会在后面的章节介绍(来源:第六届OCP峰会上Facebook工程副总裁Jay Parikh的演讲材料)
在2014年1月底召开的第五届OCP峰会上,Mark Zuckerberg和Facebook工程副总裁Jay Parikh宣布,OCP成立三年来,开源硬件方案帮助Facebook节约了12亿美元。13个月之后的第六届峰会上,Jay Parikh宣布的数字增长为20亿美元,每年通过OCP节省的能源可供8万家庭使用,减少的碳排放等量于9.5万辆汽车。

第六届OCP峰会上列出的会员名单,有些已破产的(如Calxeda)仍在上面,还有些大厂(如VMware)却没有显示。可以看到,来自中国的有互联网巨头百度和腾讯,服务器厂商华为和浪潮,闪存初创企业Memblaze和NetBRIC
2013年EMC、2014年微软、IBM、VMware等重量级传统企业厂商先后加入,苹果在2015年低调加入,OCP现有约200家会员,以广达(Quanta)、惠普(HP,2015年加入)为代表的7家解决方案提供商,大量经过验证的设计,Facebook和Rackspace的采用……接下来,就从董事会和典型项目两个方面,大致介绍一下OCP这个开源硬件组织的组织架构及主要成果。
董事会:经验的传承
成立基金会,而不是在Facebook一家控制之下,对OCP发展的重要性不言而喻。OCP基金会在董事会的管理下运作,最初有5位董事,分别来自5家公司。

2015年3月初OCP基金会的董事会成员,增加的2人后面会提及(来源:第六届OCP峰会演讲材料)
Frank Frankovsky代表Facebook,担任OCP基金会董事会主席兼总裁。2009年10月加入Facebook,担任硬件设计及供应链总 监,2012年2月起任硬件设计及供应链运营副总裁。此前,在戴尔负责服务器定制业务的数据中心解决方案(Data Center Solutions,DCS)部门担任总监近四年,上世纪90年代曾任康柏(Compaq)计算机公司的产品经理。

Facebook硬件实验室一角。在硬件实验室里,这已经算相当整洁的了(来源:张广彬,2013年)
Mark Roenigk是Rackspace Hosting的COO,在微软工作过9年,大部分时间负责OEM和供应链运营,此前7年是康柏(又是Compaq)的工程师。Rackspace是著名 的服务器托管商,有丰富的数据中心建设、运营和硬件经验,还与NASA共同催生了OpenStack——是惟一在一软一硬这两大开源组织中都有肇始之功的 公司。
Jason Waxman时任英特尔(Intel)数据中心事业部高密度计算业务总经理,主要负责的领域包括互联网数据中心、刀片服务器以及与未来密集型数据中心架构 相关的技术。他还负责领导英特尔在云计算方面的工作(现任云平台部门总经理),并在Blade.org和服务器系统架构组织(Server System Infrastructure Forum,SSI Forum)的董事会兼任管理职位。此前曾担任负责英特尔至强(Xeon)处理器、相关芯片组和平台产品及其客户关系的总监。

Facebook在硅谷的园区以前属于Sun——一家值得缅怀的伟大公司,顺道缅怀拍下这张照片的手机(来源:张广彬,2013年)
Andy Bechtolshiem来自Arista Networks,更响亮的名头是“Sun Microsystems共同创办人”。Andy Bechtolshiem担任过Sun的首席系统架构师,第一个投资Google,还担任闪存初创企业DSSD的董事长——后者2014年5月被EMC高 调收购。
除高盛(Goldman Sachs)的Don Duet职业生涯主要履历为CIO之外,以上四人均有深厚的硬件行业背景和影响力,从产品、技术到供应链都有涉猎,见多识广,经验丰富,对把控开源硬件项 目的发展方向至关重要。另外不可忽视的一点是,在各自公司里的职位足够高,方便调动资源支持。

作为OCP的创始核心成员之一,金融行业的著名企业高盛自认为是一家技术公司(6组彩色数字以兹证明),2015年的服务器采购目标是以OCP产品为主,节能5%(来源:根据第六届OCP峰会上高盛常务董事、技术部门联席主管Don Duet主题演讲材料组合)
2015年3月19日,LGE Execs开始管理OCP基金会的财务,相当于“虚拟”CFO,其主理合伙人(Managing Partner)Rocky Bullock成为董事会的第8位成员,担任书记/司库(Secretary/Treasurer)。

2015年5月的OCP组织架构(来源:OCP官网)
正如前面所说,OCP下辖的项目很多,从服务器到数据中心,还包括机架(Rack)、存储、网络、硬件管理,并于2014年启动了HPC(High Performance Computing,高性能计算)项目,电信工作组(Telco Working Group)也在积极活动中……
服务器:始于Google,终成一派
Facebook 开始定制硬件不算早,前期的服务器也来自OEM厂商。Facebook基础设施工程负责人Jay Parikh在2012年10月中旬的GigaOm Structure欧洲会议上表示,在瑞典Luleå的数据中心将是Facebook首次完全没有OEM服务器硬件。
这显然与本章一开始提到的Amir Michael有直接关系,他比Frank Frankovsky还早半年加入Facebook,也是OCP的共同创始人之一,2013年1月起担任OCP孵化委员会(Incubation Committee,IC)副主席,4月出任Coolan CEO——该公司与Facebook及OCP颇有渊源,Amir Michael又是共同创始人。

Google俄克拉荷马州梅斯郡(Mayes County, Oklahoma)数据中心的服务器机柜热通道,服务器前端的状态LED反射出绿光。一个机柜有近百个风扇,但不是第二章提及的那种集中的风扇墙,而是分 属各台服务器的常规风格,这种服务器的总体设计也为Facebook前两个版本的定制服务器所借鉴(来源:Google官网)
超越往往从学习和模仿开始,虽然牛顿所谓“站在巨人的肩上”原非此意。OCP成立时,Facebook数据中心团队贡献的第一代OCP服务器,代号 “Freedom”(反抗Google强权?),实则借鉴了Google的设计,最明显的标志就是1.5U(66mm)的服务器机箱。这样做的好处是可以 使用直径更大的60mm低转速风扇,与1U服务器的40mm风扇相比,节能效果显著。450W供电模块(Power Supply Unit,PSU)支持277V交流和48V直流输入,前者比208V减少不必要的电压转换,后者由备份电池提供短时电力供应,都是为了尽可能的避免能源 损耗。散热与供电双管齐下,控制电费(省OPEX)。

Prinevill数据中心的供电转换环节(来源:Facebook)
另一点是去掉(前)面板和BMC,没有VGA接口,以贯彻Facebook的“Vanity-free”(无浪费)精神。目标是尽可能降低购置成本(省 CAPEX),尽管做工看起来有点糙。正如Jay Parikh所言,OCP服务器比标准服务器少很多功能,所需部件也大为精简。

48伏电池柜的输电路径(来源:Facebook)
OCP V1服务器有AMD(12核Opteron 6100)和Intel(6核Xeon 5600)两种双路方案,主板尺寸为13×13英寸,由广达(Quanta)制造。机箱宽度(480mm,略小于19英寸)和高度单位(Rack U,即RU,1RU为1.75英寸,即44.45mm)都遵守既有工业标准的“老规矩”,但取消了两侧的机架导轨(Rack Rails)。后端有3个硬盘托架,与主板均为免工具拆装。
2012年5月初在圣安 东尼奥召开的第三届OCP峰会之前,AMD和Intel贡献了第二代OCP主板的设计,得益于至强(Xeon)E5-2600,Intel开始占据压倒性 的优势。代号“Windmill”的Intel OCP v2.0主板采用双路Intel Xeon E5-2600,外形长而窄(6.5×20英寸,约165×508mm)。OCP V2服务器仍为1.5U规格,但主板宽度只有第一代的一半,因而能容纳两个计算节点,在同样的机箱内将密度翻番。

OCP服务器V1(左)和V2(右)采用同样的1.5U机箱,4个60mm风扇位于主板后方,右侧的硬盘托架由供电模块提供冷却气流。V2的改进包括:硬盘前置便于维护;2个主板提升计算密度,但牺牲了可能的硬盘数量;CPU性能提升(来源:Facebook)
为了支持两个主板,V2服务器的供电模块提升为700W,并与硬盘互换位置,这样可以从前面直接维护硬盘。
经过两代服务器的摸索,相继暴露出一些问题:
1.供电模块的冗余度差。相比于工业标准服务器的1+1冗余电源,这两代服务器均只有一个供电模块。OCP V1服务器尚可用“牲口模式”来解释(关键组件出问题即替换整个服务器),而OCP V2服务器的供电模块故障会导致两个计算节点失效,就有点矫“枉”过正。为此Facebook还设计了高可用(High Availability,HA)服务器的方案,即增加一个PSU,替换下来一个主板,等于把计算密度又降回去了。
2.可以用前一章所述把PSU集中到机架层面的方案(此时中国同行们的天蝎整机柜已经这么做了),但是以19英寸机箱的宽度,拿走PSU剩下的空间,又不足以放下第三个主板(6.5×3=19.5英寸)。
3.计算与存储没有解耦合。这在OCP V1服务器中尤为明显,3个驱动器托架可以放6个硬盘,计算节点只用一个启动盘的话,为保留本就不够用的灵活性(常见的2U服务器可以在前面板容纳12个 3.5英寸硬盘)而造成大量的空间浪费;OCP V2还好,因为增加的主板挤占了2个驱动器托架的位置——计算占的比重变大了,存储去哪儿?
4.60mm风扇还不够大。
5.不同程度的保留了USB接口,却没有BMC(Baseboard Management Controller,基板管理控制器)。在大规模应用环境中哪个对管理更有价值,不言而喻。
除了最后一点,其他几点都需要机箱、乃至机架(Rack)设计的改变。
Open Rack:重新定义数据中心机架
Facebook最初采用19英寸三联柜设计,名为Freedom Triplet,看名字便可知是配合第一代OCP服务器使用。宽度比三个并排的EIA 310-D规格机架(600mm×3)略窄,为1713mm,节省重合部分的材料。外侧的两个机架(注:在本文中,连同内部设备时称为“机柜”)上各有一个架顶式(Top of Rack,ToR)交换机,每一列30个Open Compute服务器,共90个。一组三联柜装满90个服务器后总重2600磅(约1179公斤),两组三联柜共享一个备份电池柜。

配合前两代服务器的Freedom三联柜,因并联而略省材料且更稳固,高度也略超出常见19英寸机架,可容纳30个1.5U服务器(45U)以及交换机(来源:OCP规范)
Facebook很快认识到,形成于1950年代的EIA 310-D标准不能满足他们的要求。EIA 310-D标准化了机架内轨之间的宽度(19英寸),但把高度、深度、安装和布线方案以及连接器的规范留给制造商去定义。Facebook认为,这导致服务器和机架设计不必要的分化,把客户锁定于特定的供应商及其实现——天蝎整机柜1.0的实践证明了Facebook的观点。

Freedom三联柜交付现场(来源:第六届OCP峰会,Frank Frankovsky的演讲材料)
更关键的问题在于,传统的19英寸机架,考虑到侧边和滑轨(Sliding Rails),留给IT设备(服务器、存储)的可用宽度只有17.5英寸(444.5mm,相当于10U,当然U是个高度单位),不能并排放置3个(6.5英寸宽)主板或5个3.5英寸硬盘。嫌窄者早已有之,如IBM大机和EMC的高端存储,都有宽度在1500px以上的机架,EMC Symmetrix VMAX的系统和存储机架宽度均超过1875px(30.2英寸,合1917.5px),为的也是容纳更大的服务器(存储控制器)或更多的硬盘。

一个直流UPS电池柜支持两组三联柜共180台服务器的全系统(来源:Facebook,2010年)
不过,一则拓展外宽未必提高效率,二则大机和高端存储利润高得多,量上不去也没太大关系。Facebook的办法是保持外宽600mm(近24英寸)不变,把内部横向间距从483mm(19英寸)扩大到538mm(约21英寸),增加55mm(近2.2英寸),取消占地费钱的(机箱两侧)滑轨,空间利用率从73%(17.5英寸时)跃升为87.5%,可谓创举。

Open Rack俯视图(下前上后),可以看清内宽扩大,前端维护&后端供电等要素(来源:OCP规范)
既然重要的内宽已经改变,索性把每个Unit的高度也重新定义,从传统Rack U(RU)的44.45mm,略微放大至48mm,名为OpenU,简称OU,起名为Open Rack(开放机架)。为与之前的设备兼容,保留0.5 OU为最小单位,不过Facebook似乎没有推出过非整数OU的产品。
然后是整合供电模块,分为3个供电区(Power Zone),每个供电区有3 OU供电框安置7个700W的PSU(来自OCP V2服务器),N+1配置,共4.2kW,整个机架的供电能力达12.6kW。每机架两个PDU(Power Distribution Unit,配电单元),200-277V交流在左后方,48V直流在右后方。服务器从机架正后方等距分布的3根铜排(Bus Bar,母线)上取电,PSU输出电压12.5V,正好满足服务器对12V输入的要求。

2014年11月中正式上线的Altoona数据中心,采用了最新的OCP硬件,包括Open Rack——注意左侧机柜的供电区和供电框内的PSU,但仍为6个机柜配1个电池柜的组合(来源:Facebook)
Open Rack v0.5版规范于2011年12月15日释出,在第三届OCP峰会上隆重介绍。该版本建议每个供电区为15 OU,12 OU用于IT设备;然后再留2 OU放置ToR交换机,总高度至少47 OU(不低于2300mm,似可见之前Triplet纵向空间分配思路的遗存)。2012年9月18日,Open Rack 1.0规范公布,主要明确了以下几点:
· 专注于单列机架设计(非三联柜);
· 入口(inlet)温度提高到35摄氏度,反映其他Open Compute设计和数据中心的实际温度;
· 交换机布置更灵活,不仅限于供电区的顶端;
· 计算设备(服务器/存储)机箱为1-10 OpenU高,支持L形支架直接承载。L形支架明显比传统服务器的测滑轨节省空间和成本,免工具安装,可以0.5 OpenU(24mm)为增量固定;
· 最大高度取决于供电区,但建议不要超过2100mm,以保持稳定。常见的做法是每个供电区13 OU,IT设备10 OU,再加2 OU交换机,共41 OU;
· 新设计的弹性夹片(clip),使机箱电源连接器易与铜排配合。

Open Rack V1前视图和侧视图(左前右后),可以看到纵向空间的分配(来源:OCP规范)
综合起来,Open Rack的特点主要是:
1.拓展空间。开创性的提高了内部利用率,特别是留给IT设备的宽度大为增加,单位高度也略有提升,同时尽可能的保持了与原有机架标准的兼容性(外宽一致,高度相近);
2.集中供电。提供机架范围内的共享与冗余,服务器等IT设备直接插拔取电,免去上架时的手动连线工作;
3.前端维护。后端用于供电和散热,维护人员在冷通道一侧即可完成日常工作,不用进入热通道。两边跑不仅增加了工作量,且有后端识别设备困难,容易导致误操作等弊端。
当然副作用也是有的,即两侧起支撑作用的部分变薄,同时内部IT设备可能的重量还会增加(Open Rack V1.1规范已达950千克,接近本节开头提到的三联柜),对机架强度提出挑战。在整机柜交付等运输途中尤其如此,早期的Open Rack要在后端加斜梁辅助,防止变形。
不过,在目前的Open Rack V2规范里,基本机架配置在动态环境下支持500千克的IT设备,通过增加紧固螺栓等手段,重载机架配置(Heavy Rack Config)可以支持1400千克的IT设备——作为对比,James Hamilton在re:Invent 2014大会上透露,AWS的存储优化机架可容纳864个(3.5英寸)硬盘,重达2350英镑(约1066千克)——要怎么装出这个密度来,也是门学问。

显然是类似三联柜的方式更稳固(来源:OCP Engineering Workshop)
Open Rack V2还有重组供电布局、去掉单独电池柜等重要改进,将在以后的章节介绍。
Open Vault:存储从服务器分离
得益于Open Rack,第四届OCP峰会上亮相的第三代OCP服务器(代号Winterfell)在设计上有质的飞跃:
主板仍然是v2.0,但服务器高度增至2 OU,并特意强调不是1.5 OU,80mm风扇效率进一步提高;
更大的纵向空间(高度)有利于容纳全尺寸GPGPU,支持两个全高的PCIe卡,一个3.5英寸驱动器槽位,均从前端维护;
服务器机箱里没有PSU,正好并排摆放三台(每台2个80mm风扇),分别从后部的铜排取电,密度进一步提高(2 OU3)且相互独立;
观感上,做工精细了很多,裸露部分的处理也较好,总体上不输一般商用服务器的水准。

用于Open Rack V1的OCP服务器(Winterfell)俯视图及三联装(共占用2 OU机架空间)(来源:网络图片组合)
现在的OCP服务器主板已发展到V3.1,尺寸不变,支持Intel Xeon E5-2600 V3,16个DIMM/NVDIMM,加上了BMC,支持Open Rack V1和V2。3个75W PCIe x8插槽,挤占了硬盘的位置,代之以板载mSATA/M.2(2260,60mm长)SSD——以前只支持mSATA,且需要通过适配器。
硬盘先是被边缘化,接着连装操作系统的工作也被SSD抢走了。那么,大容量存储怎么办?

没有定制服务器和存储项目时Facebook的6种服务器类型,TypeⅡ因与TypeⅥ配置相近而被并入后者(弱势的AMD啊),多数公开资料里都没有单独列出;TypeⅣ和Ⅴ的存储配置看着很像2U的所谓“存储服务器”(来源:Facebook)
我们常说,互联网公司是不买存储(设备)的,这里指的是SAN、NAS等传统的企业级存储系统(磁盘阵列),而不是没有对大容量存储的需求。像上一节刚提到的AWS存储优化机架,即为一例。
OCP V1服务器支持最多6个3.5英寸硬盘,都放满,不算多;只放一两个,剩下的空间又派不上别的用场。保持灵活性,就得付出浪费空间的代价,问题是也没多灵活。
其时Amir宣布了一个面向存储密集型应用的项目设计,看起来像是个4U设备,支持50个硬盘,分配到两个控制器,可以连接到多台服务器,提供可变的计算与存储配比。
第三届OCP峰会上,失势的AMD基于其双插槽Opteron 6200主板建立了一个代号Roadrunner的项目,包括1U(HPC选项)、1.5U(通用)、2U(云选项)、3U(存储计算选项)共四个规格。2U支持8个3.5英寸或25个2.5英寸驱动器,3U支持12个3.5英寸或35个2.5英寸驱动器,仅以3.5英寸硬盘的密度而言,还不如OEM厂商推出的服务器,2.5英寸规格于互联网用户更像是为SSD而非硬盘准备的。在Open Rack实用后,这个项目愈发没有下文,AMD也投靠了ARM阵营,在OCP的项目里主要以微服务器卡(Micro-Server Card)刷存在感。
总的来说,还是Amir那个计算与存储分离(解耦,disaggregation)的思路靠谱。Facebook在存储架构师Per Brashers(已离职创业)和中国籍工程师晏勇等工作人员的努力下,于同一届峰会上公开的Open Vault(代号Knox)取得了成功。这是一个宽度和高度(2 OU)都适配Open Rack的JBOD(Just a Bunch of Disks,一堆硬盘的简单集合,无处理能力,需配合计算节点使用),共30个3.5英寸硬盘,分为上下两层,每层(tray)有15个硬盘和一对冗余的连接电路板(Knox Board)。电路逻辑比服务器主板简单许多,基本上是Facebook独力设计完成,先交由纬颖(Wiwynn)生产,贡献给OCP之后,与OCP服务器一样有其他提供商(如Hyve Solutions和广达)生产的版本。

抽出一层共15个硬盘的Open Vault,背景机架供电区上方的2 OU设备为广达的JBR,是另一种符合OCP规范的JBOD(来源:张广彬,2013年)
Open Vault是个非常经典的设计,后面会有专门的章节展开分析。

除了CPU、内存和硬盘配置的自然更新,2013年Facebook的Hadoop(类型4)和Haystack(类型5)服务器都用上了Open Vault,冷存储机架更成为一种新的服务器类型(7),从硬件架构上也可以理解为一台单控制器(Winterfell服务器)带8个JBOD(Knox)组成的低性能存储系统(来源:根据Facebook数据制表)
现在,需要大容量存储的Facebook服务器,如TypeⅣ(用于Hadoop)和TypeⅤ(用于Haystack,Facebook的图片应用)都由Open Vault提供存储,还增加了一个OCP服务器带8个Open Vault(240个硬盘)的冷存储(Cold Storage)类型——共18 OU,占据半个机架的空间。
数据中心:RDDC与Open DCRE
如本章一开始所言,OCP的孕育便与数据中心建设有着密不可分的关系,Facebook贡献的基于Prineville数据中心实践的数据中心电气和机械设计规范,是OCP最早的文档之一;Facebook向OCP贡献的冷存储硬件设计规范包括了冷存储数据中心地面布局的建议,冷存储服务器就是前述的TypeⅦ机型。

Prineville数据中心采用两层阁楼式设计,无冷机(no chiller)。地面层放置服务器等IT设备,上层阁楼为冷却系统空间,对外部冷空气和回流热空气进行处理,按一定比例混合(来源:Data Center Knowledge)
Google在数据中心建设上起步早,发展水平高,但也不可避免的形成了历史路径依赖(阿里巴巴技术保障部资深IDC专家陈炎昌语,本节多有借鉴)。这个“遗产”主要体现在水循环系统制冷设计,所以我们总能看到Google的数据中心逐水而居。虽然Google在水的利用上玩出了很多花样,譬如海上数据中心,还有上一章提到的芬兰Hamina数据中心,都是利用海水散热,但是各种水管道始终是个麻烦事,PUE则很难降到1.1以下(即使通过神经网络等技术进一步优化)。

Google俄勒冈州Dalles数据中心内景,蓝色的是冷水供应管道,红色的把温水送回致冷。铺设水管是典型的工程项目,费时费力,难以模块化(来源:Google官网)
本着“后发优势”,Facebook着力推行新风供冷(fresh air cooling),没有空调(Chiller-less)和冷却水管道,冷却系统都布置在上层阁楼内,PUE也低至约1.07。不过,因为要靠喷水雾调节温度和湿度,Facebook的数据中心早期有过教训。

Prineville数据中心的冷却气流示意。热通道封闭,也是从一层的顶棚回风(来源:Facebook演示材料)
2011年夏天,Prineville的数据中心投入使用不久,建筑控制系统错误的输送了富含水分(湿度95%)的冷空气(80华氏度),“机房里就像飘着一朵雨云”,很多服务器遇湿重启,或者因电线短路而自动关机。那年6月下旬,Facebook曾计划将Prineville数据中心二期像北卡Forest城数据中心一样,把服务器进风温度从80华氏度(26.7摄氏度)提高到85华氏度(约29度),相对湿度从65%提高到90%,温升(ΔT)从25华氏度提高到35华氏度,旨在控制环境的影响,并允许减少45%的空气处理硬件。现在看来其后两个指标只到80%和22华氏度,且仅Forest城数据中心相对湿度达90%,不知是否与这次事故有直接关联。

Facebook三大区域数据中心(Prineville、Forest City、Luleå)基本设计指标对比,当时Altoona数据中心尚未完全建成(来源:Facebook,2014年)
总的来说,始于Prineville的成功经验被复制到包括瑞典Luleå数据中心的一期工程。随着Open Rack规范的成熟和相关产品的广泛应用,服务器、存储等IT设备及配电已经基本实现了标准化和模块化,可以在工厂内组装好整机柜,以三联柜等方式整体交付,而机械系统采用工程化设计需要配合建筑施工,电气系统也是工程实施,导致数据中心整体交付速度滞后。Facebook希望对(整机柜)微模块外的机电、数据中心建筑进行产品化、标准化预制、预构件等改进,配合并行作业,达到业务、ICT设备(服务器、存储和网络)、机电、建筑各部分的部署速度几乎同时匹配,实现快速交付。

位于北极圈边缘的Facebook Luleå数据中心(建设中),景象是不是有点像前一章介绍的Google芬兰Hamina数据中心?为Hamina数据中心提供电能的Maevaara风力发电厂就在Luleå北边不远……(图片来源:Facebook)
2014年3月初,Facebook数据中心设计团队的设计工程师Marco Magarelli在OCP官网上撰文表示,瑞典Luleå园区的第二座数据中心建筑(Luleå 2)将采用“快速部署数据中心”(Rapid Deployment Data Center,RDDC)的概念模块化构建。RDDC包括两种方法,第二种“flat pack”自称效仿宜家(Ikea),不过,真正“因地制宜”的是为了适应瑞典寒冷的气候(Luleå离北极圈不到100公里)——Facebook机械和散热工程师Veerendra Mulay在与我的交流中表示,用传统的方法建设数据中心需要11~12个月(参见Prineville和Altoona一期),RDDC可以缩短为3~8个月,从而尽量避开Luleå下雪的季节(腾讯天津数据中心建设过程中也曾被暴雪所阻)。

RDDC的整体布局,A和B是放置服务器、存储、网络等ICT设备的区域(data hall),中间的Elec Skids为电气模块,边上的Mech Units为机械制冷模块(来源:Facebook)
为了达到RDDC的目标,首先,Luleå二期的数据中心建筑取消了上层的阁楼,采用大平面一层的的设计方式,所有主要设备都置于地面,架高的顶棚为布线和热通道回风留下足够的空间。陈炎昌认为:建筑顶部倾斜使得热气流更容易上升,最高处带有风机的热气流排出口调节废热排出的设计,很像雅虎2007年公布的“鸡舍”(chicken coop)式数据中心;而地面的整体布局又类似两边为精密空调、一侧为UPS等配电系统的传统数据中心。可谓兼收互联网与传统企业数据中心之长。

右下小图为“Chassis”的预构件摆放示意,注意建筑中间向上凸起的部分,与Yahoo!设于纽约州北部Lockport的“鸡舍”式数据中心的相似性(来源:OCP官网与NBC Bay Area)
建筑构造上,采用了钢结构预构件,吊装部署。模块化的方法不仅便于复制,还可以根据地区等变化灵活更换为不同的模块,譬如60Hz的美国电源标准和50Hz的世界标准,就分别有对应的供电模块。至于两种工厂预制、现场组装的模块化方法——第一种“chassis”(底盘)和第二种“flat pack”(组合件),公开的资料非常有限,主要来源是Marco Magarelli的那篇博客,某些第三方的解读有所不同,但都有令人困惑之处。

一个典型的数据中心区域(data hall,前面整体布局图中的A或B)由52个chassis构成,4×13网格配置,13个冷通道(每个冷通道对应2列机柜),如图中上半部分;下半部分是2个40英尺chassis(两个蓝色方框覆盖范围,Unit IT)及制冷模块(a/b/c)的剖面图,冷气流从右至左经过IT模块(服务器或网络机柜),热气流上升,沿顶棚回流(上方橙色区域)至右侧制冷模块(三个粉色方框覆盖范围),部分高温空气从左上方(墨绿色区域)经风机排出,形似鸡舍(来源:根据Facebook演讲资料加工)
按照OCP官网博客中的说法,“chassis”类似组装汽车底盘的理念:使用12英尺(约3.6米)宽、40英尺(约12米)长的预组装钢框架,然后在组装线上附加部件,电缆槽、输电排、控制面板乃至照明都在工厂预安装好。在现场组装时,两个chassis的钢框架相连,在机柜上方构成长60英尺(约18米)的冷通道,两端各留10英尺(约3米)的空间给过道。把这种方法比作搭建乐高积木(源自丹麦,也是北欧国家)形成很好的对应关系,但没有“宜家”贴切。
“Flat pack”用14英尺(约4.2米)高的墙板围成热通道,也有跨越机柜和冷通道、金属面板构造的12英尺宽天花板组件,可以使用特制的挂架承载电缆槽、输电排和照明,感觉这部分与chassis方法是存在重合或替代关系的。有一点是相通的,即flat pack方法同样经过预先工程化后做成预构件,将原有工程化(现场施工)为主的框架转变为产品化(现场组装)的框架。

Flat pack方法拼装示意,注意左上角的截面图,实线部分肯定是flat pack,虚线方框似与chassis方法相重合,约3.6米的宽度扣除2个机架的深度,冷通道宽度约1.5米左右(来源:Facebook)
顾名思义,这两种方法的精髓都体现了由传统的工程项目到工厂预制产品、现场模块化组装的转变。通过部署预安装的总成和预制单元模块、交付可预测和可重用的产品,RDDC能够实现站点无关设计、减少现场影响、改善执行和工艺的目标,加快数据中心建设的速度,提高利用率且易于复制到其他地区。提高效率,终归是要服务业务需求。
数据中心建设走向模块化之后,下一步是从里(ICT设备)到外(风火水电)作为一个整体来统一管理。2015年3月10日召开的第六届OCP(美国)峰会上,数据中心项目组介绍了开放数据中心运行时环境(Data Center Runtime Environment,DCRE),这是基于社区的用户数据中心运行时环境,包括可以与任何单板式计算机对话的控制板、到OCP铜排(Bus Bar)的电力线通讯(PLC)接口、固定在铜排上的PLC传感器hub及固件等,能够:
允许完整的解耦带外(OOB)管理网络;
从机架、交换机和服务器上去掉所有外部的物理RJ-45/串行集线器/BMC;
提供机柜级管理的标准接口;
促成定制一个包括北向和南向接口的健壮的Linux操作系统。
Open DCRE支持标准BMC功能,包括IPMP的远程开闭电源、重启、通过串口控制和OCP的远程硬重置、串口(本地,非LAN)控制、POST错误代码、缓冲引导代码。
国内的腾讯也在致力于数据中心模块化进程和南北向接口的标准化等工作,下一章会有简要介绍。
本文转载自:http://www.testlab.com.cn/Index/article/id/1075.ht
作者:张广彬
如有侵权,立即删除,谢谢!
1 个评论
太专业啦!