原料
1.装有exar加速卡的机器
lspci | grep Hifn
1.1).DX_SDK_v2.3.0L_EXAR_20190329.tar.gz
Md5:daae58c627c09878d6f86709e753d81d
1.2).DX_SDK_v2.3.0L_PUBLIC_20190329.tar.gz
Md5:2a6100d0427cf5a7a1be9806e36ef792
1.3).openssl_engine_3.2.0_20191019.tar.gz
Md5:6e63c9c120fd41c4506d6d86a668af11
openssl环境以openssl-1.1.1b为例
1.4).openssl-1.1.1b
Md5:4532712e7bcc9414f5bce995e4e13930
安装步骤
- 创建SDK工作目录(文档中路径为/home/exar_env/)
- 拷贝DX_SDK_v2.3.0L_PUBLIC_20190329.tar.gz文件到/home/exar_env
- 解压文件DX_SDK_v2.3.0L_PUBLIC_20190329.tar.gz
- 拷贝DX_SDK_v2.3.0L_EXAR_20190329.tar.gz文件到/home/exar_env
- 解压文件DX_SDK_v2.3.0L_EXAR_20190329.tar.gz
- 解压后/home/exar_env下子目录及文件列表如下:
drwxr-xr-x. 4 root root 26 Feb 24 2019 api
drwxr-xr-x. 5 root root 46 Feb 24 2019 app
-rw-r--r--. 1 root root 7436 Feb 24 2019 demo.cfg.xml
drwxr-xr-x. 3 root root 166 Feb 24 2019 diag
-rw-r--r--. 1 root root 9084 Feb 24 2019 driver.cfg.xml
drwxr-xr-x. 2 root root 4096 Feb 24 2019 dsd820x
drwxr-xr-x. 2 root root 4096 Feb 24 2019 dsd92xx
drwxr-xr-x. 4 root root 4096 Feb 24 2019 esf
drwxr-xr-x. 2 root root 4096 Feb 24 2019 h
-rw-r--r--. 1 root root 3069 Feb 24 2019 Load
-rw-r--r--. 1 root root 20690 Feb 24 2019 Makefile
-rw-r--r--. 1 root root 2894 Feb 24 2019 README.exar
-rw-r--r--. 1 root root 10800 Feb 24 2019 README.public
drwxr-xr-x. 5 root root 40 Feb 24 2019 sai
-rw-r--r--. 1 root root 2911 Feb 24 2019 sdemo.decode.cfg.xml
-rw-r--r--. 1 root root 3474 Feb 24 2019 sdemo.drbg.xml
-rw-r--r--. 1 root root 3167 Feb 24 2019 sdemo.encode.cfg.xml
-rw-r--r--. 1 root root 905 Feb 24 2019 sdemo.ivaad.xml
-rw-r--r--. 1 root root 3579 Feb 24 2019 sdemo.key.xml
drwxr-xr-x. 7 root root 4096 Feb 24 2019 swlib
-rw-r--r--. 1 root root 470 Feb 24 2019 UnLoad
drwxr-xr-x. 2 root root 62 Feb 24 2019 userspace
修改driver.cfg.xml配置
- pk_enable根据cpu核数以及exar加速卡队列数(现阶段线上版本有17个队列,0,16队列有固定使用场景,1-15可以分配使用,我们设置12是因为有两块卡,cpu有24核,这样绑中断刚好可以绑的均匀)
- 执行make;make install命令
- 在/home/exar_env下生成dre_drv.ko, 安装该模块insmod /home/exar_env/dre_drv.ko
- 安装之后执行Load irq_balance绑定中断(Load做过修改,附件中md5:5984602ff8599232490bcf425a4bb507 版本适用于两块卡,pk_enable:12 , cpu 24核的中断绑定,其他情况酌情修改)
- 创建/home/openssl_engine,拷贝openssl_engine_3.2.0_20191019.tar.gz至该目录
- 解压openssl_engine_3.2.0_20191019.tar.gz后/home/openssl_engine目录下文件列表:
- 1 root root 3.4K Nov 17 2011 ech_locl.hrw-rr- 1 root root 3.8K Nov 17 2011 ecs_locl.hrw-rr- 1 root root 80K May 15 2014 eng_dx.crw-rr- 1 root root 4.0K Mar 25 2014 Makefilerw-rr- 1 root root 13K Mar 20 2014 pk_drv.crw-rr
- 修改Makefile相关字段:
OPENSSL_INSTALL_PATH := /path/to/openssl-1.1.1b/.openssl #openssl 安装路径
- 执行make;make install命令
- 在/home/openssl_engine下生成pk_drv.ko并安装该模块insmod /home/openssl_engine/pk_drv.ko
测试安装情况
测试命令:
openssl speed rsa2048 -engine eng_dx -elapsed -multi 24
单张exar加速卡可以到4w/s即可认为安装成功。
注意
1.用户如果需要使用该engine,需要设置OPENSSL_ENGINES环境变量:
例如,root用户的程序需要使用该engine,那么我们可以将OPENSSL_ENGINES变量写在/root/.bashrc中:
2.机器有重启的可能,如果机器重启,可以在rc.local中添加自动加载模块以及设置的命令,达到自动加载的目的: