使用KAE加速引擎

简介

KAE加速引擎为openEuler的一个软件加速库,搭载在Kunpeng 920处理器上联合提供硬件加速引擎功能,包含了对称加密、非对称加密和数字签名,用于加速SSL/TLS应用,可以显著降低处理器消耗,提高处理器效率。此外,用户通过OpenSSL标准接口可实现业务快速迁移。

KAE加速引擎支持以下算法:

  • 摘要算法SM3, 支持异步模式。
  • 对称加密算法SM4,支持异步模式,支持CTR/XTS/CBC模式。

  • 对称加密算法AES, 支持异步模式,支持ECB/CTR/XTS/CBC模式。

  • 非对称算法RSA,支持异步模式,支持 Key Sizes 1024/2048/3072/4096。
  • 密钥协商算法DH, 支持异步模式,支持 Key Sizes 768/1024/1536/2048/3072/4096。

应用场景

KAE加速引擎主要有以下应用场景,如表1所示。

表 1 应用场景

场景

数据

大数据

流数据

数据加密

块数据

智能安防

视频流数据

Web服务

握手连接

安装、升级和卸载

安装加速器软件包

安装前准备

环境要求
  • TaiShan 200服务器,开启加速引擎功能

使用KAE加速引擎 - 图1 说明:

  • CPU:Kunpeng 920
  • 操作系统:openEuler-20.09-aarch64-dvd.iso
KAE加速引擎软件说明

表 2 加速引擎的rpm软件包

软件包名称

软件包说明

kae_driver-版本号-1.OS类型.aarch64.rpm

加速器驱动,包含内容:uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko内核模块

支持:SM3/SM4/AES/RSA/DH算法

libwd-版本号-1.OS类型.aarch64.rpm

包含内容:libwd.so动态链接库

提供接口给KAE引擎

libkae-版本号-1.OS类型.aarch64.rpm

依赖:libwd rpm包

包含内容:libkae.so动态库

支持:SM3/SM4/AES/RSA/DH等算法

安装加速器软件包

前提条件
  • 已在本地安装远程SSH登录工具
  • 已安装openEuler操作系统
  • RPM工具能正常使用。
  • 已安装OpenSSL 1.1.1a或以上版本。

    使用如下命令查询OpenSSL的版本号

    • openssl version
安装步骤
  1. 以root帐号登录openEuler OS命令行界面。
  2. 新建目录用于存放加速器引擎软件包。
  3. 使用SSH远程登录工具,将所有加速引擎软件包拷贝到已建好的目录下。
  4. 在存放加速引擎软件包目录下,使用rpm -ivh命令安装加速器引擎软件包。

    使用KAE加速引擎 - 图2 说明:
    由于libkae包的安装依赖libwd包,所以libwd的安装必须先于libkae。

    1. rpm -ivh uacce*.rpm hisi*.rpm libwd-*.rpm libkae*.rpm
    1. Verifying... ################################# [100%]
    2. Preparing... ################################# [100%]
    3. checking installed modules
    4. uacce modules start to install
    5. Updating / installing...
    6. 1:uacce-1.2.10-4.oe1 ################################# [ 14%]
    7. uacce modules installed
    8. 2:libwd-1.2.10-3.oe1 ################################# [ 29%]
    9. 3:libkae-1.2.10-3.oe1 ################################# [ 43%]
    10. checking installed modules
    11. hisi_hpre modules start to install
    12. 4:hisi_hpre-1.2.10-4.oe1 ################################# [ 57%]
    13. hisi_hpre modules installed
    14. checking installed modules
    15. hisi_rde modules start to install
    16. 5:hisi_rde-1.2.10-4.oe1 ################################# [ 71%]
    17. hisi_rde modules installed
    18. checking installed modules
    19. hisi_sec2 modules start to install
    20. 6:hisi_sec2-1.2.10-4.oe1 ################################# [ 86%]
    21. hisi_sec2 modules installed
    22. checking installed modules
    23. hisi_zip modules start to install
    24. 7:hisi_zip-1.2.10-4.oe1 ################################# [100%]
    25. hisi_zip modules installed
  5. 使用rpm -qa命令,查看加速器软件包是否已正常安装到系统内。使用rpm -ql命令 ,查看软件包的文件是否正确。示例如下。

    1. rpm -qa|grep -E "hisi|uacce|libwd|libkae"
    1. hisi_rde-1.2.10-4.oe1.aarch64
    2. hisi_sec2-1.2.10-4.oe1.aarch64
    3. libkae-1.2.10-3.oe1.aarch64
    4. hisi_hpre-1.2.10-4.oe1.aarch64
    5. uacce-1.2.10-4.oe1.aarch64
    6. libwd-1.2.10-3.oe1.aarch64
    7. hisi_zip-1.2.10-4.oe1.aarch64
    1. rpm -ql uacce hisi* libwd* libkae
    1. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_qm.ko
    2. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/uacce.ko
    3. /etc/modprobe.d/hisi_hpre.conf
    4. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_hpre.ko
    5. /etc/modprobe.d/hisi_rde.conf
    6. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_rde.ko
    7. /etc/modprobe.d/hisi_sec2.conf
    8. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_sec2.ko
    9. /etc/modprobe.d/hisi_zip.conf
    10. /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/hisi_zip.ko
    11. /usr/include/warpdrive/config.h
    12. /usr/include/warpdrive/include/uacce.h
    13. /usr/include/warpdrive/smm.h
    14. /usr/include/warpdrive/wd.h
    15. /usr/include/warpdrive/wd_bmm.h
    16. /usr/include/warpdrive/wd_cipher.h
    17. /usr/include/warpdrive/wd_comp.h
    18. /usr/include/warpdrive/wd_dh.h
    19. /usr/include/warpdrive/wd_digest.h
    20. /usr/include/warpdrive/wd_rsa.h
    21. /usr/lib64/libwd.so.1.2.10
    22. /usr/local/lib/engines-1.1/libkae.so.1.2.10
  6. 重启系统或通过命令行手动依次加载加速器引擎驱动到内核,并查看是否加载成功。

    1. # modprobe uacce
    2. # lsmod | grep uacce
    3. # modprobe hisi_qm
    4. # lsmod | grep hisi_qm
    5. # modprobe hisi_qm
    6. # modprobe hisi_sec2 #加载hisi_sec2驱动时将根据/etc/modprobe.d/hisi_sec2.conf 下的配置文件加载到内核
    7. # modprobe hisi_hpre #加载hisi_hpre驱动时将根据/etc/modprobe.d/hisi_hpre.conf 下的配置文件加载到内核
