安装设备

bj-ontest5 intel

bj-ontest6 exar

基本步骤

插卡。

装环境openssl、驱动、engine。

安装qat_server代码写配置。

安装qat_client代码写配置。

测试qat_client打量,观察看是否有bug。

出测试报告。

QAT安装测试

参考”Intel QAT 卡评估手册”

https://github.com/intel/QAT_Engine

https://github.com/intel/asynch_mode_nginx

硬件要求

Intel® Xeon® with Intel® C62X Series Chipset

Intel® Atom™ Processor C3000

Intel® Communications Chipset 8925 to 8955 Series

Intel® Communications Chipset 8900 to 8920 Series

Intel® Atom™ Processor C2000

Operating system: CentOS* 7.4 64-bit version

Kernel: GNU*/Linux* 3.10.0-693

Intel® Communications Chipset C62X Series Software for Linux*, version 4.4

OpenSSL* 1.1.0h

插卡(INTEL(R) QUICK ASSIST ADAPTER 8970)

[root@bj-ontest5 ~]# lspci|grep Co-processor

85:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

86:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

87:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

8a:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

8b:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

8c:00.0 Co-processor: Intel Corporation Device 37c8 (rev 04)

装环境

环境变量(跟后续安装路径有关)

vim /etc/profile

export ICP_ROOT=/Application/qat/qat1.7.l.4.2.0-00012
export ICP_BUILD_OUTPUT=$ICP_ROOT/build
export OPENSSL_ROOT=/Application/qat/openssl-1.1.0h
export OPENSSL_LIB=$OPENSSL_ROOT/.openssl
export LD_LIBRARY_PATH=$OPENSSL_ROOT/.openssl/lib/engines1.1:$OPENSSL_ROOT/.openssl/lib
export OPENSSL_ENGINES=$OPENSSL_LIB/lib/engines-1.1
export NGINX_INSTALL_DIR=/Application/qat/qat_server

装openssl库

目前只支持openssl 1.1.0h,openssl1.1.1系列的版本不支持

下载openssl1.1.0h 到 /Application/qat/openssl1.1.0h

mkdir .openssl

./config --prefix=/Application/qat/openssl-1.1.0h/.openssl

make

make install

vim /Application/qat/openssl-1.1.0h/.openssl/ssl/openssl.cnf

openssl_conf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
qat = qat_section
[qat_section]
engine_id = qat
dynamic_path = /Application/qat/openssl-1.1.0h/.openssl/lib/engines-1.1/qat.so
default_algorithms = ALL

装驱动

mkdir -p /Application/qat/qat1.7.l.4.2.0-00012

安装qat1.7.l.4.2.0-00012.tar.gz从https://01.org/zh/intel-quickassist-technology?langredirect=1下载Intel® QuickAssist Technology Driver for Linux* - HW version 1.7下载文件包

tar -xvf qat1.7.l.4.2.0-00012.tar.gz

./installer.sh (choose 1、2)

装QAT engine

GitHub - intel/QAT_Engine下载放入/Application/qat/QAT_Engine

./autogen.sh

./configure --with-qat_dir=$ICP_ROOT --with-openssl_dir=$OPENSSL_ROOT --with-openssl_install_dir=$OPENSSL_LIB --enable-upstream_driver --enable-usdm --disable-qat_lenstra_protection --enable-qat_for_openssl_110

make

make install

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev0.conf /etc/c6xx_dev0.conf

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev1.conf /etc/c6xx_dev1.conf

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev2.conf /etc/c6xx_dev2.conf

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev0.conf /etc/c6xx_dev3.conf

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev0.conf /etc/c6xx_dev4.conf

cp /Application/qat/QAT_Engine/qat/config/c6xx/multi_thread_optimized/c6xx_dev0.conf /etc/c6xx_dev5.conf

