优化RGW在写对象时的MD5计算过程,最大化CPU处理RGW进程的能力,发挥硬件最大性能。
MD5计算过程交由KAE硬件加速引擎处理。
安装加速引擎前需申请安装license。
申请指导:
https://support.huawei.com/enterprise/zh/doc/EDOC1100068122/b9878159
安装指导:
https://support.huawei.com/enterprise/zh/doc/EDOC1100048792/ba20dd15
下载加速引擎安装包与开发者指南。
下载链接:https://gitee.com/mirrors_kunpengcompute/KAE/tree/v1.3.6-bata
请按照开发者指南安装加速引擎。
硬件加速器默认队列数为256,当业务运行中加速器剩余队列为0或较低时(采用“步骤4”观测),为了保证加速器完全发挥性能,可修改队列数为512或1024。
当前,Ceph主线版本已支持通过配置文件对OpenSSL外部引擎进行配置。但对于目前已发布的Ceph ralease版本(统计至v15.2.3),均暂无此特性,故若想在这些版本使用MD5硬件加速,需要对Ceph源码进行修改。修改方式参考已合入主线的最新补丁:
https://github.com/ceph/ceph/pull/33964/
下文以Ceph 14.2.8为例,介绍Ceph适配MD5硬件加速的方法。
源码下载链接:https://download.ceph.com/tarballs/
下载完成后将源码包放入服务器“/home”目录下。
https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/storage/Patch/
1
|
cd /home && tar -zxvf ceph-14.2.8.tar.gz && cd ceph-14.2.8/ |
1
|
patch -p1 < ../ceph-14.2.8-common-rgw-add-openssl-engine-support.patch |
编译步骤请参考《Ceph 14.2.8 编译指南(CentOS 7.6&openEuler 20.03&openEuler 22.03)》。
1
|
vi /usr/lib/systemd/system/ceph-radosgw@.service
|
并修改“PrivateDevices=yes”为“PrivateDevices=no”
1
|
systemctl daemon-reload
|
1
|
openssl_engine_opts = "engine_id=kae,dynamic_path=/usr/local/lib/engines-1.1/libkae.so,KAE_CMD_ENABLE_ASYNC=0,default_algorithms=DIGESTS,init=1" |
其中"dynamic_path"为libkae引擎软件包中libkae.so的默认安装路径;"default_algorithms=DIGESTS"指对包括MD5在内的摘要算法使用此引擎。配置完成后,需要同步到所有RGW部署节点。
1
|
systemctl restart ceph-radosgw.target |