改变数据中心格局 Facebook服务器方案解读
- +1 你赞过了
解构服务器
Facebook数据中心设计哲学的核心是“解构”(disaggregation)——也就是把传统上构成一台“服务器”的东西拆解开来,使其变成特定目的的硬件群组,这些硬件群组在很大程度上靠网络硬件互相连通。从某种程度上来说,这样的事情发生在原属Sun的园区中带有那么点讽刺意味。在Sun的全盛期,这家公司的广告口号是“网络就是计算机”;而时至今日,计算机就是网络,无论是从概念上来说还是从物理上来说都是如此。
Facebook硬件背后的设计原则来自于直接的实践经验。考德里称,他手下的所有工程师都曾花时间在Facebook的数据中心里做过技术员的工作,“因此每个人都有过实践动手经验,了解硬件的具体运作”。
Facebook和开放计算项目所采用的方法是对数据中心进行一种“后现代解构”,也就是把通常情况下构成一台服务器的部件拆解开来,使其变成能各自发挥功能的部件,尽可能地降低其复杂性,同时尽可能地提高其工作效率。在Facebook的数据中心架构中,真正意义上的所谓“服务器”少之又少,取而代之的是众多填满了各种功能性“sled”的机架。“那将成为一种模式,未来两年时间里你们都会从我们这里看到这种模式。”考德里说道,他在硬件实验室里向我们展示了一些sled设计。“我们的许多硬件设计都将把重点放在一个类别的问题上。”
在Facebook最新的数据中心里,这家公司已经采取了这样的方法。在这些数据中心里,服务器机架中布满了各种使用多用途计算sled(配备CPU、内存和用于处理特定任务的PCI卡的主板)构成的系统、存储sled(高密度磁盘阵列)和“内存sled”(配备大量RAM和低能耗处理器的系统,这种处理器是为处理内存中索引和数据库而设计的)。
“我们不会把这些用在网站上。”考德里说道,他所指的网站是Facebook用来连接至大型互联网站点的托管站点。“但是我们会将其用在自己的所有数据中心设施里,包括位于弗吉尼亚州阿什本(Ashburn)的数据中心——那里的数据中心环境更倾向于经典模式。事实上,我们已经设计了一系列最初的开放式机架。”
所有这些分解开来的硬件模块都拥有一种共同的特征,那就是它们都是完全独立的,可以很方面地拆卸、修理或替换。考德里指着实验室工作台上的一个计算sled说道:“如果这个东西需要修理的话,那么你要做的事情就是抓住把手然后把它拉出来就行了,因为没有螺丝,不需要使用螺丝刀。”
考德里用“Windmill”计算sled对此进行了演示,其基础是第二代开源主板设计。“这是一种双插槽的英特尔主板。”考德里说道。“我们把它称作‘寿司船’形状系数。”这种计算sled拥有跟服务器主板一样的裸露“骨骼”:两个处理器、16 DIMM内存插槽以及一些PCI(外部控制器接口)插槽。Facebook使用PCI 10Gb以太网卡,而不是直接把以太网卡放在主板上。考德里称,这在很大程度上是因为这样一来公司就能从多家供应商那里获得这种产品。
计算sled上没有电源;为了节能,所有电力都来自于机架。“背面有12伏电源接头。”考德里解释道。“我们给主板提供12伏稳压电源,这样一来我们就能消除所有与功率变换和系统供电相关的复杂性,节能原则会告诉你说,尽可能减少功率变换的次数是最节能的,而每次变换功率都会让你损失五分之二的电力。因此我们直接为机架提供480伏非稳压三相电源,然后通过电源插框将其转换为12伏电源并向主板供电。也就是说,从发电厂到主板之间,我们仅仅进行了一次转换。而与此相比,许多数据中心都会转换三到四次:从480伏到208伏,进入UPS(不间断电源),从UPS出来,进入配电装置,然后进入服务器电源。”
在每个计算sled的冷却风扇设计中,这种节能性也同样存在。“这些东西的节能性好得令人难以置信。”考德里说道。“它们拥有很好的大扇叶,转动的速度较慢,只需要三到四伏就能保持冷却,而传统的1U服务器则需要80伏到100伏。”
在Facebook服务器中,有一种服务器不太符合Facebook的简约化和“解构化”的模式,那就是数据库服务器。“在通常情况下,数据库服务器是最难利用DIY硬件来组建的。”考德里说道。“但是,我们想要去除那些价格高昂的、难以维修的OEM(原始设备制造商)数据库服务器。那原本是一种有趣的迅速开发项目,而并非真正意义山的黑客马拉松,但我们说道:‘嘿,我们仍在购买这种OEM硬件;不但价格昂贵,而且难以维修——我们能做点更好的事情吗?’几个月以后,就有工程师跳出来说:‘让我们看看是否能去掉这最后一种OEM设备吧。’”
Facebook的硬件工程师团队利用Windmill主板推出了一种解决方案,加入了一个电源工具箱,从而“允许我们使用两套电源”。考德里说道。“在正常情况下,这种设计实际上会拥有一个电源和两个主板”。他指出,虽然Facebook的大多数服务器都使用单电源,但数据库服务器则需要额外的电源保护,从而防止断电带来破坏性的后果。因此,为Facebook用户数据库及其他大型数据库提供支持的服务器需要拥有额外的电源。
最新资讯
热门视频
新品评测