文档首页/ Huawei Cloud EulerOS/ 用户指南/ 工具类/ 硬件兼容性测试工具
更新时间:2025-09-19 GMT+08:00
分享

硬件兼容性测试工具

概述

oec-hardware工具是HCE提供的一款硬件兼容性测试工具,oec-hardware提供服务器整机、板卡与HCE的兼容性验证测试,验证仅限于基本功能验证,不包括性能测试等其它测试。

兼容性结论继承说明

  • 整机兼容性结论继承策略

    如果验证适配的服务器共主板、CPU代次相同,可以继承兼容性结论。

  • 板卡兼容性结论继承策略

    板卡型号一般通过四元组来进行确认,四元组信息:

    • vendorID:芯片厂商ID
    • deviceID: 芯片型号ID
    • svID:板卡厂商ID
    • ssID: 板卡型号ID

    板卡兼容性结论继承有以下几点:

    • vendorID和deviceID不同。

      无法继承兼容性结论。

    • vendorID和deviceID相同,svID不同。

      芯片型号相同但是板卡厂商不同,无法继承兼容性结论。

    • vendorID、deviceID、svID相同。

      代表同一个板卡厂商,使用同一种芯片做成的不同板卡,可以继承兼容性结论。

    • vendorID、deviceID、svID、ssID相同。

      代表同一个板卡厂商,使用同一种芯片做成的同一系列板卡,四元组信息相同,可以继承兼容性结论。厂商自行评估此系列板卡,可以写代表性的板卡名称。

运行环境

  • 整机测试环境要求
    表1 整机测试环境要求

    项目

    要求

    整机数量

    需要两台整机,业务网口互通

    硬件

    至少有一张RAID卡和一张网卡(包括集成主板硬件)

    内存

    建议满配

  • 板卡测试环境要求
    表2 板卡测试环境要求

    项目

    要求

    服务器型号

    Taishan200(Model 2280)、2288H V5或同等类型的服务器,对于x86_64服务器,icelake/cooperlake/cascade可任选一种,优选icelake。

    RAID卡

    需要组raid,至少组raid0。

    NIC/IB卡

    服务端和测试端需要分别插入一张同类型板卡,配置同网段IP,保证直连互通。

    FC卡

    需要连接磁阵,至少组两个lun。

    如果要测试外部驱动,请提前安装驱动,配置测试环境。

    GPU、keycard等测试项需要提前安装外部驱动,保证环境部署完成,然后使用本工具进行测试。

  • 运行环境组网
    图1 运行环境组网

工具安装

本工具支持在HCE 2.0或更高版本上运行,详细支持操作系统版本信息请查看/usr/share/oech/kernelrelease.json文件。

  1. 获取安装包

    • 在线安装

    配置HCE官方repo中对应版本的repo源,使用dnf获取软件包进行安装。

    • 离线安装
    1. 本地挂载HCE镜像,配置repo源,用于依赖获取。
    2. 从HCE官方repo的updates目录获取最新软件包进行安装。

  2. 安装过程

    • 客户端
      1. 使用dnf安装客户端oec-hardware。
        dnf install oec-hardware
      2. 输入oech命令,可正常运行,则表示安装成功。
    • 服务端
    1. 使用dnf安装服务端oec-hardware-server
      dnf install oec-hardware-server
    2. 启动服务。本服务通过搭配nginx服务提供web服务,默认使用80端口,可以通过nginx服务配置文件修改对外端口,启动前请保证这些端口未被占用。
      systemctl start oech-server.service
      systemctl start nginx.service
      设置开机自启动。
      systemctl enable oech-server.service
      systemctl enable nginx.service
    3. 关闭防火墙和SElinux。
      systemctl stop firewalld
      iptables -F 
      setenforce 0