将 /etc/c6xx_dev0.conf、 /etc/c6xx_dev1.conf、 /etc/c6xx_dev2.conf、 /etc/c6xx_dev3.conf、 /etc/c6xx_dev4.conf、 /etc/c6xx_dev5.conf

[SHIM]

NumberCyInstances = 1

NumberDcInstances = 0

NumProcesses = 16(nginx进程个数的2倍)
LimitDevAccess = 0

service qat_service restart

装qat_server

将源码qat_server.tar.gz放入/Applition/

./configure \
--prefix=/Application/qat/qat_server/qat_server \
--sbin-path=/Application/qat/qat_server/qat_server/bin/qat_server \
--conf-path=/Application/qat/qat_server/qat_server/conf/qat_server.conf \
--error-log-path=/Application/qat/qat_server/qat_server/logs/error.conf \
--with-http_ssl_module \
--with-stream \
--with-stream_ssl_module \
--with-openssl-async \
--with-zlib=libs/zlib-1.2.8 \
--with-cc-opt="-DNGX_SECURE_MEM -I$OPENSSL_LIB/include -Wno-error=deprecated-declarations" \
--with-ld-opt="-Wl,-rpath=$OPENSSL_LIB/lib -L$OPENSSL_LIB/lib"

make 

make install

配置

将配置qat_server_conf.tar.gz 放入/Application/qat/qat_server/qat_server/

tar -zvcf qat_server_conf.tar.gz 

mv qat_server_conf conf

/Application/qat/qat_server/qat_server/bin/qat_server -c /Application/qat/qat_server/qat_server/conf/qat_server.conf

代表已启动

测试qat加速卡

先bj-ontest6(Client)->bj-ontest5(Server)。

后bj-ontest5(Client)->bj-ontest6(Server)。

使用 openssl speed相关命令测试,分别测试软件,同步,异步做对比测试根据openssl给出的测试结果为准。

测试nginx 打量

先bj-ontest6(Client)->bj-ontest5(Server)。

后bj-ontest5(Client)->bj-ontest6(Server)。        

阶段:ab/sumoku 客户端指定并发请求数等,指定加解密算法,客户端指定不了,可用服务端配合。

效果观察:nginx日志和和设备的相关情况做生成分析报告,重点看cpu和内存情况。

nginx日志和exar自带的统计分析报表 /proc/exar/dx_pk_statistics;设备的相关情况做生成分析报告,重点看cpu和内存情况。

EXAR安装测试步骤

参考资料:EXAR_Nginx_OpenSSL_Engine_2.0.0_AppNote_u.pdf,USR-0010-A02_OpenSSL_Engine_2.0.0_GettingStarted.pdf。

内核版本:CentOS release 6.4 (Kernel 2.6.32-358.el6 for x86_64) 及以上。

装有exar加速卡的机器

lspci |grep -i hifn

03:00.0 Class 1200: Hifn Inc. Device 9240 (rev 01)

82:00.0 Class 1200: Hifn Inc. Device 9240 (rev 01)

DX_SDK_v2.3.0L_EXAR_20190329.tar.gz

DX_SDK_v2.3.0L_PUBLIC_20190329.tar.gz

openssl_engine_3.2.0_20191019.tar.gz

openssl环境以openssl-1.1.1b为例

openssl-1.1.1b

安装步骤

    创建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目录下文件列表:

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相关字段:

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相关命令测试、例如:分别测试软件,同步,异步做对比测试

观察效果用exar自带的统计分析报表 /proc/exar/dx_pk_statistics。

测试命令:
openssl speed rsa2048 -engine eng_dx -elapsed -multi 24

单张exar加速卡可以到4w/s即可认为安装成功。

注意

用户如果需要使用该engine,需要设置OPENSSL_ENGINES环境变量:

例如root用户的程序需要使用该engine,那么我们可以将OPENSSL_ENGINES变量写在/root/.bashrc中:

机器有重启的可能,如果机器重启,可以在rc.local中添加自动加载模块以及设置的命令,达到自动加载的目的:

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