使用 Rhel 7.5、Ceph Luminous 和美光 9200 Max NVMe SSD 提升 Ceph 块的性能
大家好!
通常,操作系统或存储解决方案中的点版本并不是什么大事,但这次不同。我测试了 Red Hat Enterprise Linux 7.5 和 Ceph Luminous 12.2.5(这两个点版本都在我之前关于 Bluestore 与 Filestore 性能比较的博客中提到过),并发现块性能有了显著改进。
4 KB 随机写入 IOPS 性能提升 12%,平均延迟降低 10%,并且 99.99% 尾部延迟降低 24%。
4 KB 随机读取 IOPS 和平均延迟相似,99.99% 尾部延迟降低 20%-43%。
4 KB 随机块工作负载 | 读取 IOPS | 写入 IOPS | 读取平均 延迟 | 写入平均 延迟 | 读取 99.99% 延迟 | 写入 99.99% 延迟 |
RHEL 7.4 + Ceph 12.2.4 | 210 万 | 45.3 万 | 1.6 毫秒 | 7.1 毫秒 | 251 毫秒 | 89 毫秒 |
RHEL 7.4 + Ceph 12.2.5 | 220 万 | 49.5 万 | 1.4 毫秒 | 6.5 毫秒 | 194 毫秒 | 67 毫秒 |
该解决方案针对块性能进行了优化。使用 Linux 中的 Rados 块驱动进行随机小块测试,能在 2 插槽存储节点中使铂金级 8168 英特尔 Purley 处理器饱和。
此架构有 4 个存储节点,每个存储节点有 10 个驱动器,整体具有 232 TB 的可用存储容量,可通过添加额外的 1U 存储节点进行扩展。
参考设计——硬件
测试结果和分析
Ceph 测试方法
Ceph Luminous(12.2.4 和 12.2.5)配置有 Bluestore,每个美光 9200 MAX NVMe SSD 具有 2 个 OSD。RocksDB 和 WAL 数据与实际数据存储在同一分区中。
每个存储节点有 10 个驱动器,每个驱动器有 2 个 OSD,总计有 80 个 OSD,可用容量为 232 TB。
接受测试的 Ceph 存储池使用 8192 个放置组和 2 个副本进行创建。在性能测试中,使用 100 个 RBD 映像(每个 75 GB),即 2 个副本池各存储 7.5 TB 的数据,总计 15 TB 数据。
使用 FIO 对照 Rados 块驱动测量了 4 KB 随机块性能。我们使用 10 台负载生成服务器(双 CPU Xeon,带 50 GbE 网络),每个负载生成服务器运行多个 FIO 进程。每个 FIO 进程访问一个独特的 RBD 映像,并且 FIO 进程均匀分布在 10 个负载生成服务器中。例如,在 100 个 FIO 客户端的测试中,每台负载生成服务器运行 10个 FIO 进程。
在所有测试中,CPU 均受限,即使每个存储节点有 2 个英特尔 8168 CPU 也是如此。所有测试都运行了 3 次,每次测试持续 10 分钟,并且每次测试前有 5 分钟的预热时间。
RBD FIO 4 KB 随机写入性能:RHEL 7.4 + Ceph 12.2.4 对比 RHEL 7.5 + Ceph 12.2.5
RHEL 7.5 + Ceph Luminous 12.2.5 使 IOPS 增加 12%,平均延迟降低 10%。
使用 RHEL 7.5 和 Ceph Luminous 12.2.5 可改善尾部延迟,在 100 个 FIO 客户端条件下可降低 25%。
RBD FIO 4 KB 随机读取性能:RHEL 7.4 + Ceph 12.2.4 对比 RHEL 7.5 + Ceph 12.2.5
RHEL 7.4 + Ceph Luminous 12.2.4 和 RHEL 7.5 + Ceph Luminous 12.2.5 之间的 4 KB 随机读取性能相似。IOPS 略有增加,最大 IOP 为 223 万。
使用 RHEL 7.5 和 Ceph Luminous 12.2.5 可改善尾部延迟,在队列深度 16 和队列深度 32 条件下分别降低了 43% 和 23%。
想要了解更多信息?
基于英特尔 Purley 平台的 Ceph + 美光 9200 MAX NVMe SSD 的架构展现出优异的速度。美光加速 Ceph 存储解决方案的新参考架构现已推出。在 2018 年 OpenStack 峰会上,我在演讲期间详细介绍该了参考架构以及其他 Ceph 调优和性能主题。录制版演讲视频可在此处获取。
对我们的测试或方法有其他疑问? 请发送电子邮件至 ssd@micron.com 联系我们。