KAE MD5摘要算法调优

环境准备

下载加速引擎安装包与开发者指南。

下载链接:https://gitee.com/mirrors_kunpengcompute/KAE/tree/v1.3.6-bata

加速引擎安装

  • 开发者指南为加速引擎所有模块的安装指导流程与使用说明,依据开发者指南选择合适的安装方式进行安装。
  • 针对操作系统为CentOS 7.6,OpenSSL为原生1.0.2k的场景,需下载相应版本的libkae引擎软件包,安装方式同开发者指南。

请按照开发者指南安装加速引擎。

修改加速器默认队列数

硬件加速器默认队列数为256,当业务运行中加速器剩余队列为0或较低时(采用“步骤4”观测),为了保证加速器完全发挥性能,可修改队列数为512或1024。

  1. 卸载hisi_sec2。

    1
    rmmod hisi_sec2
    

  2. 修改默认加速器队列参数“pf_q_num=512”。

    1
    vi /etc/modprobe.d/hisi_sec2.conf
    
    1
    options hisi_sec2 uacce_mode=2 enable_sm4_ctr=1 pf_q_num=512
    

  3. 加载hisi_sec2。

    1
    modprobe hisi_sec2
    

  4. 检查硬件加速器队列。

    1
    cat /sys/class/uacce/hisi_sec2-*/attrs/available_instances
    

    显示如下则代表修改成功:

Ceph适配加速器

当前,Ceph主线版本已支持通过配置文件对OpenSSL外部引擎进行配置。但对于目前已发布的Ceph ralease版本(统计至v15.2.3),均暂无此特性,故若想在这些版本使用MD5硬件加速,需要对Ceph源码进行修改。修改方式参考已合入主线的最新补丁:

https://github.com/ceph/ceph/pull/33964/

下文以Ceph 14.2.8为例,介绍Ceph适配MD5硬件加速的方法。

  1. 获取源码。

    源码下载链接:https://download.ceph.com/tarballs/

    下载完成后将源码包放入服务器“/home”目录下。

  2. 获取适配补丁。针对Ceph 14.2.8的OpenSSL外部引擎使能补丁可从如下地址获取,下载完成后将补丁放入“/home”目录下。

    https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/storage/Patch/

  3. 进入“/home”目录,解压源码包并进入解压后的目录。

    1
    cd /home && tar -zxvf ceph-14.2.8.tar.gz && cd ceph-14.2.8/
    

  4. 在源码的根目录,应用补丁。

    1
    patch -p1 < ../ceph-14.2.8-common-rgw-add-openssl-engine-support.patch
    

  5. 修改完源码后需要编译Ceph。

    编译步骤请参考《Ceph 14.2.8 编译指南(CentOS 7.6&openEuler 20.03&openEuler 22.03)》。

  6. 完成Ceph的软件安装。
  7. 修改systemd权限。Ceph中,RGW进程服务由systemd管理,为使其具有硬件加速设备的访问权限, 需在每台RGW部署节点修改配置如下:

    1. 打开配置文件。
      1
      vi /usr/lib/systemd/system/ceph-radosgw@.service
      

      并修改“PrivateDevices=yes”为“PrivateDevices=no”

    2. 使修改生效。
      1
      systemctl daemon-reload
      

  8. 使用KAE加速RGW摘要计算。在RGW部署节点的ceph.conf配置文件的“global”域增加OpenSSL引擎选项如下:

    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部署节点。

  9. 重启RGW,使配置生效。在所有RGW部署节点执行:

    1
    systemctl restart ceph-radosgw.target