1.装有exar加速卡的机器
a).DX_SDK_v2.2.1L_PUBLIC_20150116.tar.gz
Md5:2042102d996454d245870d15059b4828
b).DX_SDK_v2.2.1L_EXAR_20150116.tar.gz
Md5:aa6d6aa4e77e234cb378e0742e73ecfd
c).openssl_engine-2.0.0-20140516.tar.gz
Md5:fca2b61c209be78dbd1b21ae7de3434a
openssl环境(文档中以openssl-1.0.2j为例)
安装步骤
- 创建SDK工作目录(文档中路径为/home/exar_env/)
- 拷贝DX_SDK_v2.2.1L_PUBLIC_20150116.tar.gz文件到/home/exar_env
- 解压文件DX_SDK_v2.2.1L_PUBLIC_20150116.tar.gz
- 拷贝DX_SDK_v2.2.1L_EXAR_20150116.tar.gz文件到/home/exar_env
- 解压文件DX_SDK_v2.2.1L_EXAR_20150116.tar.gz
- 解压后/home/exar_env下子目录及文件列表如下:
drwxr-xr-x 4 root root 4096 Jan 16 2015 api
drwxr-xr-x 5 root root 4096 Jan 16 2015 app
rw-rr- 1 root root 7238 Jan 16 2015 demo.cfg.xml
drwxr-xr-x 3 root root 4096 Jan 16 2015 diag
rw-rr- 1 root root 8257 Jan 16 2015 driver.cfg.xml
drwxr-xr-x 2 root root 4096 Jan 16 2015 dsd820x
drwxr-xr-x 2 root root 4096 Jan 16 2015 dsd92xx
drwxr-xr-x 4 root root 4096 Jan 16 2015 esf
rw-rr- 1 root root 3318 Jan 16 2015 generate_report
drwxr-xr-x 2 root root 4096 Jan 16 2015 h
rw-rr- 1 root root 2406 Jan 16 2015 Load
rw-rr- 1 root root 26956 Jan 16 2015 Makefile
rw-rr- 1 root root 2894 Jan 16 2015 README.exar
rw-rr- 1 root root 16426 Jan 16 2015 README.public
drwxr-xr-x 5 root root 4096 Jan 16 2015 sai
rw-rr- 1 root root 3222 Jan 16 2015 sdemo.decode.cfg.xml
rw-rr- 1 root root 3473 Jan 16 2015 sdemo.drbg.xml
rw-rr- 1 root root 3225 Jan 16 2015 sdemo.encode.cfg.xml
rw-rr- 1 root root 905 Jan 16 2015 sdemo.ivaad.xml
rw-rr- 1 root root 4830 Jan 16 2015 sdemo.key.xml
drwxr-xr-x 8 root root 4096 Jan 16 2015 swlib
rw-rr- 1 root root 470 Jan 16 2015 UnLoad
drwxr-xr-x 2 root root 4096 Jan 16 2015 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-2.0.0-20140516.tar.gz至该目录
- 解压openssl_engine-2.0.0-20140516.tar.gz后/home/openssl_engine目录下文件列表:
rw-rr- 1 root root 3.4K Nov 17 2011 ech_locl.h
rw-rr- 1 root root 3.8K Nov 17 2011 ecs_locl.h
rw-rr- 1 root root 80K May 15 2014 eng_dx.c
rw-rr- 1 root root 4.0K Mar 25 2014 Makefile
rw-rr- 1 root root 13K Mar 20 2014 pk_drv.c
- 修改Makefile相关字段:
EXAR_DX_SDK_PATH := /home/exar_env
OPENSSL_INCLUDE_PATH := /usr/local/openssl-1.0.2j/include
OPENSSL_LIB_PATH := /usr/local/openssl-1.0.2j/lib
OPENSSL_DYN_ENGINE_PATH := /usr/local/openssl-1.0.2j/lib/engines
- 执行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中添加自动加载模块以及设置的命令,达到自动加载的目的:
例如:
exar加速卡安装如上
openssl测试情况
单卡4w,双卡8w
keyserver 测试情况
双卡性能接近8w,符合预期