Ceph是最常见的块和对象存储后端解决方案,现在新版本也加入了文件的支持。作为一款开源的分布式存储软件解决方案,由于其功能丰富,社区活跃,它在公有云和私有云环境中有着广泛的应用。
然而,由于Ceph的大规模分布式架构原因,其IO路径过长,使得其性能一直被业界所诟病。现实中,Ceph更多用在备份和归档等性能要求不高的场景。在这种场景下,一般存储介质采用HDD,很少采用全闪存的配置。
伴随着固态盘(SSD)价格的不断走低,云提供商纷纷开始着手为客户打造具备卓越性能和高可靠性的全闪存存储。为此,他们迫切希望获得基于 Ceph 的全闪存参考架构,并了解具体的性能表现和最佳优化实践。
英特尔® 傲腾™ 技术前所未有地集高吞吐量、低延迟、高服务质量和高耐用性优势于一身,它由 3D XPoint™ 内存介质和英特尔® 软件等组合而成。这些构建模块相互配合,配合至强可扩展处理器,在降低延迟和加速系统性能方面实现了具体提升,能够全面满足工作负载对于大容量和快速存储的需求。
本篇文章将围绕 Ceph 全闪存存储系统参考架构和基于英特尔® 至强® 可扩展处理器的软件优化等方面,介绍Intel所取得的进展。在本文中,将重点为您介绍Ceph 参考架构和性能结果,该架构的配置包括 RADOS 块设备(RBD)接口、英特尔® 傲腾™ 技术和英特尔® 至强® 可扩展处理器产品家族(英特尔® 至强® 铂金 8180 处理器和英特尔® 至强® 金牌 6140 处理器)。
我们先介绍采用英特尔® 傲腾™ 技术和英特尔® 至强® 可扩展处理器的 Ceph 全闪存阵列(AFA)参考架构,然后介绍典型工作负载的性能结果和系统特性。
Intel建议Ceph AFA采用英特尔® 至强® 铂金 8180 处理器,它是英特尔® 至强® 可扩展处理器产品家族中先进的处理器。建议使用英特尔® 傲腾™ 固态盘(SSD)作为BlueStore WAL(Write-Ahead Logging) 设备,使用基于 NAND 固态盘作为数据硬盘,并使用 Mellanox 40 GbE 网络接口卡(NIC)作为高速以太网数据端口,具备最高性能(吞吐量和延迟)。它是 I/O 密集型工作负载的最佳选择。
测试系统由五个Ceph存储服务器和五个客户端节点组成。每个存储节点配置Intel Xeon Platinum 8180处理器和384 GB内存,使用1x Intel Optane SSD DC P4800X 375GB作为BlueStore WAL设备,4x Intel® SSD DC P3520 2TB作为数据驱动器,以及2x Mellanox 40 GbE NIC作为Ceph的独立集群和公共网络。
同时,每个节点均使用 Ceph 12.2.2,并且每个英特尔® 固态盘 DC P3520 系列运行一个对象存储守护程序(OSD)。用于测试的 RBD 池配置有 2 个副本。
对于客户端,每个节点配置了英特尔® 至强® 铂金 8180 处理器、384 GB 内存和 1 个 Mellanox 40GbE NIC。
Intel设计了四种不同的工作负载来模拟云中典型的全闪存 Ceph 集群(基于带 librbd 的 fio),其中包括 4K 随机读写和 64K 顺序读写,以分别模拟随机工作负载和顺序工作负载。对于每个测试用例,IO 性能(IOPS 或带宽)使用卷扩展数量(最大扩展到 100)来衡量,每个卷配置为 30 GB。这些卷已预先分配,以消除 Ceph 精简配置机制的影响,获得稳定且可复制的结果。每次测试之前停止 OSD 页高速缓存,以消除页高速缓存的影响。在每个测试用例中,fio 配置了 300 秒的准备时限和 300 秒的数据采集时限。
用户空间消耗的CPU利用率为37%,占CPU总利用率的75%。分析结果显示Ceph OSD过程消耗了大部分CPU周期; CPU还有空间的可疑原因是软件线程和锁定模型实现限制了Ceph在单个节点上的扩展能力,这仍然是下一步优化工作。
4K随机写入的系统指标
CPU利用率约为60%,其中IOWAIT约占15%,因此实际CPU消耗也约为45%; 类似于随机写例。OSD磁盘的读取IOPS非常稳定在80K,40 GBbE NIC带宽约为2.1 GB/s。没有观察到明显的硬件瓶颈; 疑似软件瓶颈类似于4K随机写入案例,需要进一步调查。
4K随机读取的系统指标
顺序写入的CPU利用率和内存消耗非常低。由于OSD复制数为2,因此NIC数据的传输带宽是接收带宽的两倍,传输带宽包括两个NIC的带宽,一个用于公共网络,一个用于群集网络,每个NIC大约1.8 GB /每个端口。OSD磁盘AWAIT时间受到严重波动,最高磁盘延迟超过4秒,而磁盘IOPS非常稳定。
64K顺序写入的系统指标
对于顺序读取案例,我们观察到一个NIC的带宽达到4.4 GB/s,约占总带宽的88%。顺序写入的CPU利用率和内存消耗非常低。OSD磁盘读取IOPS和延迟稳定。
64K顺序读取的系统指标
总体来看,基于英特尔Optane技术的Ceph AFA集群展示了出色的吞吐量和延迟。64K顺序读写吞吐量分别为21,949 MB/s和8,714 MB/s(最大为40 GbE NIC)。4K随机读取吞吐量为2,453K IOPS,平均延迟为5.36 ms,而4K随机写入吞吐量为500K IOPS,平均延迟为12.79 ms。
其实自从Ceph Giant发布以来,英特尔一直与社区,生态系统和合作伙伴密切合作,一直优化Ceph的性能。下图显示了Ceph主要版本和不同Intel平台上4K随机写入工作负载的性能优化历史记录。凭借新的Ceph主要版本,后端存储,结合核心平台变化和SSD升级,单个节点的4K随机写入性能提高了27倍(每个节点每秒输入/输出操作3,673次(IOPS)至每个节点100,052 IOPS)!这使得使用Ceph构建高性能存储解决方案成为可能。
在本文中,我们在英特尔至强可扩展处理器上看到了采用Ceph AFA参考架构的英特尔Optane技术的性能结果。此配置展示了出色的吞吐量和延迟。除了延迟比传统的高端存储有些差距外,带宽和IOPS都达到了高端存储的水平。
对于读取密集型工作负载,尤其是小块读,对CPU性能要求比较高,建议使用英特尔至强可扩展处理器系列的顶级处理器,例如英特尔至强铂金8000系列处理器。与采用英特尔至强可扩展处理器上的Ceph AFA集群的默认配置的英特尔Optane技术相比,软件调优和优化还为读取和写入提供了高达19%的性能提升。由于使用当前的硬件配置可以观察到硬件性能还有净空,因此性能有望在不久的将来通过持续的Ceph优化(如RDMA messenger,NVMe-focus对象存储,async-osd等)不断改进。
相信有了Intel至强可扩展处理器和傲腾技术的支持,加上Ceph不断优化,未来Ceph的性能将会更好,Ceph也将越来越多用于主存储场景,而不仅仅是目前聚焦的第二存储场景。