专栏名称: 高可用架构
高可用架构公众号。
目录
相关文章推荐
美团技术团队  ·  AutoConsis:UI内容一致性智能检测 ·  5 天前  
美团技术团队  ·  MARS ... ·  5 天前  
高可用架构  ·  Feed 流系统的架构设计方案 ·  4 天前  
架构师之路  ·  架构设计中的后台任务:3种场景,2.5种触发 ... ·  5 天前  
51好读  ›  专栏  ›  高可用架构

为极致的视频体验而设计:facebook新一代存储平台Bryce Canyon架构

高可用架构  · 公众号  · 架构  · 2017-03-17 09:15

正文

导读:对大型互联网公司而言,海量图片或者视频的存储是一个很大的挑战。Bryce Canyon 是 Facebook 为解决这一问题而设计的专用存储硬件方案。本文是对 Bryce Canyon 这一方案的介绍。转载请注明来自高可用架构。


在 Facebook,我们的存储需求不断演进。 为了在运行工作负载时更高效,我们一直致力于优化我们的存储服务器设计。 2013 年,我们与设计合作伙伴 Wiwynn 合作,将第一个存储机柜 Open Vault(Knox)提供给开放计算项目(Open Compute Project),然后在 2015 年利用该设计创建了我们的存储服务器 Honey Badger,还有 2016 年的 Lightning NVMe 机柜。


由于重点关注我们的应用程序的视频体验,存储的工作负载越来越需要更多的存储容量和密度。 我们开始设计我们的下一代存储,关注效率和性能,并于今天宣布,我们最新的存储平台 Bryce Canyon 的设计规范现在可通过开放计算项目(Open Compute Project)获取。


Bryce Canyon 将主要用于高密度存储,包括照片和视频,并提供比 Open Vault 高 20% 的硬盘驱动器(HDD)密度。它被设计为支持更强大的处理器和更大的内存,它通过在底盘下方吸入空气来提高热和电源效率。


我们的目标是建立一个平台,不仅能满足我们今天的需求,还能扩展以适应未来增长的新模块。 Bryce Canyon 提供了强大的分类存储功能,与其他存储平台相比可以轻松扩展。

Bryce Canyon 存储系统支持 72 个 3.5 英寸硬盘(12 Gb SAS/6 Gb SATA)。系统可以配置为单个 72 驱动器存储服务器,或者作为具有完全独立电源的双 36 驱动器的存储服务器,或作为 36/72 驱动器的 JBOD(just a bunch of disks,一堆磁盘)。由于它减少了我们将来支持的存储平台配置数量,这种灵活性进一步简化了我们的数据中心操作。

当配置为存储服务器时,Bryce Canyon 支持单或双 Mono Lake CPU 模块。我们发现,对于某些工作负载(如 Web 和存储),单插槽架构更高效,每瓦性能更高;我们以前改变了我们的 Web 层来利用这种架构,并在 Bryce Canyon 平台上实现了相同的 Mono Lake 构建块。

驱动器连接由存储控制器卡(SCC)提供,在此迭代中提供 12 Gb SAS / 6 Gb SATA 连接接口。对于前端连接,有一个包含 OCP 夹层 NIC 的输入/输出模块(IOM),它支持 25 Gb 和 50 Gb 网卡。目前有 IOM 的两个变体:一个具有 2 x 四通道 M.2 模块,一个具有12Gb SAS 控制器。通过填充不同的模块,Bryce Canyon 可以通过多种方式进行配置,以优化各种用例,如 JBOD,Hadoop,冷存储等。

Bryce Canyon 完全符合 Open Rack v2 标准,并且利用了 OCP 硬件产品中的许多构建块。该系统通过 OpenBMC 进行管理,可以兼容 Facebook 数据中心中大多数新硬件的通用管理框架。 CPU 模块是 Mono Lake 卡,并且支持包括 25 Gb 和 50 Gb OCP 夹层 NIC。



模块化和灵活的平台


由于模块化设计,未来的平台可以采用下一代 CPU 模块,以在新技术采用时提高性能。 如果需要其他输入/输出接口,可以设计一个新的 I/O 模块以满足需要。 通过 16 条 PCIe 通道进入 IOM,大量的带宽可用于支持各种可能性。 该系统设计为协议无关的,所以如果需要 NVMe 系统,存储控制器卡就可以换成一个基于 PCIe 交换机解决方案。


支持不同工作负载的灵活性


高性能工作负载


对于大功率配置(如用于我们的某个分类存储服务的配置),Bryce Canyon 配置了两个 Mono Lake CPU 模块,以在同一机箱内创建两个独立的 36 驱动器存储服务器。 除了 OCP 夹层 NIC,此配置中使用的 I/O 模块支持两个 PCIe M.2 插槽,四个 PCIe Gen 3 通道。 M.2 插槽可用于缓存或合并写入。


平衡工作负载


对于每个驱动器需要较少 CPU 性能的存储系统(由于容量大和读/写速率低),可以使用单个 Mono Lake 连接到系统中的所有 72 个驱动器。


最大容量


对于需要超过 72 个驱动器存储空间的应用程序(例如,存档用例),您可以将多个 Bryce Canyon JBOD 以菊花链形式连接到 Bryce Canyon 头节点或外部服务器。


专用数据中心 - 规模化部署


由于无工具的设计,Bryce Canyon 系统可以快速而简单的上线服务。 系统中的每个主要 FRU 可以在不使用工具的情况下更换 - 它们包含在闩锁或指旋螺钉中。 该设计最独特的一个方面是无需工具的驱动器固定系统,不需要任何托架:系统使用闩锁机构来保持裸驱动器。为了移除存储器,闩锁通过将驱动器部分地拉出系统来帮助用户,以便于操作。 该系统大大简化了部署和维护。



Bryce Canyon 的设计规范通过开放计算项目(Open Compute Project)公开提供,全面的硬件设计文档将近期发布。请关注高可用架构留意后续文章。


英文原文

https://code.facebook.com/posts/1869788206569924/introducing-bryce-canyon-our-next-generation-storage-platform/


推荐阅读



本文由高可用架构翻译,欢迎加入国外优秀架构文献翻译小组,可以通过公众号菜单「联系我们」了解详情。


高可用架构

改变互联网的构建方式


长按二维码 关注「高可用架构」公众号