设置环境变量

通过以下命令导出环境变量:如果用户指定安装路径,则下面/usr/local应根据实际安装路径进行修改。

  1. export OPENSSL_ENGINES=/usr/local/lib/engines-1.1
安装后检查

执行rpm -qa命令查看加速器引擎软件包是否安装成功。

打印信息中包含“ 软件包名-版本号- ”表示该软件包安装成功。示例如下。

  1. rpm -qa|grep -E "hisi|uacce|libwd|libkae"
  1. hisi_rde-1.2.10-4.oe1.aarch64
  2. hisi_sec2-1.2.10-4.oe1.aarch64
  3. libkae-1.2.10-3.oe1.aarch64
  4. hisi_hpre-1.2.10-4.oe1.aarch64
  5. uacce-1.2.10-4.oe1.aarch64
  6. libwd-1.2.10-3.oe1.aarch64
  7. hisi_zip-1.2.10-4.oe1.aarch64

安装后操作

OpenSSL加速器引擎测试

用户可以通过以下命令测试部分加速器功能。

  • 使用OpenSSL的软件算法测试RSA性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed rsa2048
    2. ...
    3. sign verify sign/s verify/s
    4. rsa 2048 bits 0.001384s 0.000035s 724.1 28365.8.
  • 使用KAE引擎的测试RSA性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae rsa2048
    2. ....
    3. sign verify sign/s verify/s
    4. rsa 2048 bits 0.000355s 0.000022s 2819.0 45478.4

使用KAE加速引擎 - 图3 说明:
使用KAE引擎加速后签名性能从724.1 sign/s提升到2819sign/s。

  • 使用OpenSSL的软件算法测试异步RSA性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -async_jobs 36 rsa2048
    2. ....
    3. sign verify sign/s verify/s
    4. rsa 2048 bits 0.001318s 0.000032s 735.7 28555
  • 使用KAE引擎的测试异步RSA性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -engine kae -elapsed -async_jobs 36 rsa2048
    2. ....
    3. sign verify sign/s verify/s
    4. rsa 2048 bits 0.000018s 0.000009s 54384.1 105317.0