测试项

  • 测试项介绍
    • 执行kdump和watchdog测试项时会自动重启,建议与其他测试项分开测试,单独测试这两项。
    • keycard测试项依赖开源的openssl指定版本,请在环境可以访问公网的情况下执行,或者提前将以下内容下载到/opt目录下:

      openssl.tar.gz

    • gpu测试项依赖一些开源工具,请在环境可以访问公网的情况下执行,或者提前将以下内容下载到/opt目录下:

      https://github.com/NVIDIA/cuda-samples/archive/refs/heads/master.zip

      radeontop

      glmark2

      clpeak

      gpu-burn

      VulkanSamples

    • 涉及到两个节点交互的测试项时需要注意关闭两个节点上的防火墙,以免测试数据被过滤掉,如ethernet、dpdk等测试项:
      systemctl stop firewalld
    • usb测试项当前只涉及对usb设备是否能正常识别的测试,需要在测试过程中根据提示在不同阶段手动插入或拔除usb设备。
    • /usr/share/oech/lib/config/test_config.yaml 是硬件测试项配置文件模板,fc、raid、disk、ethernet、infiniband硬件测试前需先根据实际环境进行配置,指定待测的硬件,其它硬件测试不需要配置。
  • 测试项策略
    表3 测试项策略

    测试项

    整机必测项

    板卡测试项

    system

    acpi

    -

    clock

    -

    cpufreq

    -

    cdrom

    -

    -

    disk

    -

    dpdk

    -

    -

    ethernet

    fc

    -

    gpu

    -

    ipmi

    -

    infiniband

    -

    kabi

    kdump

    -

    keycard

    -

    memory

    -

    nvme

    -

    perf

    -

    raid

    usb

    -

    -

    watchdog

    -

使用指导

前提条件

  • /usr/share/oech/kernelrelease.json文件中列出了当前支持的所有系统版本,使用uname -a命令确认当前系统内核版本是否属于框架支持的版本。
  • 框架默认会扫描所有网卡,对网卡进行测试前,请自行筛选被测网卡;要求测试端口连通,状态为up。建议不要使用业务网口进行网卡测试。
  • /usr/share/oech/lib/config/test_config.yaml是硬件测试项配置文件模板,fc、raid、disk、ethernet、infiniband硬件测试前需先根据实际环境进行配置,其它硬件测试不需要配置。对于网卡测试,如果是工具自动添加的IP地址,测试完成后,为了安全,服务端的IP需手动删除。

