504 OSD Ceph 集群在融合微型服务器以太网驱动器上
十年前 Ceph 最初设计时,其理念是“智能”磁盘驱动器具备一定程度的处理能力,可以存储对象而不是块,并在系统内积极参与数据的复制、迁移或修复。与传统的磁盘驱动器相比,智能对象型驱动器可以与其他驱动器以对等方式协调,构建更具可扩展性的存储系统。
如今,WDLabs 的以太网连接硬盘驱动器正在使这种架构成为现实。WDLabs 已经组装了来自早期生产线的 500 多个驱动器,并将其组装成一个 4 PB(3.6 PiB)Ceph 集群,运行 Jewel 和原型 BlueStore 存储后端。WDLabs 一直致力于验证在存储设备内应用开源计算环境的必要性,并且现在开始了解像 Red Hat 这样的思想领袖与早期单元合作的使用案例。本次测试旨在证明第二代融合微型服务器已成为分布式存储用例(如 Ceph)的可行解决方案。构建一个可以运行开源软件的开放平台是该理念的关键基础。
WDLabs、Red Hat 和 SuperMicro 之间在大规模 4 PB 集群上的合作将有助于推动对这种新颖且可能具有颠覆性的产品的进一步学习和改进。通过允许存储服务直接在驱动器上运行,可以消除整个传统服务器层,简化从机架顶端交换机到顶端的整体堆栈,并通过空间效率提升以及组件和功耗降低获得回报。
在过去两年中,ARM 社区为 Ceph 贡献了大量代码,使其能够在上一代 32 位和新的 64 位架构上良好运行。我们的工作远未完成,但我们认为结果令人鼓舞!
WDLabs Converged Microserver He8
Converged Microserver He8 是一种基于现有生产型 Ultrastar® He8 平台构建的微型计算机。用于 Ceph 集群的主机是双核 Cortex-A9 ARM 处理器,运行频率为 1.3 GHz,配备 1 GB 内存,直接焊接到驱动器的 PCB(如图所示)上。选项包括 2 GB 内存和 ECC 保护。它包含 ARM NEON 协处理器,以帮助进行擦除码计算以及 XOR 和加密引擎。
[caption id="attachment_7711" align="aligncenter" width="293"]
驱动器 PCB 包括标准的磁盘控制器硬件,以及运行 Debian Jessie(和 Ceph)的额外 ARM SoC。连接器通过以太网而不是 SATA 传递。[/caption]
接口是双 1 GbE SGMII 端口,能够在兼容的机箱中达到 2.5 GbE。物理连接器与现有的 SAS/SATA 设备相同,但具有正在标准化并被其他驱动器制造商采用的新引脚定义。多个机箱供应商已经提供磁盘货架。
[caption id="attachment_7757" align="aligncenter" width="520"]
该驱动器具有标准的 3.5" 外形尺寸。[/caption]
默认操作系统是 Debian Linux 8.0 (Jessie),并支持 PXE 启动。
504 OSD 测试集群和测试设置
4 PB 504 节点 Converged Microserver He8 集群以 42 个 SuperMicro 1048-RT 机箱为基础,每个机箱通过 3 个 SuperMicro SSE-X3348T 交换机向机架顶端公共网络提供 10 GbE。另一个相同的交换机连接私有后端网络,用于内部集群相关任务。每个驱动器有两个 1Gbps 接口,一个用于公共网络,一个用于集群(复制)网络。监视器(在本测试中只有一个)正在运行在传统的服务器上。
[caption id="attachment_7713" align="aligncenter" width="225"]
正面集群:25 个 1u SuperMicro 机箱[/caption]
客户端已安装以向系统应用工作负载,但到目前为止,尚未能够完全用流量淹没集群。有 18 台 x86 机器,每台机器配备 10 Gbps 接口。工作负载由 'rados bench' 生成,默认写入大小(4 MB)和 128-196 个线程/客户端,每个数据点运行 5 分钟。
集群正在运行 Ceph Jewel(v10.1.0)的早期版本,每个驱动器一个 ceph-osd,使用新的实验性 BlueStore 后端来更有效地利用原始磁盘(/dev/sda4)。配置相对简单,尽管我们进行了一些小的调整以减少设备上的内存消耗
osd map cache size = 40 osd map max advance = 32 osd map message max = 32
ceph 状态输出如下所示
cluster 4f095735-f4b2-44c7-b318-566fc6f1d47c health HEALTH_OK monmap e1: 1 mons at {mon0=192.168.102.249:6789/0} election epoch 3, quorum 0 mon0 osdmap e276: 504 osds: 504 up, 504 in flags sortbitwise pgmap v3799: 114752 pgs, 4 pools, 2677 GB data, 669 kobjects 150 TB used, 3463 TB / 3621 TB avail 114752 active+clean
[caption id="attachment_7712" align="aligncenter" width="225"]
组装和测试集群[/caption]
性能
第一组测试显示了集群的整体读取和写入带宽,如 'rados bench' 所示。目前只有 180 Gbps 的客户端连接,这就是为什么吞吐量扩展开始在 180 个节点左右趋于平稳的原因。
如果我们查看每个 OSD 的归一化写入带宽,我们获得的吞吐量相当不错(虽然不是惊人的)。读取性能非常相似。
读取性能非常相似
扩展客户端工作负载但保持集群中一小部分 20 个 OSD 显示每个驱动器限制在约 90 MB/秒
我们还进行了一些使用擦除编码而不是复制的实验。我们预计容量和密度优化的集群将成为这些驱动器的引人注目的用例。下图显示了使用各种擦除码的集群上的总写入带宽。吞吐量低于纯复制,但已经足以满足许多用例。驱动器在负载下仍有大量的空闲 CPU 时间,因此在改进网络和客户端功能之前,我们无法知道系统中的瓶颈在哪里。
复制写入速度更快
接下来会怎样
Converged Microserver He8 和兼容机箱现在通过 WDLabs 商店 限量发售,可以通过 联系 WDLabs 代表 购买。他们现在正在根据早期客户的采用和反馈,研究下一代解决方案,并与能够帮助演进产品的关键供应商和客户合作。
Ceph 开发社区很高兴看到 Ceph 在不同的硬件平台和架构上运行,并且我们很高兴与 WDLabs 团队合作,展示这种部署模式的可行性。未来有很多机会来优化 Ceph 在低功耗融合平台上的性能和行为,我们期待与硬件社区进一步合作,以证明下一代可扩展存储架构。





