几个 Ceph 性能优化的新方法和思路(2015 SH Ceph

一周前,由 Intel RedHat 在10月18联合举办了 Shanghai Ceph Day。在这次会议上,多位专家做了十几场非常精彩的演讲。本文就这些演讲中提到的 Ceph性能优化方面的知识和方法,试着就自己的理解做个总结。

0. 常规的 Ceph 性能优化方法

(1). 硬件层面

硬件规划:CPU、内存、网络

SSD选择:使用 SSD 作为日志存储

BIOS设置:打开超线程(HT)、关闭节能、关闭 NUMA 等

(2). 软件层面

Linux OS:MTU、read_ahead 等

Ceph Configurations 和 PG Number 调整:使用 PG 计算公式(Total PGs = (Total_number_of_OSD * 100) / max_replication_count)计算。

CRUSH Map

更多信息,可以参考下面的文章:

1. 使用分层的缓存层 - Tiered Cache

显然这不是一个 Ceph 的新特性,在会议上有这方面的专家详细地介绍了该特性的原理及用法,以及与纠错码方式结合的细节。

几个 Ceph 性能优化的新方法和思路(2015 SH Ceph

简单概括:

每一个缓存层次(tiered cache)使用一个 RADOS pool,其中 cache pool 必须是拷贝(replicated)类型,而 backing pool 可以是拷贝类型也可以是纠错码类型。

在不同的缓存层次,使用不同的硬件介质,cache pool 使用的介质必须比 backing pool 使用的介质速度快:比如,在 backing pool 使用一般的存储介质,比如常规的HDD或者 SATA SDD;在 cache pool 使用快速介质,比如 PCIe SDD。

每一个 tiered cache 使用自己的 CRUSH rules,使得数据会被写入到指定的不同存储介质。

librados 内在支持 tiered cache,大多数情况下它会知道客户端数据需要被放到哪一层,因此不需要在 RDB,CephFS,RGW 客户端上做改动。

OSD 独立地处理数据在两个层次之间的流动:promotion(HDD->SDD)和 eviction(SDD -> HDD),但是,这种数据流动是代价昂贵(expensive)和耗时的(take long time to “warm up”)。

2. 使用更好的 SSD - Intel NVM Express (NVMe) SSD

在 Ceph 集群中,往往使用 SSD 来作为 Journal(日志)和 Caching(缓存)介质,来提高集群的性能。下图中,使用 SSD 作为 Journal 的集群比全 HDD 集群的 64K 顺序写速度提高了 1.5 倍,而 4K 随机写速度提高了 32 倍。

几个 Ceph 性能优化的新方法和思路(2015 SH Ceph

而Journal 和 OSD 使用的 SSD 分开与两者使用同一块SSD,还可以提高性能。下图中,两者放在同一个 SATA SSD 上,性能比分开两块 SSD (Journal 使用 PCIe SSD,OSD 使用 SATA SSD),64K 顺序写速度下降了 40%,而 4K 随机写速度下降了 13%。

几个 Ceph 性能优化的新方法和思路(2015 SH Ceph

因此,更先进的 SSD 自然能更加提高Ceph 集群的性能。SSD 发展到现在,其介质(颗粒)基本经过了三代,自然是一代比一代先进,具体表现在密度更高(容量更大)和读写数据更快。目前,最先进的就是 Intel NVMe SSD,它的特点如下:

为 PCI-e 驱动器定制的标准化的软件接口

为 SSD 定制(别的是为 PCIe 所做的)

SSD Journal : HDD OSD 比例可以从常规的 1:5 提高到 1:20

对全 SSD 集群来说,全 NVMe SSD 磁盘Ceph 集群自然性能最好,但是它造价太高,而且性能往往会受限于网卡/网络带宽;所以在全SSD环境中,建议的配置是使用 NVMe SSD 做 Journal 而使用常规 SSD 做 OSD 磁盘。

同时,Intel SSD 还可以结合 Intel Cache Acceleration Software 软件使用,它可以智能地根据数据的特性,将数据放到SSD或者HDD:

几个 Ceph 性能优化的新方法和思路(2015 SH Ceph

测试:

测试配置:使用 Intel NVMe SSD 做 Cache,使用 Intel CAS Linux 3.0 with hinting feature (今年年底将发布)

测试结果:5% 的 cache,使得吞吐量(ThroughOutput)提交了一倍,延迟(Latency)降低了一半

3. 使用更好的网络设备 - Mellanox 网卡和交换机等 3.1 更高带宽更低延迟的网卡设备

Mellanox 是一家总部在以色列的公司,全球约 1900 名员工,专注高端网络设备,2014 年revenue 为 ¥463.6M 。(今天正好在水木BBS上看到该公司在中国的分公司待遇也是非常好)。其主要观点和产品:

Ceph 的 Scale Out 特性要求用于 replicaiton、sharing 和 metadata (文件)的网络吞吐量更高、延迟更低

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/49b3a4b1b34aa8294b74b3d1fe11136a.html