使用步骤

  1. 在客户端启动测试框架。客户端启动oech

    # oech

  2. 填写ID、URL、Server配置项。

    ID是测试的序号,可自己定义(注意:ID中不能带特殊字符);URL建议填写产品链接;Server 必须填写为客户端可以直接访问的服务器域名或 ip,用于展示测试报告和网络测试的服务端。服务端nginx默认端口号是80,如果服务端安装完成后没有修改该端口,Compatibility Test Server 的值只需要输入服务端的业务IP地址;否则需要带上端口号,比如:172.167.145.2:90

    The HCE Hardware Compatibility Test Suite
    Please provide your Compatibility Test ID: 
    Please provide your Product URL: 
    Please provide the Compatibility Test Server (Hostname or Ipaddr):

  3. 进入测试套选择界面。在用例选择界面,框架将自动扫描硬件并选取当前环境可供测试的测试套,输入edit可以进入测试套选择界面。

    These tests are recommended to complete the compatibility test:  
    No. Run-Now?  status    Class         Device         driverName     driverVersion     chipModel      boardModel
    1     yes     NotRun    acpi                                                                               
    2     yes     NotRun    clock                                                                              
    3     yes     NotRun    cpufreq                                                                            
    4     yes     NotRun    disk                                                                               
    5     yes     NotRun    ethernet      enp3s0         hinic          2.3.2.17          Hi1822              SP580 
    6     yes     NotRun    ethernet      enp4s0         hinic          2.3.2.17          Hi1822              SP580 
    7     yes     NotRun    ethernet      enp125s0f0     hns3                             HNS GE/10GE/25GE    TM210/TM280 
    8     yes     NotRun    ethernet      enp125s0f1     hns3                             HNS GE/10GE/25GE    TM210/TM280 
    9     yes     NotRun    raid          0000:04:00.0   megaraid_sas   07.714.04.00-rc1  SAS3408             SR150-M 
    10    yes     NotRun    gpu           0000:03:00.0   amdgpu                           Navi                Radeon PRO W6800 
    11    yes     NotRun    ipmi                                                                               
    12    yes     NotRun    kabi                                                                               
    13    yes     NotRun    kdump                                                                              
    14    yes     NotRun    memory                                                                             
    15    yes     NotRun    perf                                                                               
    16    yes     NotRun    system                                                                             
    17    yes     NotRun    usb                                                                                
    18    yes     NotRun    watchdog                                                       
    Ready to begin testing? (run|edit|quit)

  4. 选择测试套。all|none分别用于 全选|全取消(必测项system不可取消);数字编号可选择测试套,每次只能选择一个数字,按回车符之后no变为yes,表示已选择该测试套。

    Select tests to run: 
    No. Run-Now?  status    Class         Device         driverName     driverVersion     chipModel           boardModel 
    1     no      NotRun    acpi                                                                               
    2     no      NotRun    clock                                                                              
    3     no      NotRun    cpufreq                                                                            
    4     no      NotRun    disk                                                                               
    5     yes     NotRun    ethernet      enp3s0         hinic          2.3.2.17          Hi1822              SP580 
    6     no      NotRun    ethernet      enp4s0         hinic          2.3.2.17          Hi1822              SP580 
    7     no      NotRun    ethernet      enp125s0f0     hns3                             HNS GE/10GE/25GE    TM210/TM280 
    8     no      NotRun    ethernet      enp125s0f1     hns3                             HNS GE/10GE/25GE    TM210/TM280 
    9     yes     NotRun    raid          0000:04:00.0   megaraid_sas   07.714.04.00-rc1  SAS3408             SR150-M 
    10    yes     NotRun    gpu           0000:03:00.0   amdgpu                           Navi                Radeon PRO W6800 
    11    yes     NotRun    ipmi                                                                               
    12    yes     NotRun    kabi                                                                               
    13    yes     NotRun    kdump                                                                              
    14    yes     NotRun    memory                                                                             
    15    yes     NotRun    perf                                                                               
    16    yes     NotRun    system                                                                             
    17    yes     NotRun    usb                                                                                
    18    yes     NotRun    watchdog      
    Selection (<number>|all|none|quit|run):

  5. 开始测试。选择完成后输入run开始测试。
  6. 上传测试结果。测试完成后可以上传测试结果到服务器,便于结果展示和日志分析。如果上传失败,请检查网络配置,然后重新上传测试结果。

    ... 
    -------------  Summary  ------------- 
    ethernet-enp3s0                  PASS 
    system                           PASS 
    Log saved to /usr/share/oech/logs/oech-20240928210118-TnvUJxFb50.tar succ. 
    Do you want to submit last result? (y|n) y 
    Uploading... 
    Successfully uploaded result to server X.X.X.X.

获取结果

  • 测试日志查看

    测试完成后,测试日志会保存在/usr/share/oech/logs/目录下,将测试日志导出并解压即可查看测试日志。

  • 浏览器查看测试报告
    浏览器查看测试报告,前提需要配置server端接收测试结果。
    1. 浏览器打开服务端IP地址,单击导航栏Results界面,找到对应的测试id进入。
      图2 浏览器查看测试报告
    2. 进入单个任务页可以看到具体的测试结果展示,包括环境信息和执行结果等。
      • Summary查看所有测试结果。
      • Devices查看所有硬件设备信息。
      • Runtime查看测试运行时间和总任务执行日志。
      • Attachment下载测试日志附件。

相关文档