Ceph代码优化
代码优化包括EC Turbo以及Ceph中的一些通用基础优化,如Crush算法指令加速,RocksDB CRC算法优化等。
通过叠加EC Turbo以及这些基础优化代码后,读写性能有较为明显的提升。这两部分优化已合并在同一个补丁当中。以下是具体的编译部署指导。
- 请参见《EC Turbo 特性指南》的“EC Turbo安装包获取”章节,完成安装包获取的操作。
- 获取Ceph源码。
- 合入Ceph EC代码优化补丁。
- 获取patch放置到“/home/ceph-14.2.10”。
- 备份原有的ceph.spec文件。
1 2
cd /home/ceph-14.2.10 mv ceph.spec ceph.spec.bak
- 合入1下载的patch,合入此patch后会生成新的ceph.spec文件。
1
patch -p1 < ceph-ecturbo-optimization.patch
- 请参见《EC Turbo特性指南》中的制作liboath-devel包章节制作liboath-devel包。
- 请参见《EC Turbo特性指南》中的编译环境准备章节完成Ceph的编译环境准备。
此次叠加的优化需要依赖大页特性,install-deps.sh脚本中没有对该依赖进行下载,需要单独手动安装,在执行install-deps.sh脚本后执行如下命令进行安装。
1
yum install libhugetlbfs
- 请参见编译Ceph并验证完成Ceph的编译与验证。
- 请参见生成Ceph RPM包完成Ceph RPM包的制作。
- 请参见部署Ceph集群完成Ceph集群的部署。
本次环境采用的数据盘全部为NVMe,因此在部署OSD节点时不需要对OSD进行分区划分,直接使用NVME盘做OSD的数据盘即可。为充分发挥硬件性能,每台服务器上最佳部署的OSD节点数量为24个,建议对每块NVME盘划分为三个分区,然后进行OSD的部署。
父主题: 调优指南