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 秒的资料采集时限。
4K随机写特性使用者空间消耗的CPU利用率为37%,占CPU总利用率的75%。分析结果显示Ceph OSD过程消耗了大部分CPU周期; CPU还有空间的可疑原因是软件执行绪和锁定模型实现限制了Ceph在单个节点上的扩充套件能力,这仍然是下一步优化工作。
4K随机写入的系统指标
4K随机读取特性CPU利用率约为60%,其中IOWAIT约占15%,因此实际CPU消耗也约为45%; 类似于随机写例。OSD磁盘的读取IOPS非常稳定在80K,40 GBbE NIC带宽约为2.1 GB/s。没有观察到明显的硬件瓶颈; 疑似软件瓶颈类似于4K随机写入案例,需要进一步调查。
4K随机读取的系统指标
64K顺序写入特性顺序写入的CPU利用率和内存消耗非常低。由于OSD复制数为2,因此NIC资料的传输带宽是接收带宽的两倍,传输带宽包括两个NIC的带宽,一个用于公共网络,一个用于群集网络,每个NIC大约1.8 GB /每个埠。OSD磁盘AWAIT时间受到严重波动,最高磁盘延迟超过4秒,而磁盘IOPS非常稳定。
64K顺序写入的系统指标
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也将越来越多用于主储存场景,而不仅仅是目前聚焦的第二储存场景。