使用KAE加速引擎 - 图4 说明:
使用KAE引擎加速后异步RSA签名性能从735.7 sign/s提升到 54384.1sign/s。

  • 使用OpenSSL的软件算法测试SM4 CBC模式性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp sm4-cbc
    2. You have chosen to measure elapsed time instead of user CPU time.
    3. ....
    4. Doing sm4-cbc for 3s on 10240 size blocks: 2196 sm4-cbc's in 3.00s ....
    5. type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes
    6. sm4-cbc 82312.53k 85196.80k 85284.18k 85000.85k 85284.18k 85261.26k
  • 使用KAE引擎的测试SM4 CBC模式性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae -evp sm4-cbc
    2. engine "kae" set.
    3. You have chosen to measure elapsed time instead of user CPU time.
    4. ...
    5. Doing sm4-cbc for 3s on 1048576 size blocks: 11409 sm4-cbc's in 3.00s
    6. ...
    7. type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes
    8. sm4-cbc 383317.33k 389427.20k 395313.15k 392954.73k 394264.58k 394264.58k

使用KAE加速引擎 - 图5 说明:
使用KAE加速后SM4 CBC模式在输入数据块大小为8M时,从82312.53k/s提升到383317.33k/s。

  • 使用OpenSSL的软件算法测试SM3模式性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp sm3
    2. You have chosen to measure elapsed time instead of user CPU time.
    3. Doing sm3 for 3s on 102400 size blocks: 1536 sm3's in 3.00s
    4. ....
    5. type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes
    6. sm3 50568.53k 52428.80k 52428.80k 52428.80k 52428.80k 52428.80k
  • 使用KAE引擎测试SM3模式性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -engine kae -evp sm3
    2. engine "kae" set.
    3. You have chosen to measure elapsed time instead of user CPU time.
    4. Doing sm3 for 3s on 102400 size blocks: 19540 sm3's in 3.00s
    5. ....
    6. type 51200 bytes 102400 bytes 1048576 bytes 2097152 bytes 4194304 bytes 8388608 bytes
    7. sm3 648243.20k 666965.33k 677030.57k 678778.20k 676681.05k 668292.44k

使用KAE加速引擎 - 图6 说明:
使用KAE加速后SM3算法在输入数据块大小为8M时,从52428.80 k/s提升到668292.44k/s。

  • 使用OpenSSL软件算法测试AES算法CBC模式异步性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4
    2. You have chosen to measure elapsed time instead of user CPU time.
    3. Doing aes-128-cbc for 3s on 51200 size blocks: 65773 aes-128-cbc's in 3.00s
    4. Doing aes-128-cbc for 3s on 102400 size blocks: 32910 aes-128-cbc's in 3.00s
    5. ....
    6. type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes
    7. aes-128-cbc 1122525.87k 1123328.00k 1120578.22k 1121277.27k 1119879.17k 1115684.86k
  • 使用的KEA引擎测试AES算法CBC模式异步性能。

    1. linux-rmw4:/usr/local/bin # ./openssl speed -elapsed -evp aes-128-cbc -async_jobs 4 -engine kae
    2. engine "kae" set.
    3. You have chosen to measure elapsed time instead of user CPU time.
    4. Doing aes-128-cbc for 3s on 51200 size blocks: 219553 aes-128-cbc's in 3.00s
    5. Doing aes-128-cbc for 3s on 102400 size blocks: 117093 aes-128-cbc's in 3.00s
    6. ....
    7. type 51200 bytes 102400 bytes1048576 bytes2097152 bytes4194304 bytes8388608 bytes
    8. aes-128-cbc 3747037.87k 3996774.40k 1189085.18k 1196774.74k 1196979.11k 1199570.94k

使用KAE加速引擎 - 图7 说明:

  • AES仅支持数据长度为256KB及以下场景的异步使用。
  • 使用KAE加速后AES算法在输入数据块为100K大小时,从1123328.00k/s提升到3996774.40 k/s 。

升级加速器软件包

使用场景

当需要更新加速器软件版本时可以使用rpm -Uvh方式进行升级。

操作步骤

  1. 从openEuler社区下载最新版本的加速引擎软件包。
  2. 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。
  3. 将下载下来的最新版本的软件包都放在某个路径下。
  4. 在存放软件包的路径下使用rpm -Uvh 命令升级加速器驱动包及引擎库包。示例如下。

    命令和信息回显如下所示。

    使用KAE加速引擎 - 图8

    使用KAE加速引擎 - 图9

  5. 使用rpm -qa 命令查询是否升级成功。确认查询到的版本是最新的升级后版本。

    使用KAE加速引擎 - 图10

    使用KAE加速引擎 - 图11

  6. 重启系统或通过命令行手动卸载旧版本驱动,然后加载新版本驱动,并查看是否加载成功

    1. 卸载旧驱动
    2. # lsmod | grep uacce
    3. uacce 262144 3 hisi_hpre,hisi_sec2,hisi_qm
    4. #
    5. # rmmod hisi_hpre
    6. # rmmod hisi_sec2
    7. # rmmod hisi_qm
    8. # rmmod uacce
    9. # lsmod | grep uacce
    10. #
    11. 加载新驱动# modprobe uacce
    12. # modprobe hisi_qm# modprobe hisi_sec2 #加载hisi_sec2驱动时将根据/etc/modprobe.d/hisi_sec2.conf 下的配置文件加载到内核
    13. # modprobe hisi_hpre #加载hisi_hpre驱动时将根据/etc/modprobe.d/hisi_hpre.conf 下的配置文件加载到内核
    14. # lsmod | grep uacce
    15. uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre

卸载加速器软件包

使用场景

用户不再使用加速引擎软件,或进行新版本加速引擎软件的安装。

操作步骤

  1. 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。
  2. 重启系统或通过命令行手动将已加载到内核的驱动卸载掉,并查看是否卸载成功。

    1. # lsmod | grep uacce
    2. uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre
    3. # rmmod hisi_hpre
    4. # rmmod hisi_sec2
    5. # rmmod hisi_qm
    6. # rmmod uacce
    7. # lsmod | grep uacce
    8. #
  3. 通过rpm -e 命令卸载加速引擎软件包。示例如下。

    使用KAE加速引擎 - 图12 说明:
    由于存在依赖关系,卸载libwd前须先卸载libkae引擎软件包。

    使用KAE加速引擎 - 图13

    使用KAE加速引擎 - 图14

  4. 使用rpm -qa |grep 软件包名命令查询是否卸载成功。

    使用KAE加速引擎 - 图15

日志查询

加速器引擎涉及日志信息如表3所示。

表 3 日志信息

目录

文件名

文件内容说明

/var/log/

kae.log

OpenSSL引擎日志默认打印等级为error级别,如需要设置日志级别按照如下操作:

  1. export KAE_CONF_ENV=/var/log/
  2. 在/var/log/下创建文件kae.cnf
  3. 在kae.cnf 文件中设置如下:

    [LogSection]

    debug_level=error #取值内容none/error/info/warning/debug

说明:

正常情况下不建议开启info或debug级别日志,否则会导致加速器性能的下降。

/var/log/

message/syslog

  • 内核日志路径为/var/log/message。
说明:

或通过dmesg > /var/log/dmesg.log日志收集内核相关日志,包含驱动及内核态日志。

加速引擎的应用

使用KAE加速引擎 - 图16 说明:
如果用户未购买引擎许可证,建议用户不要通过kae引擎调用相应算法,否则可能会影响openssl加密算法的性能。

KAE引擎使用示例代码

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /* OpenSSL headers */
  4. #include <openssl/bio.h>
  5. #include <openssl/ssl.h>
  6. #include <openssl/err.h>
  7. #include <openssl/engine.h>
  8. int main(int argc, char **argv)
  9. {
  10. /* Initializing OpenSSL */
  11. SSL_load_error_strings();
  12. ERR_load_BIO_strings();
  13. OpenSSL_add_all_algorithms();
  14. /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/
  15. ENGINE *e = ENGINE_by_id("kae");
  16. /*使能加速器异步功能,可选配置,设置为“0”表示不使能,设置为“1”表示使能,默认使能异步功能*/
  17. ENGINE_ctrl_cmd_string(e, "KAE_CMD_ENABLE_ASYNC", "1", 0)
  18. ENGINE_init(e);
  19. RSA *rsa = RSA_new_method(e);#指定引擎用于RSA加解密
  20. /*The user code*/
  21. ……
  22. ;
  23. ENGINE_free(e);
  24. ;
  25. }

通过OpenSSL配置文件openssl.cnf使用KAE引擎

新建openssl.cnf 需要添加如下配置信息

  1. openssl_conf=openssl_def
  2. [openssl_def]
  3. engines=engine_section
  4. [engine_section]
  5. kae=kae_section
  6. [kae_section]
  7. engine_id=kae
  8. dynamic_path=/usr/local/lib/engines-1.1/kae.so
  9. KAE_CMD_ENABLE_ASYNC=1 # 0,表示不使能异步功能,1表示使能异步功能,默认使能
  10. default_algorithms=ALL
  11. init=1

导出OPENSSL_CONF环境变量:

  1. export OPENSSL_CONF=/home/app/openssl.cnf #该路径为openssl.cnf存放路径

