优化zlib压缩,最大化CPU处理OSD进程的能力,发挥硬件最大性能。
zlib压缩过程交由KAE硬件加速引擎处理。
安装加速引擎前需申请安装License。
申请指导:
https://support.huawei.com/enterprise/zh/doc/EDOC1100068122/b9878159
安装指导:
https://support.huawei.com/enterprise/zh/doc/EDOC1100048792/ba20dd15
下载加速引擎安装包与开发者指南。
1 2 | unzip KAE-kae1.zip cd KAE-kae1/kae_driver |
1 2 | tar -czvf libwd-1.0.0.tar.gz warpdrive cp libwd-1.0.0.tar.gz KAEzip-master/open_source |
1 2 | cd KAEzip-master sh setup.sh install |
zlib加速库安装在“/usr/local/kaezip”。
1 2 3 4 | cd /usr/local/kaezip/lib cp libz.so.1.2.11 /lib64/ mv /lib64/libz.so.1 /lib64/libz.so.1-bak ln -s /lib64/libz.so.1.2.11 /lib64/libz.so.1 |
命令cd /usr/local/kaezip/lib中“/usr/local/kaezip/lib”指zlib安装路径,请根据实际情况进行替换。
若替换动态库之前Ceph集群已经在运行,需要在完成动态库替换后重启OSD进程使其生效,在所有存储节点上执行:
1 | systemctl restart ceph-osd.target |
硬件加速器默认队列数为256,为了保证加速器完全发挥性能,可修改队列数为512或1024。
1 | rmmod hisi_zip
|
1 | vim /etc/modprobe.d/hisi_zip.conf
|
1 | options hisi_zip uacce_mode=2 pf_q_num=512 |
1 | modprobe hisi_zip
|
1 | cat /sys/class/uacce/hisi_zip-*/attrs/available_instances
|
显示如下则代表修改成功:
1 | ldd /lib64/libz.so.1
|
当前,Ceph主线版本已支持通过配置文件对zlib压缩模式进行配置,已发布的Ceph release版本(统计至v15.2.3),采用的zlib压缩是不带数据头尾的方式,而当前硬件加速库版本仅支持带数据头尾的方式。因此,需要修改Ceph源码以适配Kunpeng硬件加速库。修改方式参考已合入主线的最新补丁:
https://github.com/ceph/ceph/pull/34852
下文以Ceph 14.2.11为例,介绍Ceph适配zlib压缩引擎的方法。
源码下载链接:https://download.ceph.com/tarballs/
下载完成后将源码包放入服务器“/home”目录下。
https://gitee.com/kunpengcompute/ceph/releases/download/v14.2.11/ceph-14.2.11-glz.patch
1 | cd /home && tar -zxvf ceph-14.2.11.tar.gz && cd ceph-14.2.11/ |
1 2 | cd /home/ceph-14.2.11 patch -p1 < ceph-14.2.11-glz.patch |
编译步骤请参考《Ceph 14.2.8 编译指南(CentOS 7.6&openEuler 20.03&openEuler 22.03)》。
1 | vim /etc/ceph/ceph.conf
|
compressor_zlib_winsize=15
1 | ceph daemon osd.0 config show|grep compressor_zlib_winsize |