走近Facebook Altoona数据中心网络(上)

日期: 2014-12-01 作者:Shamus McGillicuddy翻译:曾少宁 来源:TechTarget中国 英文

Facebook最近简单介绍了它在Iowa州Altoona建设的新数据中心的高度模块化和可扩展网络。这个社交网络巨头一直很开放地对外展示它的数据中心网络建设方法,因为它正在尝试围绕其开放计算项目打造一个网络设备与软件生态系统。Facebook的目标是创建一个基于分散硬件和软件的数据中心交换市场,降低运营成本和难度。根据开放计算网络项目的问题,Facebook推出了一个原型交换机(Wedge)及FBOSS(基于Linux的网络操作系统)。

虽然Wedge和开放计算都无法在现阶段的Facebook立即发挥重要作用,但是可以想象到它们在将来的前景。FacebookAltoona数据中心网络通过简单性……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Facebook最近简单介绍了它在Iowa州Altoona建设的新数据中心的高度模块化和可扩展网络。这个社交网络巨头一直很开放地对外展示它的数据中心网络建设方法,因为它正在尝试围绕其开放计算项目打造一个网络设备与软件生态系统。Facebook的目标是创建一个基于分散硬件和软件的数据中心交换市场,降低运营成本和难度。根据开放计算网络项目的问题,Facebook推出了一个原型交换机(Wedge)及FBOSS(基于Linux的网络操作系统)。

虽然Wedge和开放计算都无法在现阶段的Facebook立即发挥重要作用,但是可以想象到它们在将来的前景。FacebookAltoona数据中心网络通过简单性和创新架构方法实现其可扩展性和模块化。它仅仅使用BGP和Equal Cost Multi-Path(ECMP)路由来保持拓扑简单性和供应商独立性,而且它采用一种大规模叶脊网络,其中每一层在设计上都可以独立扩展。

Facebook可以通过计算Pod和顶级机架(ToR)交换机的形式横向扩展叶子层。网络拥有多个并行运行的独立脊干交换机“平面”。此外,它还可以给网络设计引入“边界Pod”来扩展外部连接。每一个边界Pod都包含多个机架的高带宽交换机,它们负责将脊干层连接到外部网络。Facebook的网络设计允许根据需要独立增加脊干容量、服务器访问容量或边界容量。

而且,Altoona网络有一个内部开发的BGP控制器,当特定的应用程序和服务器需要使用一条专用网络路径时,它可以重载标准BGP路由。这个网络有一个大规模编制器,它带有准确定义的网络配置,并且可以自动将配置下发到各个交换机上。最后,这个公司还开发了一个管理平台,它能够自动诊断和修复网络问题。我希望更多地了解Facebook在Altoona数据中心的网络设计,因此我采访了设计数据中心的Facebook工程师Alexey Andreyev。

您能谈谈Facebook Altoona网络的设计目标是什么吗?

Alexey Andreyev:我们在尝试解决扩展性问题和消除过载网络的限制——在数据中心实现支持任何扩展需求的容量,而且能够在一种非常简单统一的框架中向不同的维度扩展。当我们需要扩大容量时,只需要增加脊干交换机。当我们需要更多连接时,只需要增加边界Pod。这是一个非常结构化和可预测框架,我们可以用它实现无限扩展的容量目标。我们希望能够更轻松地处理网络,而不会因为拓扑或复杂性增加而受到限制。

像这种运营上的简单性是如何实现的?

Andreyev:关键的一点是我们用这个软件方法去创建一个结构,然后由它来完成自动管理。我们会配置数据中心;但是我们不会配置各个组件。组件配置主要由我们的系统在上层设置中创建的。我们定义好数据中心的结构,以及构成数据中心的特定结构拓扑形状因数。所有必要的特定配置,如各个设备配置、组件配置、关于连接设备数量的端口映射及路由策略解析等,所有这些都源自于高级设置,它们会被解析为特定的平台设置。

这种解析又是如何做到的?

Andreyev:我们定义了一个非常简单可用设备转换方法。我们会检查所有网络服务,预期的路由状态、预期的拓扑及拓扑的属性。我们用这些信息为每一个组件创建出完全抽象且与供应商无关的逻辑视图。然后,我们将它们转换为一个特定的实现。例如,一个交换机有X个端口,而这些端口对应X个地址,而不是一些固定的路由。这是非常普遍的方法,然后当我们生成这个逻辑视图之后,我们只需要将解析为任何真实的组件。

您是通过什么方式将这种高层次策略下发到交换机上的?

Andreyev:我们会使用适合特定组件的方法。我们在我们知识库中部署了专门为这些组件准备的配置。我们有一些机制可以在大量组件上调度这些操作。我们的最终目标之一是尽可能保持简单。我们的自动化和扩展层次都是非常分散的,这样我们就可以根据需要更换任何组件,而不需要对软件执行大修改。因此我们可以非常快速地应用新的组件。

这种与供应商无关的方法是如何与许多数据中心运营商的目标有什么关系,特别对于开放网络用户组成员来说?这种方法如何转变和应用到更大范围的数据中心行业?

Andreyev:一个重要的要求是保持简单,一个组件只有最少必要的功能,而且也只有功能部署及组件操作的最少必要步骤。例如,对于任何的组件,我们都定义一个操作(步骤),轻松地从服务器提取组件或者将它轻松地放回服务,或者只是部署配置,等等。我们找到了各种不同类型事物的共性部分。而且它越是简单,共性就越多。这就是为什么我们提出这个方法的原因所在。这相对简单一些,我们认为所有人都可以从中受益。

请继续阅读《走近Facebook Altoona数据中心网络(下)》

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