使用OpenSSL配置文件示例如下:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /* OpenSSL headers */
  4. #include <openssl/bio.h>
  5. #include <openssl/ssl.h>
  6. #include <openssl/err.h>
  7. #include <openssl/engine.h>
  8. int main(int argc, char **argv)
  9. {
  10. /* Initializing OpenSSL */
  11. SSL_load_error_strings();
  12. ERR_load_BIO_strings();
  13. #Load openssl configure
  14. OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, NULL); OpenSSL_add_all_algorithms();
  15. /*You can use ENGINE_by_id Function to get the handle of the Huawei Accelerator Engine*/
  16. ENGINE *e = ENGINE_by_id("kae");
  17. /*The user code*/
  18. ……
  19. ;
  20. ENGINE_free(e);
  21. ;
  22. }

故障处理

初始化失败

故障现象

加速器引擎没有完全加载成功。

处理步骤

  1. 检查加速器驱动是否加载成功,运行lsmod 命令查看uacce.ko、qm.ko 、sgl.ko 、hisi_sec2.ko 、hisi_hpre.ko 、hisi_zip.ko、 hisi_rde.ko是否在位。

    1. # lsmod | grep uacce
    2. uacce 262144 2 hisi_hpre,hisi_qm,hisi_sec2,hisi_zip,hisi_rde
  2. 检查/usr/lib64(RPM方式安装时目录)或者/usr/local/lib(源码方式安装时目录)和OpenSSL安装目录是否有加速器引擎库,且建立正确的软连接。

    1. [root@localhost home]# ll /usr/local/lib/engines-1.1/ |grep kae
    2. #查询kae是否正确安装并建立软连接,如果有正确安装显示如下内容
    3. # ll /usr/local/lib/engines-1.1/ |grep kae
    4. lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so -> kae.so.1.0.1
    5. lrwxrwxrwx. 1 root root 22 Nov 12 02:33 kae.so.0 -> kae.so.1.0.1
    6. -rwxr-xr-x. 1 root root 112632 May 25 2019 kae.so.1.0.1
    7. [[root@localhost home]#
    8. [root@localhost home]# ll /usr/lib64/ | grep libwd
    9. #查询libwd是否正确安装并建立软连接,如果有正确安装显示如下内容
    10. lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so -> libwd.so.1.0.1
    11. lrwxrwxrwx. 1 root root 14 Nov 12 02:33 libwd.so.0 -> libwd.so.1.0.1
    12. -rwxr-xr-x. 1 root root 137120 May 25 2019 libwd.so.1.0.1
    13. [root@localhost home]#
  3. 检查OpenSSL引擎库的路径是否能通过export命令进行导出。

    1. # echo $OPENSSL_ENGINES
    2. # export OPENSSL_ENGINES=/usr/local/lib/engines-1.1
    3. # echo $OPENSSL_ENGINES
    4. /usr/local/lib/engines-1.1

安装完加速器引擎之后,查找不到加速器设备

故障现象

安装完加速器引擎之后,查找不到加速器设备。

解决方法

  1. 检查虚拟文件系统下是否有相应设备。正常情况下有如下相应的加速器设备。

    1. # ls -al /sys/class/uacce/
    2. total 0
    3. lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2
    4. lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3
    5. lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4
    6. lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5
    7. lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0
    8. lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1
    9. lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-6 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-6
    10. lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_zip-7 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-7
  2. 若要使用hpre设备但是在1中未查询到,请按初始化失败排查加速器软件是否已正确安装。

  3. 2已确认加速器软件正确安装,请排查通过lspci命令查看物理设备是否存在。

    1. # lspci | grep HPRE
    2. 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21)
    3. b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21)
    4. ## lspci | grep SEC
    5. 76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21)
    6. b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21)
    7. ## lspci | grep RDE
    8. 78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21)
    9. b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21)
    10. ## lspci | grep ZIP
    11. 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21)
    12. b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21)
    13. #
  4. 3未查询到相应的物理设备,请确认以下,不分先后:

    • 确认是否已导入加速器许可证,若未导入,请请参考《TaiShan 机架服务器 iBMC (V500及以上) 用户指南》中“许可证管理”章节,导入加速器许可证。导入加速器许可证之后,需要掉电重启BMC,使能License。
    • 确认BMC和BIOS版本是否支持加速器特性。

升级加速器驱动失败

故障现象

升级加速器驱动后,重启系统驱动版本仍为旧版本。

可能原因

在升级加速器驱动前,系统更新了其他驱动包,这些驱动包可能重新更新了引导文件系统initramfs,将未升级前的加速器驱动一起更新到了initramfs文件系统中。例如系统更新了网卡驱动,或者人为更新了initramfs文件系统,导致系统重启时优先从initramfs文件系统中加载加速器驱动。

处理步骤

升级加速器驱动版本后,通过执行dracut --force命令重新更新initramfs文件系统。