Red Hat Hardware Certification Test Suite User Guide


Red Hat Hardware Certification 2025

用于红帽硬件认证

Red Hat Customer Content Services

摘要

红帽硬件认证测试套件用户指南解释了在 Red Hat Enterprise 软件上认证硬件所需的步骤。它提供整个认证流程的概述,说明如何设置认证环境、测试经认证的系统或组件,以及向红帽提交结果进行验证。本指南还提供包括测试方法和结果评估等背景信息。
版本 9.22 在 2025 年 8 月 27 日更新。

使开源包含更多

红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息

第 1 章 红帽硬件认证计划简介

使用本指南认证您公司的硬件产品,以运行一个或多个红帽产品。

1.1. 红帽认证计划概述

红帽认证计划确保将红帽的硬件和软件产品与 Red Hat Enterprise Linux、Red Hat Enterprise Linux AI、Red Hat OpenShift Container Platform、Red Hat OpenStack Platform、Red Hat OpenStack Platform for Real Time 以及硬件平台上的其他红帽软件产品兼容。程序有三个主要元素:

  • 测试套件 :评估硬件或软件应用程序进行认证。
  • 红帽认证生态系统 :帮助探索和查找认证产品,包括硬件、软件、云和服务提供商。
  • 支持 :与您与红帽之间的共同支持关系。

1.2. 认证工作流

硬件认证涵盖服务器、桌面、工作站、笔记本电脑以及运行 Red Hat Enterprise Linux AI、Red Hat OpenShift Container Platform、Red Hat OpenStack Platform Compute 和 Red Hat Enterprise Linux for Real Time 的测试。

先决条件

  1. 与红帽建立认证关系。
  2. 设置由合作伙伴的产品和红帽产品组合组成的测试环境。
  3. 进行初步测试,以确保此组合正常工作。
  4. 安装 redhat-certification 工具。

流程

  1. 使用红帽认证工具 为特定软件或硬件组件创建认证请求。
  2. 红帽认证团队将认证策略应用到硬件规格,以创建官方测试计划。测试计划为 RHEL 8、RHEL 9、RHEL 10 和 RHEL AI 1.x 认证系统或组件,它由测试和功能组成,它们将根据确定的组件及其提交给红帽的规格发布。
  3. 运行官方测试计划中指定的测试,并使用红帽 认证工具向红帽认证团队 提交结果进行分析。mailto:cert-ops@redhat.com
  4. 认证团队分析测试结果,并告知任何需要重新进行的测试。
  5. 向红帽提供代表硬件示例,涵盖正在认证的项目。
  6. 当所有测试都有合理的结果时,认证将完成,认证产品会在 红帽生态系统目录 上提供。

1.3. 获得支持和提供反馈

拥有一个分配了工程合作伙伴经理、工程客户经理或大客户经理的专业支持资源合作伙伴,可使用他们用于请求其他红帽产品支持的工具创建支持问题单。

没有专用支持资源的合作伙伴可使用以下实例的 红帽客户门户网站 来创建一个支持问题单:

  • 报告问题并在认证过程中获得帮助
  • 在认证工具集和文档中提交反馈和请求增强功能
  • 要接收对您的产品或应用程序进行认证的红帽产品的帮助。要获得红帽产品帮助,需要具有与特定于认证权利和订阅分开所需的产品权利和订阅。

要使用红帽客户门户网站界面创建一个支持问题单,请完成以下步骤:

  1. 使用红帽帐户凭证(也用于访问其他红帽资产(如 红帽技术合作伙伴和软件订阅) 登录到红帽客户门户网站
  2. 在红帽客户门户网站主页中点 Open a Support Case
  3. 在 Support Case Form 中特别注意以下字段:

    • Product 字段中,根据以下详情,选择您的产品/应用程序要认证的红帽产品的名称:

      • 对于 Red Hat OpenStack Platform 认证,请选择 Red Hat OpenStack Platform
      • 对于认证云和服务提供程序(CCSP)认证,请选择 Red Hat Enterprise Linux
      • 对于 Red Hat Container Certification,请选择 Red Hat Enterprise Linux
      • 对于 Red Hat Hardware Certification,请选择 Red Hat Enterprise Linux
    • Product Version 字段中,选择该产品的版本。
    • Problem Statement 字段中,使用以下格式输入问题声明/签发或反馈:

      {partner Certification}(问题/建议或反馈)

      问题或问题 替换为认证流程或红帽产品或认证工具集或文档的反馈。

      For example: {Partner Certification} Error occurred while submitting certification test results using the Red Hat Certification application.

使用 如何在客户门户网站上打开和管理支持问题单,完成剩余的表单?

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

第 2 章 合作伙伴加入

使用红帽客户门户网站创建新帐户并加入硬件认证计划。

如果您在认证过程中遇到任何问题,可以通过以下方式联系我们以获取支持:

  • 在产品认证 类别下,创建 合作伙伴加速台(PAD) 票据。
  • 将红帽认证操作(cert-ops)团队发送邮件至 cert-ops@redhat.com
  • 如果您已被分配,请联系您的专用生态系统合作伙伴管理(EPM)。

2.1. 创建红帽帐户

流程

  1. 打开 红帽客户门户网站,点页面右上角的 Register

    此时会显示 Register for a Red Hat account 页面。

    重要
    • 请确定您使用您的公司电子邮件 ID 而不是您的个人电子邮件。您输入的电子邮件 ID 将用于您与红帽的所有通信。
    注意

    红帽建议使用唯一的登录 ID,它与电子邮件 ID 分开,以避免在以后出现与帐户相关的问题。创建后无法更改登录 ID。

  2. 输入您的 登录信息个人信息
  3. 选择 Corporate 作为帐户类型。
  4. 输入您公司的 联系信息
  5. 单击 Create My Account。创建一个新的红帽帐户。
  6. 请求在同一账户上启用红帽合作伙伴订阅(RHPS)。您必须具有机构管理员(机构)。admin)发出请求的权限。

验证

  • 验证您的帐户号是否已分配给您的帐户。

    为此,请登录 红帽客户门户,然后单击右上角的头像以确认帐户详细信息。

2.2. 加入硬件认证计划

流程

  1. 登录到 Red Hat Partner Connect 门户 以加入硬件认证计划。
  2. Accept Conditions and Conditions
  3. 提供有关您公司和产品的一些详细信息,然后单击提交
  4. 点您在邮箱中接收的链接验证您的电子邮件地址。
  5. Red Hat Conditions and Conditions 页面中,选择所有 我已阅读并同意条款 复选框,然后单击 Submit

    上会显示一条成功成为硬件合作伙伴的消息。

  6. How will use this subscription? 下拉列表中选择一个选项,然后单击 Request partner subscription
  7. Red Hat Conditions and Conditions 页面中,选择所有 我已阅读并同意条款 复选框,然后单击 Submit

    成功接收免费合作伙伴订阅后会显示一条消息。

    创建 vendor 配置集,并且会自动添加到供应商用户中的单点登录(SSO)。

注意

创建后您的供应商个人资料将保留在红帽数据库中。但是,您的 Red Hat 合作伙伴订阅(RHPS)账户在一年不活跃后就不活跃。因此,如果您是返回合作伙伴,请在开始硬件认证前请求重新激活 RHPS 帐户。

激活 RHPS 帐户后,cert-ops 团队会收到您的详细信息通知,包括分配给您的帐户的单点登录(SSO)信息。

作为合作伙伴,您可以在红帽认证工具中提交新的认证案例来启动认证流程。完成此任务后,红帽会根据您提供的产品规格准备测试计划。

注意

要在 RHEL AI 上认证系统,您必须首先为 RHEL 9 认证系统。创建并完成 RHEL 9 认证后,您可以继续创建 RHEL AI 认证。

先决条件

  • 您已与红帽建立了认证关系。
  • 您有用户登录凭证。
  • 您有与用户登录相关联的供应商和产品。

流程

  1. 登录红帽客户门户 https://rhcert.connect.redhat.com/#/home
  2. 在主页上,单击 Open Certification

    此时会打开 Open a New Certification Case 对话框。

  3. Next
  4. 合作伙伴和产品列表 中选择一个选项

    如果您的产品没有显示,请在 Product 字段中输入其名称来创建它。然后,选择它。

    注意

    对于 RHEL AI 认证,请选择已在 RHEL 9 上认证的合作伙伴和产品。

  5. What kind of product is this? 部分,选中适用于您的产品的复选框。

    您的产品可能符合多个生态系统的资格。

  6. Next
  7. 输入 Make

    根据之前输入的信息显示 Model

  8. Which category best describes your product?下选中适用复选框?
  9. 可选:输入 产品 URL支持 URL规范 URL
  10. Next

    根据您的输入,在合作伙伴产品列表中 创建一个新产品

  11. Red Hat Certification 列表中选择一个选项,然后单击 Next

    注意

    对于 RHEL AI 认证,请选择 Red Hat Enterprise Linux AI 1 System

  12. 查看您提供的信息,并点 Create Case

验证

如果您已成功为您的产品创建了新的认证案例,则会显示错误消息。

后续步骤

虽然红帽为产品准备测试计划,但 您可以设置测试环境 来准备系统以运行测试。

第 4 章 设置测试环境

要认证您的产品,您必须首先设置可运行测试的环境。测试环境由测试的主机(HUT)组成。

4.1. 对于 RHEL 硬件认证

设置可运行测试的测试环境。

测试环境由至少两个系统组成:

4.1.1. 在 test 下设置主机

安装或配置需要认证的产品的系统称为测试(HUT)下的主机。

先决条件

  • HUT 已安装 RHEL 8 或更高版本。为方便起见,红帽提供了 kickstart 文件来安装 HUT 的操作系统。在启动安装过程前,按照适合您系统的说明进行操作。
注意

红帽硬件认证需要为通过硬件认证而认证的 Red Hat Enterprise Linux 版本使用正式发行(GA)内核。

安装 RHEL 时,请下载并使用 Binary DVD 离线安装镜像,而不是引导 ISO 镜像。Boot ISO 镜像需要网络连接,并将自动安装当前内核,而不是所需的 GA 内核。

在安装过程中,不要使用 Red Hat Subscription Management (RHSM)注册系统。在安装完成后,只有使用 RHSM 注册系统。

流程

  1. 配置 红帽认证 存储库。

    使用您的 RHN 凭证,通过红帽订阅管理注册您的系统:

    # subscription-manager register
  2. 显示您的系统可用订阅列表:

    # subscription-manager list --available*
  3. 搜索提供红帽认证(用于 RHEL 服务器)存储库的订阅,并记录订阅及其池 ID。
  4. 将订阅附加到您的系统。将 pool_ID 替换为订阅的池 ID。

    # subscription-manager attach --pool=<pool_ID>
    注意

    如果您启用了 Red Hat Subscription Management 的简单内容访问,则不必将订阅附加到您的系统。如需了解更多详细信息,请参阅如何为红帽订阅管理启用简单内容访问?

  5. 订阅红帽认证频道:

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-<HOSTTYPE>-rpms

    将 VERSION 替换为 SUT 上的 RHEL 版本号

    subscription-manager repos --enable=cert-1-for-rhel-9-<HOSTTYPE>-rpms

    要查找系统架构,请运行

    $ uname -m

    将 HOSTTYPE 替换为系统架构。

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-x86_64-rpms
    1. 安装硬件测试套件软件包:

      注意

      此步骤仅适用于 RHEL 版本 9 或更高版本。

      $ dnf install redhat-certification-hardware

4.1.2. 设置测试服务器

在测试下的主机上运行的某些测试(HUT)需要第二个系统通过。第二个系统被称为测试服务器。

例如,检查带宽的测试,将数据从一个系统传输给另一个系统,以便传递。

先决条件

  • 测试服务器安装了 RHEL 版本 8、9 或 10。
注意

红帽建议您的测试服务器运行与 HUT 相同的 RHEL 主版本。

  • 红帽提供了 kickstart 文件来安装 HUT 的操作系统,您也可以使用它们来安装测试服务器。在启动安装过程前,按照适合您系统的说明进行操作。

流程

  1. 配置 红帽认证 存储库。

    使用您的 RHN 凭证,通过红帽订阅管理注册您的系统:

    # subscription-manager register
  2. 显示您的系统可用订阅列表:

    # subscription-manager list --available*
  3. 搜索提供红帽认证(用于 RHEL 服务器)存储库的订阅,并记录订阅及其池 ID。
  4. 将订阅附加到您的系统。将 pool_ID 替换为订阅的池 ID。

    # subscription-manager attach --pool=<pool_ID>
    注意

    如果您启用了 Red Hat Subscription Management 的简单内容访问,则不必将订阅附加到您的系统。如需了解更多详细信息,请参阅如何为红帽订阅管理启用简单内容访问?

  5. 订阅红帽认证频道:

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-<HOSTTYPE>-rpms

    将 VERSION 替换为 SUT 上的 RHEL 版本号

    subscription-manager repos --enable=cert-1-for-rhel-9-<HOSTTYPE>-rpms

    要查找系统架构,请运行

    $ uname -m

    将 HOSTTYPE 替换为系统架构。

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-x86_64-rpms
    1. 安装硬件测试套件软件包:

      注意

      此步骤仅适用于 RHEL 版本 9 或更高版本。

      $ dnf install redhat-certification-hardware

4.2. 对于 RHEL AI 硬件认证

设置测试环境以运行 RHEL AI 认证测试。

先决条件

流程

  1. 在您的 HUT 中,使用 SSO 登录凭据登录 Red Hat Hybrid Cloud Console 订阅页面,以确认您已拥有有效的 红帽合作伙伴订阅。如果没有,请联系贵公司的机构管理员请求 合作伙伴订阅
  2. 登录到 Red Hat Insights 应用程序,进入 Inventory > System configuration > Activation Keys 选项卡,为您的帐户生成激活码。另外,此页面会显示您的机构 ID。记录此 ID 以备将来参考。
  3. 将 HUT 注册到 Red Hat Insights 应用程序。

    sudo rhc connect --organization <org_id> --activation-key <your_activation_key>
  4. 启用您的认证存储库以下载认证测试 RPM。

    subscription-manager repos --enable=cert-1-for-rhel-9-x86_64-rpms
  5. 安装测试套件并重启 HUT。

    rpm-ostree install redhat-certification-hardware-ai
  6. 使用 skopeo 工具登录到 Red Hat Registry。此步骤允许您在测试运行期间下载模型。

    skopeo login registry.redhat.io

    它会提示您输入您的登录凭证来访问 红帽 registry

注意

运行 RHEL AI 认证测试可能非常耗时。要快速验证您的 HUT 是否适合运行这些测试,请转至 /etc/rhcert.xml 文件,并将 < rhelai training> 参数的值从 full 更新到 ,如下所示:

<rhelai training="short" epoch="2" config-update="true">

这充当一种健全性测试,允许您在运行认证测试前快速识别 AI 加速器中的任何问题。此测试结果不被视为认证。

验证

要验证是否设置了测试环境,请执行以下命令:

rpm-ostree status

它将确认 redhat-certification-hardware-ai 软件包的安装成功。

第 5 章 从红帽客户门户网站下载测试计划

流程

  1. 登录红帽客户门户。
  2. 搜索与您的产品认证相关的问题单号,并复制它。
  3. Cases → 输入产品问题单号。
  4. 可选: 要列出测试运行期间测试的组件,请单击 Test Plans
  5. Download Test Plan

后续步骤

如果您计划使用 Cockpit 运行测试,请参阅使用 Cockpit 配置系统并运行测试

如果您计划使用 CLI 运行测试,请参阅使用 CLI 配置系统和运行测试

第 6 章 使用 Cockpit 配置系统并运行测试

要完成认证过程,您必须配置 cockpit,在测试(HUT)和测试服务器下准备主机,运行测试并检索测试结果。

6.1. 设置 Cockpit 服务器

Cockpit 是一个 RHEL 工具,可让您更改系统的配置,并通过用户友好的 Web 界面监控其资源。

注意
  • 您必须在新系统上设置 Cockpit,该系统与测试服务器下的主机分开。
  • 确保 Cockpit 能够访问 test 和 test 服务器下的主机。

有关安装和配置 Cockpit 的更多信息,请参阅在 RHEL 8 上使用 RHEL web 控制台入门使用 RHEL 9 上的 RHEL web 控制台和 介绍 Cockpit

先决条件

  • Cockpit 服务器安装了 RHEL 版本 8 或更高版本。
  • 您已在系统上安装了 Cockpit 插件。
  • 您已启用了 Cockpit 服务。
注意

您不能使用 RHEL 10 作为 Cockpit 服务器来运行 rhcert 测试,因为 RHEL 10 不支持将主机添加到 Cockpit 界面中。

流程

  1. 登录到安装 Cockpit 的系统。
  2. 安装由红帽认证团队提供的 Cockpit RPM。

    # yum install redhat-certification-cockpit

您必须在端口 9090 上运行 Cockpit。

在 test (HUT)下添加主机并测试服务器到 Cockpit 可让两个系统使用免密码 SSH 进行通信。

重复此步骤来逐一添加两个系统。

先决条件

  • 您有 HUT 和测试服务器的 IP 地址或主机名。

流程

  1. 在浏览器中输入 http://<Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 点登录的 cockpit 用户名→添加新主机上的 向下箭头。

    此时会显示对话框。

  4. Host 字段中,输入系统的 IP 地址或主机名。
  5. User name 字段中输入您要分配给这个系统的名称。
  6. 可选:选择预定义的颜色,或为添加主机选择的新颜色。
  7. Add
  8. 单击 Accept key 并连接,让 Cockpit 通过免密码 SSH 与系统通信。
  9. 输入密码
  10. 选择 Authorize SSH Key 复选框。
  11. 登录

验证

在左侧面板中,点击 ToolsRed Hat Certification,并验证您刚刚添加的系统是否显示在右侧的 Hosts 部分。

6.3. 在 Red Hat SSO 网络中获取授权

流程

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. 在 Cockpit 主页上,单击 Authorize,以与红帽系统建立连接。

    此时会显示 Log in your your Red Hat account 页面。

  5. 输入您的凭证并点 Next

    显示 对 rhcert-cwe 页面的 Grant 访问权限

  6. Grant access。确认消息会显示成功的设备登录。您现在已连接到 Cockpit Web 应用。

对于非授权或有限的访问用户:

对于授权用户:

流程

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. Test Plans 选项卡。这时将显示 Recent 认证支持问题单 的列表。
  5. Download Test Plan。这时将显示一条消息,确认成功添加 test 计划。
  6. 下载的测试计划将列在 Test Plan Files 部分的 File Name 下。

6.5. 使用测试计划准备测试的主机

在测试下置备主机执行很多操作,如设置与 cockpit 的免密码 SSH 通信、根据认证类型安装所需的软件包,并创建要运行的最终测试计划,这是由红帽提供的测试计划以及发现系统要求时生成的测试列表。

例如,如果测试计划设计认证硬件产品,则会安装所需的硬件软件包。

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. 单击 Hosts 选项卡,然后单击您要在其上运行测试的主机。
  5. 单击 Provision

    此时会出现一个对话框。

    1. 单击 Upload, 然后选择新的 test plan .xml 文件。然后,单击 Next。此时会显示成功上传信息。

      (可选)如果要重复使用之前上传的测试计划,请再次选择它来重新上传。

      注意

      在认证过程中,如果您收到用于持续产品认证的重新设计测试计划,则可以按照上一步进行上传。但是,在继续操作前,您必须在 Terminal 选项卡中运行 rhcert-clean

    2. Role 字段中,选择 test 下的 Host,再单击 Submit
    3. 默认情况下,该文件上传到路径 /var/rhcert/plans/<testplanfile.xml >。

6.6. 使用测试计划准备测试服务器进行测试

运行 Provision Host 命令启用并启动 rhcertd 服务,该服务配置测试套件中指定的服务,如 iperf 用于网络测试,以及 kdump 测试中使用的 nfs 挂载点。

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. 单击 Hosts 选项卡,然后单击您要在其上运行测试的主机。
  5. 单击 Provision

    此时会出现一个对话框。

    1. 单击 Upload, 然后选择新的 test plan .xml 文件。然后,单击 Next。此时会显示成功上传信息。

      (可选)如果要重复使用之前上传的测试计划,请再次选择它来重新上传。

      注意

      在认证过程中,如果您收到用于持续产品认证的重新设计测试计划,则可以按照上一步进行上传。但是,在继续操作前,您必须在 Terminal 选项卡中运行 rhcert-clean

    2. Role 字段中,选择 Test server,再单击 Submit。默认情况下,该文件被上传到 /var/rhcert/plans/<testplanfile.xml> 路径。

6.7. 使用 Cockpit 运行认证测试

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. 单击 Hosts 选项卡,再单击要在其上运行测试的主机。
  5. Terminal 选项卡,然后选择 Run。

    此时会显示基于测试计划上传的推荐测试列表。要运行的最终测试计划是红帽所提供的测试计划以及发现系统要求时生成的测试。

  6. 提示时,选择是否通过输入 yesno 运行每个测试。

    您还可以通过键入,从列表中选择特定的测试。

6.8. 检查并下载测试结果文件

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. Result Files 选项卡查看生成的测试结果。

    1. 可选:点击 Preview 来查看每个测试的结果。
    2. 点结果文件旁的 Download。默认情况下,结果文件保存为 /var/rhcert/save/hostname-date-time.xml

流程

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. Result Files 选项卡,然后从显示的列表中选择问题单号。

    1. 对于授权用户,请单击 Submit。这时将显示一条信息,确认测试结果文件的成功上传。
    2. 有关非授权用户,请参阅将已执行测试计划的结果文件上传到红帽客户门户。

已执行测试计划的测试结果文件将上传到红帽客户门户中。

6.10. 将测试结果文件上传到红帽认证工具

使用红帽认证工具向红帽认证团队提交已执行测试计划的测试结果文件。

先决条件

  • 您已从 Cockpit 或 HUT 下载测试结果文件。

流程

  1. 登录 红帽认证工具
  2. 在主页上,在搜索栏中输入产品问题单号。

    从显示的列表中选择问题单号。

  3. Summary 选项卡中,在 Files 部分下点 Upload

后续步骤

红帽回顾您提交的结果文件,并推荐后续步骤。有关更多信息,请访问红帽 认证工具

要进行 RHEL 硬件认证过程,请配置系统以运行认证测试。

7.1. 对于 RHEL 硬件认证

要使用 CLI 完成 RHEL 硬件认证流程,您必须在测试(HUT)和测试服务器下准备主机,运行测试并检索测试结果。

7.1.1. 使用测试计划准备测试的主机

运行 provision 命令执行很多操作,如设置与测试服务器的免密码 SSH 通信,基于认证类型安装所需的软件包,并创建要运行的最终测试计划,这是由红帽提供的测试计划以及发现系统要求时生成的测试列表。

例如,如果测试计划设计认证硬件或软件产品,则会安装所需的硬件或软件包。

先决条件

  • 您有测试服务器的主机名或 IP 地址。

流程

  1. 以任一方式运行 provision 命令。测试计划将自动下载到您的系统。

    • 如果您已经下载了测试计划:

      # rhcert-provision <path_to_test_plan_document>

      将 <path_to_test_plan_document> 替换为您系统上保存的测试计划文件。

      按照屏幕的说明进行操作。

    • 如果您还没有下载测试计划:

      # rhcert-provision

      按照屏幕说明进行操作,并在出现提示时输入您的 认证 ID

  2. 出现提示时,提供测试服务器的主机名或 IP 地址来设置免密码 SSH。只有在第一次添加新系统时,才会提示您。

7.1.2. 使用测试计划准备测试服务器进行测试

运行 Provision 命令启用并启动 rhcertd 服务,该服务配置测试服务器上的测试套件中指定的服务,如 iperf 用于网络测试,以及 kdump 测试中使用的 nfs 挂载点。

先决条件

  • 您有测试中的主机的主机名或 IP 地址。

流程

  1. 通过在您要添加的系统中定义角色"test server"来运行 provision 命令。

    这只在置备测试服务器时才需要。

    # rhcert-provision --role test-server <path_to_test_plan_document>

    将 <path_to_test_plan_document> 替换为您系统上保存的测试计划文件。

7.1.3. 使用 CLI 运行认证测试

流程

  1. 运行以下命令:

    # rhcert-run
  2. 提示时,选择是否通过输入 yesno 运行每个测试。

    您还可以通过键入,从列表中选择特定的测试。

注意

测试重启后,rhcert 会在后台运行,以验证镜像。使用 tail -f /var/log/rhcert/RedHatCertDaemon.log 来查看验证的当前进度和状态。

7.1.4. 提交测试结果文件

流程

  1. 登录以验证您的设备。

    注意

    登录必须提交测试结果文件。

    # rhcert-cli login
    1. 在新浏览器窗口或标签页中打开生成的 URL。
    2. 输入登录和密码,然后单击 登录
    3. Grant access

      显示设备日志成功消息。

    4. 返回到终端,输入 yesPlease confirm after grant access prompt。
  2. 提交结果文件。

    # rhcert-submit

    出现提示时,输入您的认证 ID。

7.2. 对于 RHEL AI 硬件认证

要进行 RHEL AI 硬件认证过程,请配置系统以运行认证测试。

先决条件

  • 您有测试中的主机的主机名或 IP 地址。

流程

  1. 运行命令

    rhcert-provision

    问题 - 您希望通过认证 ID 下载测试计划?,请输入 yes

  2. 出现提示时,输入您的认证 ID。您可以从之前创建的认证问题单中获取此 ID。

    验证后,测试套件会在 HUT 中发现受支持的测试。您可以查看所有支持的 RHEL AI 测试列表:

    1. ilab_inferencing
    2. ilab_validation
    3. self_check
    4. 支持
    5. sosreport
  3. 执行发现的测试。

    rhcert-run
  4. 提示时,选择是否通过输入 yesno 来运行所有还是每个测试。
  5. 使用以下任一步骤提交 RHEL AI 测试结果文件:

    1. 运行命令

      rhcert-submit
    2. 如果您的 HUT 没有互联网连接,请运行以下命令

      rhcert-cli save

      结果文件保存在默认位置。稍后使用红帽客户门户 上传。https://rhcert.connect.redhat.com/#/home

验证

您会收到有关结果文件提交的确认消息。为红帽认证团队审核提交结果文件。

第 8 章 认证工作流

8.1. 为之前认证的硬件添加认证

使用此流程为已经完成了早期 RHEL 版本的硬件认证流程的系统或组件创建新的认证请求,或者针对目前认证的系统或组件。

流程

  1. 登录红帽客户门户。
  2. New Certification
  3. 选择红帽产品、版本和平台进行认证。然后,单击 Next
  4. 从下拉列表中选择 vendor、make 和 name。然后,单击 Next

创建请求后,在请求创建官方测试计划时监控来自审核团队的问题的请求。

8.2. 在现有认证中更改功能或硬件

应用补充认证,向现有认证添加硬件或功能。

您可以为之前未通过认证的功能请求补充认证,因为它们没有测试,或者其测试失败。在认证额外功能后,红帽会将这些功能添加到认证目录中。

流程

  1. 登录红帽客户门户。
  2. 点现有硬件认证。

    注意

    您可能需要在默认的 90 天内调整弹出菜单中的查找周期。

  3. 单击 相关认证 选项卡,以查看现有的相关认证。
  4. Add Related Certification
  5. 在对话框中,选择 Supplemental 来创建新的补充认证。
  6. 查看显示认证详情的确认屏幕。如果正确,请点击 Create Case,否则点击 Back 以更改认证类型。
  7. 将创建新问题单并打开。
  8. 在新情况下,通过以下方法为测试计划提供详情:

    1. 使用要添加的组件信息附加文件。
    2. 添加一条注释,其中包含要添加的设备的信息。
  9. 运行认证测试。您不需要等待新的测试计划。

8.3. 使用现有规格文件创建系统直通证书

系统直通认证将创建认证系统的副本,并以不同的供应商名称、不同的形式或其他模型列出它。

当供应商将其系统销售给合作伙伴时,或当供应商销售两个或者多个系统(其中一个系统是另一个系统的超集)时,使用直通。

流程

  1. 登录红帽客户门户。
  2. 点已认证的现有硬件系统认证。
  3. 点相关认证
  4. 单击 Add Related Certification,然后选择 Pass-through
  5. 选择适当的产品:

    • 如果产品已创建,请选择它。
    • 如果产品不在列表中,请将其创建为新产品。
  6. 单击 New Certification 以创建新的直通认证。

红帽认证团队将审查硬件规格并发布新系统认证。如果原始和直通规格相同或没有区别,则团队将不需要额外的测试。如果他们识别任何差异,他们将与您联系以确定适当的步骤。团队发布新的认证后,合作伙伴可以将其引用为直通认证。

8.4. 创建并发布组件直通认证

组件直通认证本质上会创建认证组件的副本,在不同供应商名称、不同的形式或不同的模型下列出它。当系统供应商希望包含已由组件厂商认证的组件时,会使用这种直通方式,当一个组件供应商将其组件销售给一个第三方时,或供应商销售了两个或更多组件(一个系统是一个超集)。

流程

  1. 创建系统认证。请参阅 使用红帽客户门户网站创建新的认证问题单
  2. 选择 VendorMakeName单击新建产品 按钮。这将带您 选择 认证计划 网页。
  3. 选择 VendorProgram 作为 Hardware。点 Next 按钮。这将带您 定义红帽硬件认证供应商产品网页
  4. 填写所有相关详情。从 Category 下拉列表中,将类别选择为 Component/Peripheral

这会创建组件认证。Red Hat 认证团队认证并发布新创建的组件认证。证书经过认证并发布后,其他合作伙伴将变得公开,以将其称为通过组件。

8.4.1. 将现有组件认证复制到新条目中

流程

  1. 要复制组件认证,请访问 红帽认证 Web 用户界面,点认证的现有硬件系统认证。点 Certification 部分。在 Related Certification 选项卡中,进入 Pass through Certification 部分,点 New Certification 按钮。
  2. Vendor 字段中,选择您需要传递的产品的组件供应商。在 Make 字段中,选择需要通过的组件 Make。

    注意

    在这里,组件厂商和组件 Make 是执行步骤 1 到 4 创建和发布组件认证时生成的字段。

    如果原始组件规格和直通组件规格相同,则不需要额外的测试。如果发现差异,红帽认证团队将与您讨论应该考虑什么操作。

8.5. 在产品认证中添加缺少的数据

为确保准确且完成认证信息,请按照此简化流程在发布认证前添加缺少的属性。

步骤

  1. 登录红帽客户门户。
  2. 点现有硬件认证。
  3. Certification Status 部分中,点问号图标。Completion Requirements 通知标语显示有关缺失属性的信息。
  4. 点一个缺少的属性,您将被重定向到该证书的 Properties 选项卡。
  5. 可选:点合作伙伴产品 部分下的产品 并导航到 属性 选项卡。
  6. Properties 选项卡中,输入缺少的详细信息,如 详细信息说明短文描述合作伙伴产品徽标 或产品徽标,以及 系统类型

    注意

    只有在选择了产品类别为 System 时,系统类型选项才适用。

  7. System Types 列表中选择一个或多个系统类型。
  8. Enter url 字段中为不同的系统类型添加营销 URL。
  9. Update

验证

如果所有必需的数据都存在或更新,则问号图标将无法再看到。

认证完成并发布后,更新的产品数据以及系统类型将在 红帽生态系统目录 上提供。

注意

所有标有星号 * 的字段都是必需的,必须在发布认证前完成。

8.6. 认证 64k 内核

64k 页大小内核是 ARM 平台上大型数据集的一个有用的选项。它适用于内存密集型工作负载,因为它在整体系统性能方面有显著提升,特别是在大型数据库、HPC 和高网络性能方面。

从 RHEL 9.2 开始,ARM 架构使用 64k 页面大小内核作为可选,4k 内核默认使用 4k 内核。要认证 64k 页面大小内核,您需要首先使用默认 4k 内核完成 RHEL 9 认证,然后您可以使用 64k 内核进行第二个认证。成功完成第二个认证后,将把一个 知识库文章 附加到 4k 大小内核认证中,指示对 64k 页大小的支持,其中包含如何使用 64k 内核的说明。

注意

您必须创建一个附件认证来认证 64k 内核。

8.7. 在测试执行过程中下载客户机镜像

步骤

  1. 验证 guest 镜像是否在系统中本地可用。如果是,则测试执行将启动。
  2. 如果 guest 镜像在本地不可用,测试将尝试从预先配置的测试服务器下载它们。
  3. 如果本地可用性和测试服务器下载失败,测试将与 CWE API 建立连接,以获取 AWS 的预签名 S3 URL。然后,客户端镜像将使用提供的 URL 从 AWS 下载。
  4. 如果从 AWS 下载也遇到了问题,测试将使用 CWE API 直接流并下载客户机镜像。
  5. 如果之前所有尝试获取客户机镜像都失败,则整个测试都会标记为 FAIL。

    注意

    以上步骤适用于 rhcert 版本 8.66 及更新的版本。

如果 FV 镜像下载在测试运行过程中失败,请按照以下步骤执行:

  1. 从红帽客户门户下载文件
  2. 下载文件后,将它们移到测试之下的主机上的 /var/lib/libvirt/images 目录中。
  3. 要手动提取文件,请使用命令 tar xmvfj <tarred file name>
  4. 提取文件后,使用 mv <extracted file> <image file name> 命令 重命名该文件。例如 - mv hwcertData-20211116.img hwcertData.img

    如需文件名,请参考下表:

    Expand

    tarred 文件名

    镜像文件名

    hwcertData.img.tar.bz2

    hwcertData.img

    hwcert-x86_64.img.tar.bz2

    hwcert-x86_64.img

    rhel-kvm-rt-image.qcow2.tar.bz2

    rhel-kvm-rt-image.qcow2

第 9 章 层次产品认证

9.1. 认证分层产品

层次产品认证是已认证 RHEL 的系统的其他认证。

您可以通过两种方式创建分层产品认证:

9.1.1. 自动生成层次认证

只有硬件认证状态认证后,才能自动生成分层 认证。红帽认证团队提出了硬件认证 公共,以便在红帽客户门户上列出

流程

执行以下步骤自动生成层次认证:

  1. 登录红帽客户门户。
  2. 单击必须经过认证并公开的硬件认证。
  3. 单击 Dialog 选项卡。
  4. New Comment 文本框中,输入红帽认证团队的评论以认证并公开认证。
  5. Add Comment 按钮。

在为请求的硬件认证添加评论后,红帽认证团队会认证并公开证书。认证和认证并公开后,您将收到一封电子邮件。

您可以在红帽客户门户上看到新的自动创建层次 认证。如果没有,请单击 Refresh 按钮,新的认证应下载。

9.1.2. 手动创建分层认证

如果硬件认证具有常规的分类,则可以手动创建分层认证。

注意
  • 所有常规硬件认证都不支持分层认证。
  • 在发布分层认证前,应发布基本认证。

流程

执行以下步骤手动创建层次认证:

  1. 在红帽客户门户上,单击红帽认证 团队认证的常规硬件认证。
  2. 点相关 认证 选项卡。
  3. 单击 Add Related Certification,然后从 认证类型 中选择 Layered
  4. Red Hat Product Version 下拉菜单中选择 Certification Type 和 Product Version,然后单击 Next
  5. 查看认证信息并点 Open

Red Hat Certification Portal 中创建了新的认证,您会被重定向到新创建的认证页面。

第 10 章 使用

利用是重复使用认证系统中的测试结果,覆盖在新认证请求中测试相同的硬件。它只能用于某些可选项目,这些项目必须相同。对于新模型组件,您不能使用测试结果,无论其与旧模型类似,项目都必须完全匹配。此外,利用 只能用于测试 您的机构或其代理 已执行的测试。

10.1. 从同一供应商的系统认证中利用的规则

以下是在同一个供应商的情况下,在利用系统或组件认证时应注意的准则:

  1. 组件必须相同。
  2. 生成的结果必须来自相同架构的硬件。
  3. 系统利用组件结果必须认证相同的主要版本。
  4. 无法从系统认证中进行跨供应商利用。

例如,

  • ACME Computers 可以利用从其任何组件传递测试结果,以覆盖另一个 Acme 系统的同一项

但是,

  • ACME Computers 无法引用 Cloverleaf Industries 执行的认证测试结果

10.2. 使用不同供应商的系统认证规则

  1. 在组件制造商使用 Vendor, Make, and Model information of the components, Make, and Model information of the component 来创建通过原始认证的情况,应考虑以下准则:

    1. Advanced 选项卡中,选择 Create using Pass- via the original Certification,就像系统直通认证一样
    2. 如果许多经销商使用同一组件,则组件制造商应为每个经销商创建一个直通
    3. 如果经销商将多个名称用于同一卡,则组件制造商应为每个名称创建一个直通
  2. 在红帽认证团队确认所使用的硬件相同,并且通过规格文件文档完成直通认证后,认证将发布或取消发布。
  3. 经销商应在包含此硬件的系统认证请求的相应 Leverage 字段中使用其 通过认证 ID 的认证 ID。

10.3. 生成测试结果 ID 以利用系统认证

以下是从系统认证中生成测试结果 ID 的步骤。

流程

  1. 从红帽认证 Web 用户界面创建源硬件产品和认证。
  2. 要从 红帽认证 Web 用户界面将组件添加到新创建的认证 中,请点击认证的硬件证书。点 Product 部分,点 Product Details 选项卡。
  3. Attachments 部分中,单击 Choose File 按钮,以上传规格文件。规范文件由需要添加的组件组成。
  4. 选择 是此规范 复选框,然后在 Attachment Description 文本框中添加一个简短备注。例如:"这是一个 spec.file"。
  5. 红帽认证 Web 用户界面,点认证的硬件证书。点 认证 部分。在 Progress 选项卡中,您会看到测试计划会根据组件生成。

    Red Hat 认证团队审核并添加规格文件中提到的组件,稍后会为添加的组件创建测试计划。

  6. 单击 Run 按钮,为表中显示的组件运行测试。这将带您进入 Testing 选项卡。
  7. 单击 Add Test System。这将进入 Select Host 网页。
  8. 选择您要运行测试的主机,然后点 Test 按钮。
  9. Testing 选项卡中,单击 Continue Testing 按钮,这将生成组件列表。
  10. 选择您要运行测试的组件,然后单击 Run Selected 按钮。
  11. 完成测试运行后,您会收到消息 Finished test run
  12. 单击测试,运行测试的组件会将结果为 PASS。要将测试结果提交到红帽认证团队,请从 Actions 字段从下拉列表中选择 Submit。这将把您进入 Submitting File 网页。
  13. 单击 Submit 按钮。

    红帽认证团队批准测试结果。批准的 测试结果生成与组件关联的测试结果 id

  14. 红帽认证 Web 用户界面,单击 认证的硬件 证书。点 认证 部分。在 Progress 选项卡中,您将看到 Test Plan credit 作为 ConfirmedTest Result 列将显示生成的 Test Result ID

10.4. 从现有组件中利用

如果要使用同一组件创建新认证,您可以以两种方式利用该组件:

流程

  1. 通过复制结果 ID 来利用

    请参阅从系统认证中生成测试结果 ID

    Red Hat 认证团队批准了组件,以便利用规格文件中所述的组件。

    1. 红帽认证 Web 用户界面中,点 认证的硬件 证书以及您将利用的测试结果 ID。点 认证 部分。在 Progress 选项卡中,进入 Test Result 列,显示您要利用的组件生成的 Test Result ID。选择 ID 来复制测试结果 id。
    2. 如果成功复制 ID,您将收到 "Copied Leverage Information from System Certification<the_component_name>" 信息。
    3. Red Hat Certification Web 用户界面中,点您要添加 leverage 组件的硬件证书。
    4. 认证 部分。在 Progress 选项卡中,进入 Test Result 列,然后点击 Test Result ID 以应用复制的 Test Result ID。

      如果成功应用利用 ID,您将收到消息 "成功应用系统测试"。

  2. 使用结果 ID 或认证 ID

    1. Certification 部分。在 Progress 选项卡中,进入 Test Result ID 列,然后点击 Leverage Result
    2. Leverage Result 窗口中,使用下拉菜单选择 Result IDCertification ID from Leverage。

      注意

      使用 Result ID 来利用测试结果 ID,并选择 认证 ID 来使用直通证书。

    3. 输入 Leverage ID 并点 Submit

      如果 Leveraging 成功,您将收到一条成功消息,如果提交 ID 出错,则会显示失败消息。

第 11 章 查看测试结果和完成认证

11.1. 红帽回顾测试结果

提交结果后,审核团队将针对属于测试计划的每个测试分析其内容和奖励。

在验证每个通过测试时,团队会将每个测试计划项设置为 Confirmed on the认证站点的测试计划,您可以在目录的 Results 选项卡中看到。这样一来,您可以看到测试未完成并且已验证为通过。

如果发现任何问题,审核团队将通过一个问题更新认证请求,该请求将自动通过电子邮件发送给提交证书的个人。

您可以在认证的 Dialog 选项卡中看到所有讨论,并响应或询问任何问题。

11.2. 完成认证

在红帽确认测试计划中的所有项目都已通过后,即可完成认证。此时,您可以选择是否关闭并发布认证或关闭认证,并使认证未发布。

补充认证始终保持未发布。如果您不想公告认证状态或系统或组件的存在,则系统和组件认证可以取消发布。

您与 Red Hat review 团队之间的系统信息以及您与 Red Hat review 团队之间的讨论在公布的认证中不可见。

如果这些发布选项不满足您的要求,请在认证被打开时提交异常请求,或者如果已经关闭了问题单。

附录 A. 硬件认证测试

在本节中,我们将提供有关每个测试硬件认证的更多详细信息。每个 test 部分使用以下格式:

测试涵盖的内容

本节列出了此特定测试运行的硬件类型。

支持的 RHEL 版本

本节列出了支持测试的 RHEL 版本。

测试的作用

本节介绍测试脚本的作用。请记住,所有测试都是 python 脚本,可以在目录 /usr/lib/python2.7/site-packages/rhcert/suites/hwcert/tests 中查看,如果您希望准确知道我们在测试中执行哪些命令。

准备测试

本节讨论为测试准备所需的步骤。例如,它讨论了手动上有 USB 设备的 USB 设备,用于重写光盘驱动器测试。

执行测试

本节标识测试是交互式还是非交互式的,并解释了运行测试所需的命令。

您可以选择运行测试的方法:

  • 按照使用 CLI 运行认证测试 来运行测试。使用以下命令,从显示的列表中选择适当的测试名称:

     rhcert-run
  • 如果在规划过程中出现硬件检测问题或其他与硬件相关的问题,请参阅手动添加和运行测试。通过指定所需的测试名称来运行 rhcert-cli 命令。

     rhcert-cli run --test=<test name>

运行时间

本节介绍此测试运行所需的时间。每个部分都提到了受支持的测试的时间信息,因为它是测试套件每次运行所需的测试。

A.1. 硬件认证强制测试

以下测试是为 RHEL 和 RHEL AI 硬件认证执行的:

A.1.1. self_check test

测试涵盖的内容

自我检查 测试确认认证所需的所有软件包都已安装并取消了,确保测试环境已准备好认证。对于测试或任何其他目的,不得修改认证软件包。

测试的作用

测试有几个执行以下任务的子测试:

  • 检查有效的认证软件包
  • 验证认证 rpm 文件的完整性,并突出显示更改(若有)

执行测试

当您运行测试套件时,rhcert 工具会在每次运行时自动运行 self_check 测试。self_check 测试在任何其他测试之前运行。

您必须将 self_check 测试的输出添加为测试套件日志的一部分。如果没有,红帽将拒绝不包含 self_check 测试输出的测试日志。

如果需要,使用以下命令手动运行测试:

$ rhcert-cli run --test self_check

运行时间

self_check 测试需要大约 1 分钟才能执行,只要您没有修改任何认证文件。

成功标准

测试环境包括所有必要的认证软件包,且认证文件尚未修改。

A.1.2. 支持测试

测试涵盖的内容

可支持 测试收集测试下主机的基本信息(HUT)。红帽使用这些信息来验证系统是否符合认证要求。

测试的作用

测试有几个执行以下任务的子测试:

  1. 确认 /proc/sys/kernel/tainted 文件包含一个零(0),这表示内核没有污点。
  2. 使用 rpm -V 命令确认软件包验证显示没有修改文件。
  3. 确认 rpm -qa kernel 命令显示内核软件包的 buildhost 是 Red Hat 服务器。
  4. 记录 /proc/cmdline 文件中的引导参数。
  5. 确认 'rpm -V redhat-certification' 命令显示没有对任何认证测试套件文件进行修改。
  6. 使用 rpm -ql kernel 命令确认 lsmod 命令显示的所有模块都显示在内核文件中列表中。
  7. 确认所有模块都位于内核应用程序二进制接口(kABI) stablelist 中。
  8. 确认模块 vendor 和 buildhost 是适当的红帽条目。
  9. 确认内核是红帽次版本的 GA 内核。

    子测试尝试使用 redhat-certification 软件包中的数据验证内核。如果内核不存在,则子测试会尝试使用互联网连接验证内核。

    要使用互联网连接验证内核,您必须将 HUT 的路由和 DNS 解析配置为访问互联网,或者设置 ftp_proxy=http://proxy.domain:80 环境变量。

  10. 检查内核报告的已知硬件漏洞。subtest 读取 /sys/devices/system/cpu/vulnerabilities/ 目录中的文件,并在文件包含"Vulnerable"一词时退出。
  11. 通过检查 lscpu 命令的输出来确认系统是否有离线 CPU。
  12. 确认系统中的 Simultaneous Multithreading (SMT)是否可用、启用并激活。
  13. 检查运行 RHEL 8 或更高版本的系统中是否有未维护的硬件或驱动程序。

    不维护的硬件和驱动程序不再在常规基础上进行测试或更新。红帽可能会修复严重的问题,包括安全问题,但您不能以任何计划节奏进行更新。

    尽快替换或删除未维护的硬件或驱动程序。

  14. 检查运行 RHEL 8 或更高版本的系统中是否已弃用的硬件或驱动程序。

    弃用的硬件和驱动程序仍然经过测试和维护,但它们计划在以后的发行版本中变为不维护并最终禁用。

    尽快替换或删除已弃用的设备或硬件。

  15. 检查运行 RHEL 8 或更高版本的系统中是否存在禁用的硬件。

    RHEL 无法使用禁用的硬件。在再次运行测试前,替换或从系统中删除禁用的硬件。

  16. 在软件包 RPM 软件包中运行以下检查:

    • 检查 RPM 构建主机信息以隔离非红帽软件包。

      该测试将要求您解释包括非红帽软件包的原因。红帽将检查原因,并单独批准或拒绝每个软件包。

    • 检查安装的 RPM 软件包是否来自产品中提供的红帽产品,且尚未修改。

      红帽查看 rpm_verification_report.log 文件中的验证失败。您需要重新安装失败的软件包并重新运行测试。

  17. 检查系统中是否存在红帽和非红帽固件文件。它列出了非红帽文件(如果存在),然后以 REVIEW 状态退出。
  18. 通过 getconf PAGESIZE 命令检查系统的页面大小。
  19. 对于 RHEL AI 认证,可支持的测试会执行一个额外的测试,该测试会捕获 HUT 的以下详情:

    1. OS 版本
    2. 系统中 AI 加速器的总数
    3. 已载入的驱动程序模块列表。

执行这些任务后,测试将收集 sosreportdmidecode 命令的输出。

执行测试

rhcert 工具作为测试套件运行每个运行的一部分自动运行 可支持 测试。支持 测试在任何其他测试之前运行。

测试支持性 测试 的输出需要作为测试套件日志的一部分。红帽将拒绝不包含支持测试输出的 测试日志

如果需要,使用以下命令手动运行测试:

$ rhcert-cli run --test supportable

运行时间

支持 测试在 2013-era、单个 CPU、3.3GHz、6 核或 12-thread Intel 工作站上有 8 GB RAM 运行 Red Hat Enterprise Linux 6.4、AMD64 和 Intel 64 (本指南中为 Kickstart 文件)需要大约 1 分钟。根据计算机的速度和安装的 RPM 文件数量,时间会有所不同。

A.1.3. sosreport 测试

测试涵盖的内容

Sosreport 测试连接到 HUT,并收集关于系统硬件和配置的信息,以便在需要时进行进一步分析。

测试的作用

sos 测试从 HUT 收集配置和诊断信息,以协助客户对系统进行故障排除及以下建议做法。系统报告子测试可确保 sos 工具在镜像或系统上按预期工作,并捕获基本的 sosreport。

sos_reports/manifest.json 文件包含节点主机名和由此测试运行的命令的详细信息。

执行测试

此测试是非交互式的。

运行时间

这是一个自动测试,可能需要几分钟来完成。

A.2. RHEL 硬件认证测试

以下测试是为 RHEL 硬件认证执行的:

A.2.1. ACPI 键

测试涵盖的内容

ACPI 密钥 测试从系统集成的键盘中捕获各种输入事件。

支持的 RHEL 版本

  • RHEL 8.6 及更新的版本
  • RHEL 9
  • RHEL 10

测试的作用

测试捕获以下内容:

  • 与 ACPI 相关的信号,如 power、suspend 和 sleep。
  • 发送与全局键盘快捷键(如 < Meta+E& gt; )关联的信号的键按可打开文件浏览器。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 ACPI 密钥 测试名称。

 rhcert-run

此测试需要捕获所有输入事件。在测试过程中,按该设备上的所有非标准和多媒体键。

随时按 Escape 键 结束测试,并查看一个键列表。如果您测试的所有密钥出现在列表中,则测试成功。

运行时间

完成测试需要不到 5 分钟。任何其它强制或选定测试都将添加到整个运行时间。

A.2.2. audio

测试涵盖的内容

可移动介质声音卡和集成的声音设备通过 音频 测试进行测试。当硬件检测例程在 udev 数据库中找到以下字符串时,会调度测试:

E: SUBSYSTEM=sound
E: SOUND_INITIALIZED=1

您可以在文件的 udevadm info --export-db 的输出中看到这些字符串和触发其他测试调度的字符串。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试在同时将其记录回一个文件时,会播放一个预先录制的声音(guitar chords 或记录的语音),然后会回录录像并询问您是否听起来听起来。

准备测试

在开始测试运行前,您应该确保调度音频测试,并且系统可以播放并记录声音。如果在已安装的音频设备上没有显示测试,请联系红帽支持联系人以获得进一步的帮助。如果正确调度测试,请继续了解如何手动测试并记录您声音设备的功能。

通过内置的发言人或发言人/技术电话插入头手机/线路 jack,可以在测试前确认回应:

  1. Settings 应用程序中,点 Sound 选项。
  2. 单击 Output 选项卡,选择要测试的声音卡,并将 Output 卷 调整为适当的级别。
  3. 单击 Test InventoryServices
  4. unmarshal Testing 弹出窗口中,单击 Test 按钮来生成声音。

如果没有声音,请确保将发言人插入到正确的端口。您可以使用任何线出或头电话 jack (我们不需要使用哪个端口)。验证声音并非复用,并尝试调整发言人和操作系统本身上的卷。

如果音频设备具有记录功能,则应在尝试运行测试前测试它们。将微手机插入系统上的一行或 Mic jacks,或者如果您测试笔记本,您可以使用内置的微手机。此外,我们不要求您使用特定的输入 jack;只要该输入可以正常工作,测试将会通过。

  1. Settings 应用程序中,点 Sound 选项。
  2. 单击 Input 选项卡,选择适当的输入设备,并将 Input 卷 调整为 100%。
  3. 发言到 tap,或者激活输入设备,并观察 输入级别 图形。如果您看到它移动,则会正确设置输入设备。如果没有移动,请尝试另一个输入选择或微手机端口将输入设备插入到其中。

如果您无法听说声音或看到输入级别显示移动,请联络您的支持人员,因为这会导致音频测试失败。如果您能够成功播放声音,并在到达微手机附近的声音时看到输入级别的移动,请继续下一小节以了解如何运行测试。

执行测试

音频测试是交互式的。在执行包含音频测试的测试运行前,请连接您用于手动测试的微手机,并将其放置在发言人的前面,或者确保内置的微手机没有义务。或者,如果您在一个 noisy 环境中进行测试,您可以将行 jack 直接连接到 mic/line-in jack。

运行以下命令,然后从显示的列表中选择 适当的 Audio 测试名称。

 rhcert-run

交互式步骤如下:

  1. 系统将扮演声音,询问您是否听到它们。根据情况回答 yn。如果您决定在输出和输入与发言人之间使用直接连接,那么您需要为回答选择 y,无论您的发言人将绕过补丁电缆。
  2. 系统将回放其记录的 文件。如果您听到声音,在提示时回答 y。否则,回答 n

运行时间

音频测试同时回放和记录需要不到 1 分钟,然后是记录的声音的回放。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.3. backlight

测试涵盖的内容

当检测到系统中附加的显示以及软件后端控制的支持可用时,会运行后端测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试通过调整所附加显示器的显示亮度,确保后端控制可以按预期工作,然后是最大值。

准备测试

  • 确保测试中的主机正在运行 RHEL 8.0 或更高版本。
  • 确保系统具有 backlight 支持,并且显示已连接到系统。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择 适当的 backlight 测试名称。

 rhcert-run

显示亮度将从最大到最小和最大变化。在您确认显示亮度已如预期更改后,测试将会通过。

运行时间

此测试运行时间少于一分钟。任何其它强制或选定测试都将添加到整个运行时间。

A.2.4. 电池

测试涵盖的内容

电池 测试有效,只能在具有内置电池的系统上运行。在不为系统提供主要、内部电源(如 UPS 或 BIOS 电池)的外部电池上不支持测试。当硬件检测例程在 udev 数据库中找到以下字符串时,会调度测试:

POWER_SUPPLY_TYPE=Battery

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试会检测电池是否已连接,AC 适配器将插入到系统中,以及电池和计费状态。

准备测试

注意

当电池为 100% 收费时,不要执行测试。在执行测试前,将电池变换为较低级别,以避免潜在的测试失败。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 电池 测试名称。

 rhcert-run

该测试会检测 10 mWh 电池收费和计费、显示当前容量以及电池状态。在提示时,按照屏幕说明拔出和插入 AC 适配器。

运行时间

测试的执行时间取决于电池和收费速度。由于此测试在笔记本电脑上运行,因此所需的 可支持 测试将与其 暂停 测试一起运行。总体而言,需要 7 到 10 分钟。

A.2.5. 蓝牙

测试涵盖的内容

具有 bluetooth v3、v4 或 v5 控制器的系统上支持 bluetooth 测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试使用 rfkill 命令检查系统中 bluetooth 控制器的可用性。然后,它运行 hciconfigbtmgmt 命令来获取 bluetooth 控制器版本。之后,测试会验证控制器是否可以使用 bluetoothctl 命令工具扫描、发现、选择和信任另一个所选的 bluetooth v3、v4 或 v5 设备。如果 HUT 有多个 bluetooth 控制器,则每个 bluetooth 控制器会自动规划 bluetooth 测试。

准备测试

在开始测试前,请确保:

  • 有支持与控制器相同的或更新版本的设备。
  • 在 HUT 和对设备上启用蓝牙。
  • 使用设置应用手动对设备进行对,以确认连接。
  • 取消修复设备。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 bluetooth 测试名称。

 rhcert-run

然后,选择要为其测试 bluetooth 功能的设备。

运行时间

完成测试需要大约 5 分钟时间。但是,根据 bluetooth 网络连接,时间可能会有所不同。

A.2.6. Bluray

测试涵盖的内容

Bluray 测试在以下介质和相关驱动器类型中运行:

  • 只读介质和驱动器(BD-ROM)
  • 写概念介质和驱动器(BD-R)
  • 重写介质和驱动器(BD-RE)

根据 udev 命令的信息,测试套件决定哪个光驱测试(Blu-ray、DVD 或 CD-ROM)以调度以及要测试的介质类型(只读、可写入和重写)。例如,测试套件将规划对带有可读取 DVD 和 CD-ROM 磁盘的 Blu-ray 驱动器的以下测试:

  • Blu-ray 介质的重写(erase、写和读取)测试
  • DVD 介质的读测试
  • CD-ROM 介质读取测试

您只需要为给定驱动器运行一次 Bluray 测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试会根据驱动器的功能执行以下任务:

  • 只读驱动器 - 首先从磁盘读取数据并将其复制到硬盘中。然后,它会将磁盘上的数据与硬盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 具有写入功能 的驱动器 - 首先从硬盘读取数据并将其写入可写入空白磁盘。然后,它会将硬盘上的数据与磁盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 带有重写功能 的驱动器 - 首先,它会从重写磁盘中删除所有信息。然后,它会从硬盘读取数据并将其写入可重写磁盘。最后,它会将硬盘上的数据与磁盘上的副本进行比较。如果删除操作成功,且所有文件校验和都匹配,则测试会传递。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 Bluray 测试名称。

 rhcert-run

按照屏幕上的说明插入适当的介质,并在适当时关闭驱动器的托盘。

运行时间

Bluray 测试的运行时间取决于介质和驱动器的速度。对于 2x 25G BD-RE 磁盘,测试将在大约 14 分钟内完成。

A.2.7. CD ROM

测试涵盖的内容

CD ROM 测试在以下介质和相关驱动器类型中运行:

  • 只读介质和驱动器(CD-ROM)
  • 写概念介质和驱动器(CD-R)
  • 重写介质和驱动器(CD-RW)

根据 udev 命令的信息,测试套件决定哪个光驱测试(Blu-ray、DVD 或 CD-ROM)以调度以及要测试的介质类型(只读、可写入和重写)。例如,测试套件将规划对带有可读取 DVD 和 CD-ROM 磁盘的 Blu-ray 驱动器的以下测试:

  • Blu-ray 介质的重写(erase、写和读取)测试
  • DVD 介质的读测试
  • CD-ROM 介质读取测试

您只需要为给定驱动器运行 CD ROM 测试一次。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试会根据驱动器的功能执行以下任务:

  • 只读驱动器 - 首先从磁盘读取数据并将其复制到硬盘中。然后,它会将磁盘上的数据与硬盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 具有写入功能 的驱动器 - 首先从硬盘读取数据并将其写入可写入空白磁盘。然后,它会将硬盘上的数据与磁盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 带有重写功能 的驱动器 - 首先,它会从重写磁盘中删除所有信息。然后,它会从硬盘读取数据并将其写入可重写磁盘。最后,它会将硬盘上的数据与磁盘上的副本进行比较。如果删除操作成功,且所有文件校验和都匹配,则测试会传递。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 CD ROM 测试名称。

 rhcert-run

按照屏幕上的说明插入适当的介质,并在适当时关闭驱动器的托盘。

运行时间

CD ROM 测试的运行时间取决于介质和驱动器的速度。对于 12x 714MB CD-RW 磁盘,测试将在大约 7 分钟内完成。

A.2.8. cellular 4G 测试

测试涵盖的内容

单元 4G 测试在 HUT 上运行用于移动通信(GSM) 4G 连接测试的全局系统。

该测试会检查 HUT 上是否有 4G GSM modem。如果检测到 GSM 连接接口,它会使用 GSM 接口初始化并建立临时单元 4G 网络连接。建立连接后,测试将运行单元 4G 连接测试以验证连接并报告其状态。

支持的 RHEL 版本

  • RHEL 9
  • RHEL 10

测试的作用

测试执行以下操作:

  1. 重启服务

    1. 确保 ModemManagerNetworkManager 服务正在运行或已启用。
  2. 重新启用 USB 设备

    1. 临时禁用或启用 USB 设备,以便 modem 可以重新初始化。

      注意

      此测试只重新启用 USB 设备。

  3. 检测 GSM 设备

    1. 使用 nmcli 命令检查 GSM 4G modem 是否可用。

      注意

      最大重试限制为 100s。

  4. 启用 GSM 连接。

    1. 删除旧的 GSM 配置,通过运行命令 nmcli add gsm 来创建新的连接,并激活新连接。
  5. 测试 GSM 连接

    1. 找到 modem 接口,例如 wwan0
    2. 运行 ping (ping -I <device> google.com)。
    3. 如果成功,它会删除测试连接。

准备测试

HUT 必须有一个 GSM 网络接口。

注意

如果您的 HUT 存在于美国,则必须在运行测试前配置 Fcclock 工具

执行测试

测试是非交互式的,只需要您计划并运行测试。运行以下命令,然后从显示的列表中选择适当的 Cellular 4G 测试:

$ rhcert-run

运行时间

完成测试需要不到 5 分钟。任何其它强制或选定测试都将添加到整个运行时间。

A.2.9. Core

测试涵盖的内容

核心 测试会检查系统的 CPU,并确保它们能够在负载下正常工作。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

核心 测试实际上由两个独立的例程组成。第一个测试旨在检测时钟 jitter。jitter 是一个当系统时钟相互同步时发生的情况。系统时钟与 CPU 时钟速度不同,这只是引用 CPU 操作的速度的另一种方法。jitter 测试使用 getimeofday () 函数来获取每个逻辑 CPU 观察到的时间,然后分析返回的值。如果所有 CPU 时钟都在彼此的 .2 纳秒内,则测试会经过。jitter 测试的容错性非常紧张。为了获得良好的结果,务必要确保 rhcert 测试是执行测试时在系统上运行的唯一负载。出现的任何其他计算负载可能会干扰时间,并导致测试失败。jitter 测试还检查内核正在使用的时钟源。如果 Intel 处理器没有使用 TSC,它将在日志中打印警告信息,但这不会影响测试的 PASS/FAIL 状态。

第二个常规程序在核心测试中运行是 CPU 负载测试。这是必要的 压力包提供的测试。如果您正在寻求测试系统的方法,可以在 rhcert 套件外启动多个同时活动,然后监控任何故障。具体来说,它指示每个逻辑 CPU 计算方括号,它会分别使用 malloc ()free () 例程保留和释放内存,从而使系统面临内存压力,并通过调用 sync () 来强制写入磁盘。这些活动持续 10 分钟,如果该时间段内没有失败,测试就会通过。如果您在硬件认证测试之外使用它,请参阅 压力 手册页。

准备测试

唯一的准备核心测试是安装满足策略指南中规定要求的 CPU。

执行测试

核心测试是非交互式的。运行以下命令,然后从显示列表中选择适当的 Core 测试名称。

 rhcert-run

运行时间,裸机

内核测试本身需要大约 12 分钟才能在裸机系统上运行。测试的 jitter 部分需要一两分钟,stress 部分则运行完全 10 分钟。所需的 可支持 测试将大约一分钟添加到整个运行时间。

运行时间,全virt 客户机

fv_core 测试的时间比裸机版本(大约 14 分钟)在 KVM 客户机中运行。添加的时间是因为客户机启动/关闭活动以及客户机中运行的必需支持测试。裸机 系统上 所需的支持测试将大约一分钟添加到整体运行时间。

A.2.10. CPU 扩展

测试涵盖的内容

cpuscaling 测试检查了 CPU 能够根据在其上放置的计算需求增加和减少其时钟速度。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试使用不同的扩展管理器(告诉 CPU 何时更改为更高或较低的时钟速度以及完成标准化工作负载所需的时间)时,对 CPU 执行不同频率进行练习。当硬件检测例程在 /sys 中发现以下目录时,会调度测试,其中包含多个 cpu 频率:

/sys/devices/system/cpu/cpuX/cpufreq

cpuscaling 测试为每个软件包调度一次,而不是为每个逻辑 CPU 列出一次。当测试运行时,它将通过 /sys/devices/system/cpu/cpuX/topology/physical_package_id 确定拓扑,并为特定软件包中的所有逻辑 CPU 并行运行测试。

测试首先运行 turbostat 命令来收集处理器统计信息。在支持的构架中,turbostat 检查 turbostat 输出文件中是否可以看到提前统计列,但如果该文件不包含列,则返回警告。然后,测试会尝试执行 cstate subtest,如果失败,执行 pstate subtest。

每个 CPU 软件包的测试步骤如下:

测试使用 sysfs 文件系统中找到的值来确定最大和最小 CPU 频率。您可以使用以下命令为任何系统看到这些值:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

此处显示至少有两个频率:最大值和最小值,但有些处理器可以更精细的 CPU 速度控制,并将在文件中显示两个值。在测试期间,最大和分钟之间的任何其他 CPU 速度都不特别使用,尽管它们可能用作 max 和 min frequencies 之间的 CPU 转换。测试过程如下:

  1. 测试记录了文件 /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 中的最大和最小处理器速度。
  2. 选择了 userspace governor,并选择最大频率。
  3. 通过读取所有处理器的 /sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq 值来确认最大速度。如果这个值与所选频率不匹配,测试将报告失败。
  4. 软件包中的每个处理器都会被同时计算 pi 到 2x10^12 数字的任务。选择了 pi 计算的值,因为它需要一定的时间才能完成(大约 30 秒)。
  5. 为每个 CPU 记录计算 pi 所需的时间,并为软件包计算平均值。
  6. 选择了 userspace governor,并设置了最小速度。
  7. sysfs 数据确认最小速度,如果任何 CPU 不在请求的速度,则会出现失败。
  8. 相同的 pi 计算由软件包中的每个处理器以及记录的结果执行。
  9. 选择了 ondemand governor,这会根据工作负载在最小和最大速度之间限制 CPU。
  10. sysfs 数据确认最小速度,如果任何 CPU 不在请求的速度,则会出现失败。
  11. 相同的 pi 计算由软件包中的每个处理器以及记录的结果执行。
  12. 选择 performance governor,它会强制 CPU 始终最大速度。
  13. sysfs 数据确认最大速度,如果任何 CPU 不在请求的速度,则会出现失败。
  14. 相同的 pi 计算由每个处理器处理器和记录的结果执行。

现在,分析会在三个小节上执行。在第 8 步,我们获得最大和最小 CPU 速度的 pi 计算时间。计算两个速度所需时间的差别应与 CPU 速度的成比例成比例。例如,如果假设测试系统的最大频率为 2GHz,最小为 1GHz,并且需要 30 秒系统以最大速度运行 pi 计算,我们预计系统在最小速度上需要 60 秒时间来计算 pi。我们知道,因为无法获得最佳结果的原因,因此我们允许在结果上实现 10% 边缘错误(比预期要慢)。在我们的假设示例中,这意味着,最小速度运行可能需要 54 和 66 秒之间,并且仍然被视为通过测试(90% 60 = 54 和 110% 60 = 666)。

在 eleven 的步骤中,我们使用 ondemand governor 测试 pi 计算时间。这将确认系统在工作结束时可以快速将 CPU 速度增加到最大。我们采取了第 5 步获得的计算时间,并将其与在步骤 5 步中获取的最大速度计算时间进行比较。传递测试具有这两个值,它们没有超过 10%。

在通过 4teen 的步骤中,我们使用 performance 调控器测试 pi 计算。这确认系统可以随时以最大频率保存 CPU。我们在第 14 步中获取的 pi 计算时间,并将其与在步骤 5 步中获取的最大速度计算时间进行比较。同样,传递测试的这两个值与没有超过 10% 的值不同。

当带有 TurboBoost 功能的 Intel 处理器被 /proc/cpuinfo 中存在 ida CPU 标志时,会检测到 cpuscaling 测试的额外部分。此测试在每个软件包中选择一个 CPU,省略 CPU0 用于内务处理目的,并使用 ondemand governor 的最大速度来测量性能。当软件包中的所有内核并行测试时,它预期会比之前的测试速度低 5%。

准备测试

要准备测试,请确保在 BIOS 中启用了 CPU 频率扩展,并确保安装了满足策略指南中描述的要求的 CPU。

执行测试

cpuscaling 测试不是非交互的。运行以下命令,然后从显示的列表中选择适当的 CPU 扩展 测试名称。

 rhcert-run

运行时间

cpuscaling 测试大约需要 42 分钟用于 2013-era、单个 CPU、6 核/12-thread 3.3GHz Intel 的工作站,运行 Red Hat Enterprise Linux 6.4、AMD64 和 Intel 64。内核数量较高的系统以及更多填充的插槽将需要更长的时间。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.11. DVD

测试涵盖的内容

DVD 测试在以下介质和相关驱动器类型中运行:

  • 只读介质和驱动器(DVD-ROM)
  • 写进介质和驱动器(DVD+R 和 DVD-R)
  • 重写介质和驱动器(DVD+RW 和 DVD-RW)

根据 udev 命令的信息,测试套件决定哪个光驱测试(Blu-ray、DVD 或 CD-ROM)以调度以及要测试的介质类型(只读、可写入和重写)。例如,测试套件将规划对带有可读取 DVD 和 CD-ROM 磁盘的 Blu-ray 驱动器的以下测试:

  • Blu-ray 介质的重写(erase、写和读取)测试
  • DVD 介质的读测试
  • CD-ROM 介质读取测试

如果您的驱动器同时支持 DVD-RW 和 DVD+RW 格式,您可以在测试过程中使用任何类型的磁盘。您不需要测试这两种格式。此外,您只需要为给定驱动器运行一次 DVD 测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试会根据驱动器的功能执行以下任务:

  • 只读驱动器 - 首先从磁盘读取数据并将其复制到硬盘中。然后,它会将磁盘上的数据与硬盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 具有写入功能 的驱动器 - 首先从硬盘读取数据并将其写入可写入空白磁盘。然后,它会将硬盘上的数据与磁盘上的副本进行比较。如果所有文件校验和都匹配,则测试会通过。
  • 带有重写功能 的驱动器 - 首先,它会从重写磁盘中删除所有信息。然后,它会从硬盘读取数据并将其写入可重写磁盘。最后,它会将硬盘上的数据与磁盘上的副本进行比较。如果删除操作成功,且所有文件校验和都匹配,则测试会传递。

执行测试

运行以下命令,然后从显示列表中选择适当的 DVD 测试名称。

 rhcert-run

按照屏幕上的说明插入适当的介质,并在适当时关闭驱动器的托盘。

运行时间

DVD 测试的运行时间取决于介质和驱动器的速度。对于 4x 4.7GB DVD-RW 磁盘,测试将在大约 13 分钟内完成。

A.2.12. Ethernet

测试涵盖的内容

只有在测试套件无法识别网络设备的速度时,以太网 测试才会出现。这可能是因为未插入的电缆或其它错误以防止正确检测连接速度。请退出测试套件,检查您的连接,并在设备正确连接时再次运行测试套件。如果问题仍然存在,请联系您的红帽支持代表以获得帮助。

以下示例显示了具有两个千兆位以太网设备 eth0 和 eth1 的系统。设备 eth0 已正确连接,但 eth1 未插入。

ethtool 命令的输出显示 eth0 的预期 gigabit 以太网速度 1000Mb/s :

# ethtool eth0
Settings for eth0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

但是,在 eth1 上,ethtool 命令显示未知的速度,这会导致计划 以太网 测试。

# ethtool eth1
Settings for eth1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: Unknown!
	Duplex: Unknown! (255)
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: no

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

A.2.13. Expresscard

测试涵盖的内容

expresscard 测试查找同时具有 ExpressCard 接口、USB 和 PCI Express (PCIe)的设备,并确认系统可以通过这两者进行通信。ExpressCard 插槽检测不像检测系统中的其它设备一样简单。ExpressCard 是专门设计的,不需要任何类型的专用网桥设备。它只是组合 PCIe 和 USB 的 novel 表单因素接口。因此,在 udev 输出中我们没有特定的"ExpressCard slot"条目。我们决定将测试调度到包含电池、USB 和 PCIe 接口的系统,因为我们看到没有通过此硬件组合使用 ExpressCard 笔记本电脑之外的设备。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试首先使用 lsusblspci 命令获取 USB 和 PCIe 总线上所有设备的快照。然后,它会询问测试系统中存在多少个 ExpressCard 插槽。测试程序被要求在其中一个插槽中插入卡。系统扫描 USB 和 PCIe 总线,并将结果与原始 lsusb 和 lspci 输出进行比较,以检测任何新设备。如果检测到 USB 设备,系统会要求您删除卡,并将带有 PCIe 接口的卡插入到同一插槽中。如果检测到基于 PCIe 的卡,系统会要求您将其删除,并将基于 USB 的卡插入到同一插槽中。如果使用两个接口插入卡(例如,使用 station 卡),它将一次性满足插槽的测试要求。对于系统中的所有插槽,这个过程会重复。

准备测试

您将需要使用 USB 和 PCIe 总线的 ExpressCard 卡。这可以是两个独立的卡,也可以是两个接口的卡。在运行测试前删除所有 ExpressCard 卡。

执行测试

expresscard 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 Expresscard 测试名称。

 rhcert-run

它将提示您删除所有 ExpressCards,然后询问是否有权限加载 PCI Express 热插拔模块(pciehp) (如果未加载)。需要 PCIe 热插拔功能,以便在系统运行时添加或删除基于 PCIe 的 ExpressCard 卡。接下来,测试将要求您系统中的 ExpressCard 插槽数量,然后提示您以任何顺序插入和移除具有两种类型的接口(USB 和 PCIe)的卡。

A.2.14. fingerprintreader

测试涵盖的内容

如果系统有一个内置或插件指纹读取器,则会规划 fingerprintreader 测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

此测试会验证指纹读取器是否可以扫描、注册和验证指纹管理器中的注册指纹。

准备测试

确保指纹读取器已连接到系统。

执行测试

此测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 指纹reader 测试名称。

 rhcert-run

该测试将开始检测指纹读取器,然后提示您放置并扫描您的指纹读取器上的几次索引,直到注册完成为止。为了进行验证,系统将提示您再次扫描 finger,以便与注册的指纹匹配。

运行时间

完成测试需要几分钟时间完成,直到读取器完成扫描并显示 enroll-complete 状态。

A.2.15. firmware

测试涵盖的内容

固件测试支持在 RHEL 版本 8 及之后的版本上运行,用于使用统一可扩展固件接口(UEFI)的 x86_64 架构系统,以及 EFI 系统资源表(ESRT)用于固件管理。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行以下子测试:

  • 安全检查子测试:子测试通过验证系统和设备固件是否满足 HSI-1 级别标准,以检查测试中的主机是否遵循安全最佳实践。该测试使用 fwupdmgr security --force 命令检查 HSI-1 安全属性并捕获输出。
  • 更新服务子测试:子测试会验证测试下的主机是否可以通过 Linux 供应商固件服务(LVFS)下载并安装固件更新。

成功标准

  • 只有在所有 HSI-1 属性都通过时才通过测试。
  • 如果系统安装 LVFS 更新,测试会通过。

准备测试

  • 确保测试中的主机正在运行 RHEL 8.0 或更高版本。
  • 确保系统以 UEFI 模式引导,而不是以旧 BIOS 模式引导。

执行测试

此测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 固件 测试名称。

 rhcert-run

运行时间

此测试需要一分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.16. fv_core

fv_core 测试程序启动 FV 客户机并在其上运行 核心 测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10
注意

您第一次运行任何完全虚拟化测试时,测试工具将需要获取 FV 客户机文件。测试工具的执行时间取决于 FV 客户机文件的传输速度。例如,

  • 如果 FV 客户机文件位于测试服务器上,并且您使用 1GbE 或更快的网络,则几乎需要一分钟或两个来传输大约 300MB 的客户机文件。
  • 如果文件从 CWE API 检索(当客户机文件没有安装或在测试服务器上找到时),则第一个运行时将取决于 CWE API 的传输速度。

当客户机文件在 Host Under Test (HUT)上可用时,它们将用于后续运行 fv86] 测试。

A.2.17. fv_cpu_pinning

CPU 固定是将系统资源专用于特定进程的方法。例如,应用程序可能会被锁定到特定的逻辑内核,以减少任务切换。

虚拟化(fv) CPU 固定方法类似,除了从基于 KVM 的虚拟机中的虚拟 CPU (vCPU)到主机机器上的物理内核进行固定。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试涵盖的内容

fv_cpu_pinning 测试验证客户虚拟机(VM)的 vCPU 是否可以配置并固定到主机的专用 CPU。此测试在主机上运行,在 RHEL 8 上支持基于 RHEL 8 的 RHV 4 发行版本的功能资格。

测试的作用

fv_cpu_pinning 测试运行三个子测试:设置客户机虚拟机 VCPU、执行 FV CPU 固定,并验证 FV CPU 固定。Setup guest VM VCPU 子测试计算主机计算机的逻辑内核数,并在其中隔离最后一个编号的核心,以将其专用于虚拟机。Perform FV CPU Pinning 子测试将虚拟机的 vCPU 进一步固定到主机中的 CPU。然后,测试会使用命令 virt vcpupinvcpuinfo 验证固定,并检查 /proc 目录信息。最后,验证 FV CPU Pinning 使用负载测试来验证客户虚拟机 vCPU 工作负载是否仅由固定 CPU 处理。

准备测试

运行此测试没有特殊要求。

执行测试

fv_cpu_pinning 测试不是非交互的。运行以下命令,然后从显示的列表中选择适当的 fv_cpu_pinning 测试名称。

 rhcert-run

运行时间

fv_cpu_pinning 测试需要大约 5 分钟才能完成。任何其它强制或选定测试都将添加到整个运行过程中

A.2.18. fv_live_migration

测试涵盖的内容

fv_live_migration 测试检查主机 下测试(HUT)将正在运行的虚拟机迁移到测试服务器的能力。

从 RHEL 9.6 和 RHEL 10 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试执行多个子测试,以完成从 HUT 测试服务器的正在运行的虚拟机迁移。成功完成测试需要所有子tests才能通过。

该测试会检查 HUT 是否满足迁移要求,配置虚拟机,并在 HUT 上启动它。然后,它会将正在运行的虚拟机从 HUT 迁移到测试服务器。

迁移后,验证虚拟机不再在 HUT 上运行,并在测试服务器上运行。最后,测试会将正在运行的虚拟机从测试服务器迁移到 HUT,然后再次检查虚拟机是否在 HUT 上运行,且不再在测试服务器上运行。

准备测试

确保测试服务器和 HUT 正在运行 Red Hat Enterprise Linux 10,并且在测试服务器和 HUT 上安装了 redhat-certification-hardware 软件包。如果没有满足这些要求,则测试会失败。

在测试服务器和 HUT 的相应 /etc/hosts 文件中添加主机名,并为完全限定名称生成主机名别名,如下所示:

  • <IP address of HUT> & lt;hostname of HUT>
  • <IP address of test server> & lt;hostname of test server>
注意

要支持无缝迁移,请确保:

  • SUT 的系统架构与测试服务器的系统架构相匹配。
  • 测试服务器的 CPU 或 CPU 系列与 HUT 的 CPU 或 CPU 系列匹配。

执行测试

测试是非交互式的。目前,只能通过 CLI 进行计划并执行此测试。

对于 RHEL 8:

# rhcert-cli plan --add -t fv_live_migration
# rhcert-cli run -t fv_live_migration --server=<server name>

在 RHEL 9 和 10 中:

# rhcert-cli plan --add -t fv_live_migration
# rhcert-cli run --test fv_live_migration --server=<server name>

运行时间

完成测试需要大约 5 分钟时间。但是,这个时间可能会降低或增加测试服务器,HUT 分别属于同一或不同的实验室或网络。

A.2.19. fv_memory

fv_memory 测试是一个打包程序,它启动 FV 客户机并在其上运行 内存 测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10
注意

您第一次运行任何完全虚拟化测试时,测试工具将需要获取 FV 客户机文件。测试工具的执行时间取决于 FV 客户机文件的传输速度。例如,

  • 如果 FV 客户机文件位于测试服务器上,并且您使用 1GbE 或更快的网络,则几乎需要一分钟或两个来传输大约 300MB 的客户机文件。
  • 如果文件从 CWE API 检索(当客户机文件没有安装或在测试服务器上找到时),则第一个运行时将取决于 CWE API 的传输速度。

当客户机文件在 Host Under Test (HUT)上可用时,它们将用于后续运行 fv86] 测试。

A.2.20. fv_pcie_storage_passthrough

测试涵盖的内容

fv_pcie_storage_passthrough 测试用于验证对基于 PCIe 的存储设备(如 SAS 和 SATA)的控制是否可以传输到虚拟机。测试在 Red Hat Enterprise Linux 8 中被支持,且必须在主机中运行。如果主机支持设备透传并启用了 IOMMU,则会自动规划此测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试执行多个子测试,将主机的 HBA 设备附加到虚拟机,然后在虚拟机中运行存储测试。成功完成测试需要所有子tests才能通过。该测试会验证连接到主机机器的 PCIe 设备是否可以分配到客户端虚拟机,将客户虚拟机配置为使用 passthrough PCIe 设备,然后启动虚拟机并确保该设备正常工作。

准备测试

确保主机机器支持设备透传,并启用 IOMMU。要配置,请参阅为 PCI Passthrough 配置主机

注意

不要在带有主机机器的根分区的存储设备中运行测试。

执行测试

测试是非交互式的。运行以下命令,然后从显示列表中选择适当的 fv_pcie_storage_passthrough 测试名称。

 rhcert-run

运行时间

运行测试需要大约 30 分钟时间。

A.2.21. fv_usb_network_passthrough

测试涵盖的内容

fv_usb_network_passthrough 测试用于验证对主机中附加网络设备的控制是否可以传输到虚拟机。测试在 Red Hat Enterprise Linux 8 及更高版本上被支持,且必须在主机中运行。如果主机支持设备透传并启用了 IOMMU,则会自动规划此测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试执行多个子测试,将主机的 USB 设备附加到虚拟机,然后运行虚拟机内的网络测试。成功完成测试需要所有子tests才能通过。测试验证连接到主机机器的 USB 设备是否可以分配到客户虚拟机中原生显示,将客户虚拟机配置为使用 passthrough USB 设备,然后启动虚拟机并确保该设备正常工作。

准备测试

  • 确保 USB 设备插入到支持设备透传并启用了 IOMMU 的 HUT 中。要配置,请参阅为 PCI Passthrough 配置主机
  • 确保 HUT 至少有两个 NIC,并且两个网络都路由到测试服务器。

执行测试

测试是非交互式的。运行以下命令,然后从显示列表中选择适当的 fv_usb_network_passthrough 测试名称。

 rhcert-run
注意

如果测试因为网络带宽问题而失败,则您可能必须增加分配给虚拟机的 CPU 和 RAM,以实现更高的带宽。

运行时间

测试运行大约 90 分钟时间,但会根据 USB 设备和连接的大小和速度而有所不同。

A.2.22. fv_usb_storage_passthrough

测试涵盖的内容

fv_usb_storage_passthrough 测试用于验证主机中对 USB 附加存储设备的控制是否可以转移到虚拟机。测试在 Red Hat Enterprise Linux 8 中被支持,且必须在主机中运行。如果主机支持设备透传并启用了 IOMMU,则会自动规划此测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试执行多个子测试,将主机的 USB 设备附加到虚拟机,然后在虚拟机中运行存储测试。成功完成测试需要所有子tests才能通过。测试验证连接到主机机器的 USB 设备是否可以分配到客户虚拟机中原生显示,将客户虚拟机配置为使用 passthrough USB 设备,然后启动虚拟机并确保该设备正常工作。

准备测试

确保 USB 设备插入到支持设备透传并启用了 IOMMU 的主机机器中。要配置,请参阅 Red Hat Virtualization 管理指南中的 为 PCI Passthrough 配置 主机部分

执行测试

测试是非交互式的。运行以下命令,然后从显示列表中选择适当的 fv_usb_storage_passthrough 测试名称。

 rhcert-run

运行时间

测试运行大约 90 分钟时间,但会根据 USB 设备和连接的大小和速度而有所不同。

A.2.23. fv_pcie_network_passthrough

测试涵盖的内容

fv_pcie_network_passthrough 测试用于验证对基于 PCIe 的网络设备(如 NIC、LOM、ALOM)的控制是否可以传输到虚拟机。测试在 Red Hat Enterprise Linux 8 及更高版本上被支持,且必须在主机中运行。如果主机支持设备透传并启用了 IOMMU,则会自动规划此测试。

从 RHEL 9.4 开始,支持这个测试在 ARM 系统上运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试执行多个子测试,将主机的网络设备附加到虚拟机,然后运行虚拟机内的网络测试。成功完成测试需要所有子tests才能通过。该测试会验证连接到主机机器的 PCIe 设备是否可以分配到客户端虚拟机,将客户虚拟机配置为使用 passthrough PCIe 设备,然后启动虚拟机并确保该设备正常工作。

准备测试

  • 确保 Host Under Test (HUT)支持设备透传并启用了 IOMMU。要配置,请参阅 Red Hat Virtualization 管理指南中的 为 PCI Passthrough 配置 主机部分
  • 确保 HUT 至少有两个 NIC,并且两个网络都路由到测试服务器。

执行测试

测试是非交互式的。运行以下命令,然后从显示列表中选择适当的 fv_pcie_network_passthrough 测试名称。

 rhcert-run
注意

如果测试因为网络带宽问题而失败,则您可能必须增加分配给虚拟机的 CPU 和 RAM,以实现更高的带宽。

运行时间

运行测试需要大约 30 分钟时间。

A.2.24. InfiniBand 连接

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

Infiniband Connection 测试运行以下子测试,以确保在测试时从下拉菜单中选择的 IP 地址来确保基准功能:

  1. Ping 测试

    从 HUT 上测试的设备的起始 IP 地址 ping 到测试服务器的所选 IP 地址。

  2. Rping 测试

    使用所选的测试服务器 IP 地址在测试服务器和 HUT 上运行 rping,然后比较结果以验证其是否运行完成。

  3. Rcopy 测试

    在测试服务器和 HUT 上运行 rcopy,发送随机生成的文件,并在测试服务器和 HUT 上比较 md5sum 以验证传输是否成功。

  4. rdma-ndd 服务测试

    验证 stop、start 和 restart service 命令可以正常工作。

  5. opensm 服务测试

    验证 stop、start 和 restart service 命令可以正常工作。

  6. LID 验证测试

    验证是否设置了设备的 LID,而不是默认值。

  7. Smpquery 测试

    使用设备和端口在测试服务器上运行 smpquery,以进行设备/端口已注册到结构。

  8. ib_write_bw test

    从 HUT 运行 ib_write_bw 到测试服务器的所选 IP 地址,以测试 InfiniBand 写入带宽,并验证它是否可以访问所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

  9. ib_read_bw test

    从 HUT 运行 ib_read_bw 到测试服务器的所选 IP 地址,以测试 InfiniBand 读取带宽,并验证它是否可以访问所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

  10. ib_send_bw test

    从 HUT 运行 ib_send_bw 到测试服务器的所选 IP 地址,以测试 InfiniBand 带宽,并验证它是否可以访问所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

准备测试

  • 在同一光纤上,确保测试服务器和 HUT 是单独的计算机。

执行测试

这是一个交互式测试。运行以下命令,然后从显示的列表中选择适当的 infiniband 连接 测试名称。

 rhcert-run

系统将提示您输入下拉菜单,以选择要在其中执行测试的 IP 地址(测试服务器的 IP 地址)。选择与您要运行测试的 HUT 设备同一结构中设备对应的 IP 地址。

Expand
表 A.1. 手动添加并运行测试
速率类型手动添加 infiniband 连接测试的命令手动运行 infiniband 连接测试的命令

Infiniband_QDR

rhcert-cli plan --add --test Infiniband_QDR --device <devicename>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test Infiniband_QDR --server <test server IP addr>

Infiniband_FDR

rhcert-cli plan --add --test Infiniband_FDR --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test Infiniband_FDR --server <test server IP addr>

Infiniband_EDR

rhcert-cli plan --add --test Infiniband_EDR --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test Infiniband_EDR --server <test server IP addr>

Infiniband_HDR

rhcert-cli plan --add --test Infiniband_HDR --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test Infiniband_HDR --server <test server IP addr>

Infiniband_NDR

rhcert-cli plan --add --test Infiniband_NDR --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test Infiniband_NDR --server <test server IP addr>

Infiniband_Socket_Direct

rhcert-cli plan --add --test Infiniband_Socket_Direct
rhcert-cli run --test Infiniband_Socket_Direct --server <test server IP addr>

将 & lt;device name&gt; , <port number &gt ; , <net device & gt; , 和 <test server IP addr > 替换为适当的值。

运行时间

运行此测试需要少于 10 分钟。

A.2.25. intel_sst

测试涵盖的内容

intel_sst 测试是一种 CPU 频率扩展测试,对 Intel 的 Speed Select Technology (SST)功能进行练习。使用此功能自定义每个内核的性能,将 CPU 与工作负载匹配,并为每个性能分配。这可让您在运行时提高目标应用程序的性能。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

intel_sst 测试 仅在启用了 SST 的系统上运行,并支持以下功能:

  • speed Select Base Freq (SST-BF)- 允许特定内核通过减少其他内核的基本频率(P1)来运行更高的基础频率(P1)。
  • 频率优先级(SST-CP)- 通过降低运行较低优先级软件的内核频率来允许特定的内核达到时钟。

该测试会检查系统上是否支持和配置上述功能。根据结果,它将只对对应功能执行一个子测试。

准备测试

您必须只在 Intel 芯片组架构上运行此测试。

  • 在基于 Red Hat Enterprise Linux (RHEL)的平台上使用 Intel® SST-BF 功能。

    先决条件

    1. 在 BIOS 中启用 Intel® SST-BF 功能
    2. 配置内核参数 - intel_idle.max_cstate=1
  • 要在基于 Red Hat Enterprise Linux (RHEL)的平台上使用 Intel® SST-CP 功能。

    先决条件

    1. 在 BIOS 中启用 Intel® SST-CP 功能
    2. 配置内核参数 - intel_idle.max_cstate=1 intel_pstate=disable

执行测试

此测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 intel_sst 测试名称。

 rhcert-run

运行时间

完成此测试需要大约 5 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.26. iPXE

iPXE 测试涵盖的内容

iPXE 测试是在 x86 Red Hat Enterprise Linux (RHEL)系统上运行的交互式测试。系统应该以 UEFI 引导模式引导。

如果 efi 目录 存在于 UEFI 引导模式下运行。运行以下命令,以确定您的机器是否在 UEFI 模式下运行:

 ls /sys/firmware/efi/

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
注意

此测试针对 RHEL 10 停用。

测试的作用

iPXE 是领先的开源网络引导固件。它提供对从 HTTP、SAN 和 Wireless Network 引导等额外功能的完整 PXE 实施。此测试通过 HTTP 引导检查底层 NIC 支持 iPXE。

在执行 iPXE 时,测试服务器不会返回任何可引导镜像。引导屏幕将显示错误 可能无法引导,这是预期的错误消息。测试服务器将使用 RHEL OS 的下一个引导装载程序引导。

准备测试

  • 确保 test 下的主机处于 UEFI 引导模式。iPXE 测试它首先找到的接口,因此,在测试下的主机上,确保需要测试的接口已插入到中。
  • 在运行此测试时,确保 httpd 服务不在测试服务器上运行,因为此测试使用端口 80 与测试服务器通信。

执行测试

  1. 运行以下命令,然后从显示的列表中选择适当的 iPXE 测试名称。

     rhcert-run
  2. ipxe 测试不会出现在测试计划中,因此您必须分别使用下列命令来计划和执行它。

    # rhcert-cli plan --add --test iPXE
    # rhcert-cli run --test iPXE
  3. 该测试将首先为 iPXE 测试配置 Host Under Test (HUT)。它将保存 HUT 的 MAC 详情,然后使用 ipxe 二进制文件创建一个新的引导装载程序,并将引导装载程序标记为下一个引导。之后,系统会提示您重新启动,按 Yes 继续。测试服务器将显示在发送 reboot 命令后等待响应。
  4. HUT 将重启到新的引导装载程序,后者又加载 iPXE 提示符,并执行 GET 请求来查看它是否能够访问测试服务器。因为只是一个 GET 重新排队,引导将失败,系统将会回退到下一个引导装载程序,如 RHEL OS。
  5. 测试服务器将持续监控测试下的主机,以查看它是否已重新引导。重新引导后,测试将继续。测试将首先恢复 iPXE 的启动更改,然后验证 iPXE 启动是否成功。
  6. 它将把从 iPXE 启动的 GET 请求接收的 MAC 地址与已保存的 MAC 进行比较。如果 MAC 与 iPXE 测试匹配成功。

运行时间

运行测试需要 5 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.27. iWARP 连接

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

IWarp Connection 测试运行以下子测试,以确保在测试时从下拉菜单中选择的 IP 地址来确保基准功能:

  1. Ping test - 从 HUT 上测试的设备的起始 IP 地址到测试服务器的所选 IP 地址运行 ping。
  2. Rping test - 在测试服务器上运行 rping,使用所选的测试服务器 IP 地址运行 HUT,然后比较结果以验证其是否运行完成。
  3. Rcopy test - 在测试服务器和 HUT 上运行 rcopy,发送随机生成的文件并比较测试服务器上的 md5sums 和 HUT,以验证已成功传输。
  4. ethtool test - 运行 ethtool 命令,传递检测到的 roce 设备的网络设备。
  5. ib_write_bw test

    从 HUT 运行 ib_write_bw 到测试服务器的所选 IP 地址,以测试 IWrap 写入带宽,并验证它是否可以访问所需的带宽。

  6. ib_read_bw test

    从 HUT 运行 ib_read_bw 到测试服务器的所选 IP 地址,以测试 IWrap 读取带宽并验证它是否可以访问所需的带宽。

  7. ib_send_bw test

    从 HUT 运行 ib_send_bw 到测试服务器的所选 IP 地址,以测试 IWrap 发送的带宽,并验证它能否到达所需的带宽。

准备测试

  • 在同一光纤上,确保测试服务器和 HUT 是单独的计算机。

执行测试

这是一个交互式测试。运行以下命令,然后从显示的列表中选择适当的 iwrap 连接 测试名称。

 rhcert-run

系统将提示您输入下拉菜单,以选择要在其中执行测试的 IP 地址(测试服务器的 IP 地址)。选择与您要运行测试的 HUT 设备同一结构中设备对应的 IP 地址。

Expand
表 A.2. 手动添加并运行测试
速度类型手动添加 IWarpConnection Test 的命令手动运行 IWarpConnection Test 的命令

10GigiWarp

rhcert-cli plan --add --test 10GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 10Gigiwarp --server <test server IP addr>

20GigiWarp

rhcert-cli plan --add --test 20GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 20GigiWarp --server <test server IP addr>

25GigiWarp

rhcert-cli plan --add --test 25GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 25GigiWarp --server <test server IP addr>

40GigiWarp

rhcert-cli plan --add --test 40GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 40GigiWarp --server <test server IP addr>

50GigiWarp

rhcert-cli plan --add --test 50GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 50GigiWarp --server <test server IP addr>

100GigiWarp

rhcert-cli plan --add --test 100GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 100GigiWarp --server <test server IP addr>

200GigiWarp

rhcert-cli plan --add --test 200GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 200GigiWarp --server <test server IP addr>

将 & lt;device name&gt; , <port number &gt ; , <net device & gt; , 和 <test server IP addr > 替换为适当的值。

运行时间

运行此测试需要少于 10 分钟。

A.2.28. kdump

测试涵盖的内容

kdump 测试使用 kdump 服务检查系统是否在崩溃后捕获 vmcore 文件,并且捕获的文件是否有效。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试包括以下子测试:

  • 带有本地的 kdump :使用 kdump 服务,这个子测试会执行以下任务:

    • 崩溃测试下的主机(HUT)。
    • vmcore 文件写入本地 /var/crash 目录。
    • 验证 vmcore 文件。
  • 带有 NFS 的 kdump :使用 kdump 服务,这个子测试会执行以下任务:

    • /var/rhcert/export 文件系统挂载到 HUT 的 /var/crash 目录。这个文件系统通过 NFS 从测试服务器共享。
    • 崩溃 HUT。
    • vmcore 文件写入 /var/crash 目录。
    • 验证 vmcore 文件。

准备测试

  • 在运行测试前,请确保 HUT 连接到测试服务器。
  • 确保 rhcertd 进程在测试服务器上运行。认证测试套件会自动准备 NFS 文件系统。如果套件无法设置环境,测试会失败。

执行测试

  1. 登录到 HUT。
  2. 运行 kdump 测试:

    • 要使用 rhcert-run 命令,请执行以下步骤:

      1. 运行 rhcert-run 命令:

        # rhcert-run
      2. 选择 kdump 测试。

        测试按顺序运行两个子测试。

    • 要使用 rhcert-cli 命令,请选择是否按顺序运行两个子tests,或者指定一个 subtest :

      • 按顺序运行两个 subtests,请使用以下命令:

        # rhcert-cli run --test=kdump -–server=<test server’s IP>
      • 要只 使用本地 subtest 运行 kdump,请使用以下命令:

        # rhcert-cli run --test=kdump --device=local
      • 要只 使用 NFS 子测试运行 kdump,请使用以下命令:

        # rhcert-cli run --test=kdump --device=nfs -–server=<test server’s IP>

        另外,对于带有 NFS 测试的 kdump,请在 Test 服务器上执行以下命令:

        # rhcertd start
  3. 等待 HUT 在崩溃后重启。

    kdump 服务显示几个信息,它会将 vmcore 文件保存到 /var/crash 目录中。保存 vmcore 文件后,HUT 会重启。

  4. 重新引导后登录到 HUT,rhcert 套件将验证 vmcore 文件是否存在,如果其有效。如果文件不存在或无效,则测试会失败。

如果您按顺序运行子tests,则 带有 NFS 子测试的 kdump 会在之前的 vmcore 文件的验证完成后开始。

运行时间

kdump 测试的运行时间因 HUT 中的 RAM 量、测试服务器的磁盘速度和 HUT、测试服务器的速度和测试服务器所需的时间而异,以及重启 HUT 所需的时间。

对于具有 8GB RAM 的 2013 时代工作站、7200 RPM 6Gb/s SATA 驱动器、到测试服务器的千兆位以太网连接以及 1.5 分钟重启时间,本地 kdump 测试可以在大约四分钟内完成,包括重启。同一 2013-era 工作站可以在约五分钟内完成 NFS kdump 测试,以便获得相似的网络测试服务器。可支持 的测试将大约一分钟添加到整个运行时间。

A.2.29. lid

测试涵盖的内容

lid 测试仅对带有集成显示的系统有效,因此具有可打开和关闭的 lid。通过为名称中带有"lid"的设备搜索 udev 数据库来检测到 lid :

E: NAME="Lid Switch"

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试可确保系统可以确定何时关闭其 lid 以及通过 udev 中的参数打开时,可以在 lid 关闭时关闭显示的后端。

准备测试

要准备测试,请确保电源管理设置不会在 lid 关闭时让系统处于睡眠状态或休眠状态。在开始测试运行前,请确保 lid 已打开。

执行测试

lid 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 lid 测试名称。

 rhcert-run

如果您准备好开始测试,则会提示您开始测试,因此回答 Yes 继续。提示时关闭 lid,查看 backlight 关闭。当笔记本电脑关闭后,您可能需要查看键盘和 lid 之间的小空间,以验证 backlight 是否已关闭。如果 backlight 关闭或不关闭后端,则回答 Yes

运行时间

Lid 测试需要大约 30 秒才能执行,基本上就是关闭最喜欢的时间。由于此测试是在笔记本电脑上运行,因此每次运行时都必须有一个可暂停测试。暂停测试会在每次测试运行中增加大约 6 分钟,并且支持将增加一分钟。

A.2.30. memory

内存测试包括哪些内容

内存 测试用于测试系统 RAM。它不会测试 USB 闪存内存、SSD 存储设备或任何其他基于 RAM 的硬件。它仅测试主内存。

在规划过程中,每个 CPU 内核检查添加了一个内存,以验证 HUT 满足 RHEL 最低要求内存标准。对于多个硬件认证测试而言,这是一个规划条件,包括内存、核心、实时和所有完全虚拟化测试。

如果没有通过 每个 CPU 内核检查的内存,则上述测试不会自动规划。但是,可以通过 CLI 手动规划这些测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用: 测试使用文件 /proc/meminfo 来确定系统中安装了多少内存。知道已安装多少后,它会检查系统架构是否为 32 位或 64 位。然后,它会确定交换空间是否可用或者没有交换分区。根据系统是否有交换文件,测试运行一次或稍有不同的设置:

  1. 如果有交换可用,请将更多 RAM 分配给内存测试,超过系统中实际安装。这会强制在运行过程中使用交换空间。
  2. 无论存在交换存在,都需要分配尽可能多的 RAM 到内存测试,同时保持低于强制内存不足(OOM)终止的限制。此版本的测试始终运行。

在内存测试的两个迭代中,malloc () 都被用来分配 RAM,RAM 被禁止写入任意十六进制字符串(0xDEADBEEF),并且执行测试来确保 0xDEADBEEF 实际存储在预期地址的 RAM 中。测试完成后,测试调用 free () 来释放 RAM。多个线程或多个进程将用来分配 RAM,具体取决于进程大小是否大于或等于要测试的内存量。

准备测试

根据策略指南中的规则,在系统中安装正确数量的 RAM。

执行测试

内存测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 内存 测试名称。

 rhcert-run

运行时间,裸机

内存测试需要大约 16 分钟才能在运行 Red Hat Enterprise Linux、AMD64 和 Intel 64 的单个 CPU、6 核/12-thread 3.3GHz 基于 Intel 的工作站上运行。该测试将在具有更多 RAM 的系统上花费更长的时间。所需的 可支持 测试将大约一分钟添加到整个运行时间。

运行时间,全virt 客户机

fv_memory 测试的时间比裸机版本大约 18 分钟要长于在客户机中运行。添加的时间是因为客户机启动/关闭活动以及客户机中运行的必需支持测试。裸机 系统上 所需的支持测试将大约一分钟添加到整体运行时间。fv_memory 测试运行时间不会因裸机内存测试而广泛地不同,因为分配给我们预建的客户机的 RAM 量始终相同。由于底层真实系统的速度可能会有变化,但测试期间使用的 RAM 数量不会从机器改为机器。

为 EC2 创建和激活交换 :合作伙伴可以执行以下步骤来为 EC2 创建并激活交换。

sudo dd if=/dev/zero of=/swapfile bs=1M count=8000
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon -s
edit file /etc/fstab and add the following line:
/swapfile swap swap defaults 0 0
write file and quit/exit
A.2.30.1. memory_HBM

memory_HBM 测试涵盖的内容

memory_HBM 测试用于在具有它的系统上测试系统高带宽内存(HBM)。计划三种可能的测试之一基于 HBM 操作模式。如果系统 HBM 不支持常规内存测试,则改为计划常规 内存 测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

memory_HBM 测试是专门用于具有 HBM 的系统的内存测试。

准备测试

确保系统 HBM 满足策略指南中指定的要求。

执行测试

  1. 运行 rhcert-cli plan。如果您的 HBM 配置满足要求和以下条件之一,则会计划其中一个 memory_HBM 测试:

    • memory_HBM_only: 系统中没有安装 DIMM
    • memory_HBM_cache: HBM 充当 DIMM 的缓存
    • memory_HBM_flat: DIMM 和 HBM 作为内存总量提供
  2. 要运行测试,可使用命令 rhcert-cli run --test。例如,rhcert-cli run --test hwcert/memory_HBM_cache 运行 memory_HBM_cache 测试。
  3. 按照测试的说明进行操作。
  4. 使用 rhcert-print 检查结果。
  5. 要保存结果,请使用 rhcert-save
A.2.30.2. memory_CXL

测试涵盖的内容

memory_CXL 测试评估具有类型 3 Compute Express Link (CXL)设备的系统。它验证 CXL 内存设备的功能,确保与传统系统内存正确集成。该测试标识了连接的 CXL 设备,根据需要将其重新配置为系统 RAM,并记录内存带宽性能。

注意

完成 memory_CXL 测试后运行内存测试。

支持的 RHEL 版本

  • RHEL 9.3 及更新的版本
  • RHEL 10

测试的作用

memory_CXL 测试检测到并验证已安装的 CXL 内存设备。使用以下命令检查是否存在 CXL 设备:

lspci -d ::0502

此命令列出系统中的所有 PCI 设备,并确定任何 CXL 内存设备。

如果检测到 CXL 内存设备但没有配置为系统 RAM,使用以下命令重新配置它:

daxctl reconfigure-device --mode=system-ram <dax device-id> --no-movable --no-online
daxctl offline-memory <dax device-id>
daxctl reconfigure-device --mode=system-ram <dax device-id> --no-movable

准备测试

在运行测试前,请确保以下内容:

  • 系统使用满足策略指南中的 CXL 内存模块。
  • 系统固件可识别已安装的 CXL 内存。
  • 在 BIOS 中启用了 CXL SPM (Single Port Memory)选项。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 memory_CXL 测试名称。

 rhcert-run

运行时间

根据系统配置和 CXL 内存量,测试通常需要 5 到 10 分钟时间。确保系统在测试期间保持稳定且可操作。

A.2.31. network

测试涵盖的内容

网络测试会检查通过 TCP/IP 网络传输数据的设备。测试可以根据为它设计的对应测试检查有线和无线设备的多个连接速度和带宽,如下表中所列:

网络测试下的不同测试

Expand
以太网测试描述

1GigEthernet

使用为 1 千兆位以太网连接添加的速度检测网络测试。

10GigEthernet

使用为 10 千兆位以太网连接添加的速度检测网络测试。

20GigEthernet

使用为 20 千兆位以太网连接添加的速度检测网络测试。

25GigEthernet

通过为 25 千兆位以太网连接添加的速度检测网络测试。

40GigEthernet

带有添加速度检测 40 千兆位以太网连接的网络测试。

50GigEthernet

带有添加速度检测 50 千兆位以太网连接的网络测试。

100GigEthernet

使用为 100 千兆位以太网连接添加的速度检测网络测试。

200GigEthernet

使用为 200 千兆位以太网连接添加的速度检测网络测试。

Ethernet

如果本地测试计划中列出了以太网测试,这表示测试套件无法识别该设备的速度。在尝试测试该特定设备前检查连接。

Expand
无线测试描述

WirelessG

带有为 802.11g 无线以太网连接添加的速度检测的网络测试。

WirelessN

带有为 802.11n 无线以太网连接添加的速度检测的网络测试。

WirelessAC

带有为 802.11ac 无线以太网连接添加的速度检测的网络测试。

WirelessAX (由 WiFi6 提供)

带有为 802.11ax 无线以太网连接添加的速度检测的网络测试。

WiFi6

带有为 802.11ac 无线以太网连接添加的速度检测的网络测试。

WiFi6E

带有为 802.11ac 无线以太网连接添加的速度检测的网络测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行以下子测试来收集所有网络设备的信息:

  1. 接口上的 bounce 测试是使用 nmcli conn upnmcli conn down 命令执行的。
  2. 如果 root 分区不是 NFS 或 iSCSI 挂载,则会在接口上执行 bounce 测试。此外,所有其他未测试的接口将被关闭,以确保流量通过正在测试的接口进行路由。
  3. 如果 root 分区是 NFS 或 iSCSI 挂载,则跳过负责 iSCSI 或 NFS 连接的接口上的 bounce 测试,除了处理 iSCSI 或 NFS 连接的接口除外,否则将关闭。
  4. 测试文件在位置 /dev/urandom 创建,其大小通过 NIC 的速度进行调整。
  5. TCP 和 UDP 测试 - 测试使用 iperf 工具:

    1. 测试测试服务器和正在测试下的主机之间的 TCP 延迟。该测试将检查系统是否遇到任何操作系统超时,如果是,则失败。
    2. 测试测试服务器和正在测试的主机之间的带宽。对于有线设备,建议速度接近理论上的最大值。
    3. 测试服务器并在测试之下的 host 之间测试 UDP 延迟。该测试将检查系统是否遇到任何操作系统超时,如果是,则失败。
  6. 文件传输测试 - 测试使用 SCP 将文件从测试下的主机传输到远程系统或测试服务器,然后将其传输回测试下的主机,以检查传输是否正常工作。
  7. ICMP (ping)测试 - 脚本会导致 ping 在默认数据包大小中出现大量操作,以确保系统中的任何失败(系统不应该重启或重置,或者表示无法处理 ping 水水)的任何内容。5000 数据包被发送,预期为 100% 成功率。测试重试 5 次,以获得可接受的成功率。
  8. 最后,当执行测试时,测试会将所有接口返回到其原始状态(活跃或不活跃)。

准备测试有线设备

您可以根据需要测试每个测试中运行的任意数量的网络设备。

开始前:

  • 确保以原生(最大)速度连接每个设备,否则测试会失败。
  • 确保测试服务器已启动并在运行。
  • 确保每个网络设备都以静态或动态方式通过 DHCP 分配 IP 地址。
  • 确保打开多个防火墙端口,以便 iperf 工具运行 TCP 和 UDP 子测试。
注意

默认情况下,端口 52001-52101 已打开。如果要更改默认端口,请更新 /etc/rhcert.xml 配置文件中的 iperf-porttotal-iperf-ports 值。

Example:

<server listener-port="8009" iperf-port="52001" total-iperf-ports="100">

如果没有打开防火墙端口,测试会在测试运行期间提示您打开防火墙端口。

可分区网络

该测试通过检查完整速度和分区功能,检查数据传输,来检查任何网络设备是否支持分区。

根据 NIC 的性能运行测试:

  • 如果 NIC 在分区时以全速运行,则使用以原生速度运行的 NIC 配置分区,并在该配置中执行网络测试。
  • 如果 NIC 在分区时没有全速运行,则首先运行测试两次,在不分区的情况下运行它以查看全速度操作,第二次运行它,使其启用了分区来查看分区功能。
注意

红帽建议为您的分区配置选择 1Gb/s 或 10Gb/s,以便它符合现有网络速度测试。

准备测试无线以太网设备

根据正在测试的无线卡,您连接到的无线接入点必须具有执行 WirelessG, WirelessN, WirelessAC, WirelessAX, WiFi6, 和 WiFi6E 网络测试的能力。

执行测试

网络测试是非交互式的。运行以下命令,然后从显示的列表中选择 适当的网络 测试名称。

 rhcert-run
Expand
表 A.3. 手动添加并运行测试
速度类型手动添加以太网测试的命令手动运行以太网测试的命令

1GigEthernet

rhcert-cli plan --add --test 1GigEthernet --device <device name>
rhcert-cli run --test 1GigEthernet --server <test server IP addr>

10GigEthernet

rhcert-cli plan --add --test 10GigEthernet --device <device name>
rhcert-cli run --test 10GigEthernet --server <test server IP addr>

20GigEthernet

rhcert-cli plan --add --test 20GigEthernet --device <device name>
rhcert-cli run --test 20GigEthernet --server <test server IP addr>

25GigEthernet

rhcert-cli plan --add --test 25GigEthernet --device <device name>
rhcert-cli run --test 25GigEthernet --server <test server IP addr>

40GigEthernet

rhcert-cli plan --add --test 40GigEthernet --device <device name>
rhcert-cli run --test 40GigEthernet --server <test server IP addr>

50GigEthernet

rhcert-cli plan --add --test 50GigEthernet --device <device name>
rhcert-cli run --test 50GigEthernet --server <test server IP addr>

100GigEthernet

rhcert-cli plan --add --test 100GigEthernet --device <device name>
rhcert-cli run --test 100GigEthernet --server <test server IP addr>

200GigEthernet

rhcert-cli plan --add --test 200GigEthernet --device <device name>
rhcert-cli run --test 200GigEthernet --server <test server IP addr>

400GigEthernet

rhcert-cli plan --add --test 400GigEthernet --device <device name>
rhcert-cli run --test 400GigEthernet --server <test server IP addr>

<device name& gt ; 和 <test server IP addr > 替换为适当的值。

运行时间

网络测试需要大约 2 分钟来测试每个基于 PCIe 的、gigabit、有线以太网卡,并且所需的 可支持 测试在总运行时间上新增一分钟。

A.2.32. NetworkManageableCheck

测试涵盖的内容

NetworkManageableCheck 测试针对系统中所有可用的网络接口运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试包含两个执行以下任务的子测试:

  1. 检查 BIOS 设备名称,以确认接口遵循固件设定的术语。

    注意

    BIOS 设备名称验证仅在 x86 系统上运行。

  2. 检查网络管理器是否管理接口,用于评估当前的网络管理状态。

执行测试

NetworkManageableCheck 测试是必需的。它通过自我检查和受支持的测试执行,以确保对网络接口进行全面检查和验证。

运行时间

完成测试需要大约 1 分钟时间。但是,测试的持续时间因系统和接口数量而异。

A.2.33. NVMe over Fabric 测试

NVMe over Fabrics (也称为 NVMe-oF 和 non-volatile memory express over fabrics)是一个协议规格,旨在使用 NVMe 协议将主机连接到网络光纤中的存储。

协议旨在启用主机计算机和目标固态存储设备或系统之间的数据传输,通过基于 NVMe 消息的命令实现。可以通过以太网或 InfiniBand 等方法传输数据传输。

A.2.33.1. nvme_infiniband

测试涵盖的内容

nvme_infiniband 测试通过 RDMA 网络验证 NVMe SSD 驱动器的访问和使用。Host Under Test 被配置为 NVMe 客户端,lab 代理系统被配置为 NVMe 目标。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

  1. 验证是否载入了必要的内核模块,并且 NVMe 客户端是否已连接到 NVMe 目标。
  2. 通过运行发现、断开连接和连接命令来确认 NVMe 目标和客户端之间的连接。
  3. 检测用于连接到目标系统中的存储设备的网络接口,并从 STORAGEinfiniband 连接 测试运行一种类型的测试。

对于 NVMe over Fabric 存储测试,在 NVMe 客户端系统上执行测试,但 NVMe 设备物理驻留在 NVMe 目标主机上。NVMe 客户端和服务器都使用 RDMA 协议进行通信。

准备测试

在开始测试前,请确保:

  • NVMe 目标和 NVMe 客户端系统会被正确配置,它是 RDMA 网络的一部分。
  • NVMe 客户端和 NVMe 目标运行相同的 RHEL 版本。否则,RHEL 9.0 上的 NVMe 客户端和 RHEL 8.5 上的 NVMe 目标之间的通信会导致类似于 Invalid MNAN 值 1024 次连接的 错误。

执行测试

测试是非交互式的。目前,此测试只能通过 CLI 计划并执行。

运行时间

此测试运行大约需要 15 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.33.2. nvme_iwarp

测试涵盖的内容

nvme_iwarp 测试通过 RDMA 网络验证 NVMe SSD 驱动器的访问和使用。测试支持在 RHEL 8 上运行。Host Under Test 被配置为 NVMe 客户端,lab 代理系统被配置为 NVMe 目标。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

  1. 验证是否载入了必要的内核模块,并且 NVMe 客户端是否已连接到 NVMe 目标。
  2. 通过运行发现、断开连接和连接命令来确认 NVMe 目标和客户端之间的连接。
  3. 检测用于连接到目标系统中的存储设备的网络接口,并从 STORAGEiwarp 连接 测试运行一种类型的测试。

对于 NVMe over Fabric 存储测试,在 NVMe 客户端系统上执行测试,但 NVMe 设备物理驻留在 NVMe 目标主机上。NVMe 客户端和服务器都使用 RDMA 协议进行通信。

准备测试

在开始测试前,请确保:

  • NVMe 客户端正在运行 RHEL 8.x 或 9.x。
  • NVMe 目标和 NVMe 客户端系统会被正确配置,是 RDMA 网络的一部分。
  • NVMe 客户端和 NVMe 目标运行相同的 RHEL 版本,否则 RHEL 9.0 上的 NVMe 客户端与 NVMe 目标之间的通信会导致错误,Invalid MNAN value 1024 attempting nvme connect

执行测试

测试是非交互式的。目前,此测试只能通过 CLI 计划并执行。

运行时间

此测试运行大约需要 15 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.33.3. nvme_omnipath

测试涵盖的内容

nvme_omnipath 测试通过 RDMA 网络验证 NVMe SSD 驱动器的访问和使用。测试支持在 RHEL 8 上运行。Host Under Test 被配置为 NVMe 客户端,lab 代理系统被配置为 NVMe 目标。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

  1. 验证是否载入了必要的内核模块,并且 NVMe 客户端是否已连接到 NVMe 目标。
  2. 通过运行发现、断开连接和连接命令来确认 NVMe 目标和客户端之间的连接。
  3. 检测用于连接到目标系统中的存储设备的网络接口,并从 STORAGEomnipath 连接 测试运行一种类型的测试。

对于 NVMe over Fabric 存储测试,在 NVMe 客户端系统上执行测试,但 NVMe 设备物理驻留在 NVMe 目标主机上。NVMe 客户端和服务器都使用 RDMA 协议进行通信。

准备测试

在开始测试前,请确保:

  • NVMe 客户端正在运行 RHEL 8.x 或 9.x。
  • NVMe 目标和 NVMe 客户端系统会被正确配置,是 RDMA 网络的一部分。
  • NVMe 客户端和 NVMe 目标运行相同的 RHEL 版本,否则 RHEL 9.0 上的 NVMe 客户端与 NVMe 目标之间的通信会导致错误,Invalid MNAN value 1024 attempting nvme connect

执行测试

测试是非交互式的。目前,此测试只能通过 CLI 计划并执行。

运行时间

此测试运行大约需要 15 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.33.4. nvme_roce

测试涵盖的内容

nvme_roce 测试通过 RDMA 网络验证 NVMe SSD 驱动器的访问和使用。测试支持在 RHEL 8 上运行。Host Under Test 被配置为 NVMe 客户端,lab 代理系统被配置为 NVMe 目标。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

  1. 验证是否载入了必要的内核模块,并且 NVMe 客户端是否已连接到 NVMe 目标。
  2. 通过运行发现、断开连接和连接命令来确认 NVMe 目标和客户端之间的连接。
  3. 检测用于连接到目标系统中的存储设备的网络接口,并从 STORAGERoCE 连接 测试运行一种类型的测试。

对于 NVMe over Fabric 存储测试,在 NVMe 客户端系统上执行测试,但 NVMe 设备物理驻留在 NVMe 目标主机上。NVMe 客户端和服务器都使用 RDMA 协议进行通信。

准备测试

在开始测试前,请确保:

  • NVMe 客户端正在运行 RHEL 8.x 或 9.x。
  • NVMe 目标和 NVMe 客户端系统会被正确配置,是 RDMA 网络的一部分。
  • NVMe 客户端和 NVMe 目标运行相同的 RHEL 版本,否则 RHEL 9.0 上的 NVMe 客户端与 NVMe 目标之间的通信会导致错误,Invalid MNAN value 1024 attempting nvme connect

执行测试

测试是非交互式的。目前,此测试只能通过 CLI 计划并执行。

运行时间

此测试运行大约需要 15 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.33.5. nvme_tcp

测试涵盖的内容

nvme_tcp 测试通过 TCP 网络验证 NVMe SSD 驱动器的访问和使用。测试目前作为技术预览提供,支持在 RHEL 8 中运行。Host Under Test 被配置为 NVMe 客户端,lab 代理系统被配置为 NVMe 目标。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

  1. 验证是否载入了必要的内核模块,并且 NVMe 客户端是否已连接到 NVMe 目标。
  2. 通过运行发现、断开连接和连接命令来确认 NVMe 目标和客户端之间的连接。
  3. 检测用于连接到目标系统中的存储设备的网络接口,并从 STORAGENETWORK 测试运行一种类型的测试。

对于 NVMe over Fabric 存储测试,在 NVMe 客户端系统上执行测试,但 NVMe 设备物理驻留在 NVMe 目标主机上。NVMe 客户端和服务器都使用 TCP 协议进行通信。

准备测试

在开始测试前,请确保:

  • NVMe 客户端正在运行 RHEL 8.x。
  • NVMe 目标和 NVMe 客户端系统会被正确配置,是 RDMA 网络的一部分。
注意

NVMe over TCP 的默认 TCP 端口号为 8009。NVMe over RDMA 的默认 TCP 端口号为 4420。您可以使用任何不与其他当前应用程序冲突的 TCP 端口号。如果存在端口冲突,请使用不同的 TCP 端口号 8009 重新配置 NVMe 端口号。

执行测试

测试是非交互式的。目前,此测试只能通过 CLI 计划并执行。

运行时间

此测试需要大约 10 分钟才能运行。任何其它强制或选定测试都将添加到整个运行时间。

A.2.34. omnipath 连接

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

Omnipath Connection 测试运行以下子测试,以确保在测试时从下拉菜单中选择的 IP 地址来确保基准功能:

  1. Ping test - 从 HUT 上测试的设备的起始 IP 地址到测试服务器的所选 IP 地址运行 ping。
  2. Rping test - 在测试服务器上运行 rping,使用所选的测试服务器 IP 地址运行 HUT,然后比较结果以验证其是否运行完成。
  3. Rcopy test - 在测试服务器和 HUT 上运行 rcopy,发送随机生成的文件并比较测试服务器上的 md5sums 和 HUT,以验证已成功传输。
  4. rdma-ndd 服务 test - 验证 stop、start 和 restart service 命令可以正常工作。
  5. opensm 服务测试 - 验证 stop、start 和 restart service 命令可以正常工作。
  6. LID 验证测试 - 指示是否设置了设备的 LID,而不是默认值。
  7. 链接速度测试 - 指示检测到的链接速度为 100Gb。
  8. Smpquery test - 在测试服务器上运行 spmquery,使用设备和端口进行另一个验证,设备/端口已注册到光纤。
  9. ib_write_bw test

    从 HUT 运行 ib_write_bw 到测试服务器的所选 IP 地址,以测试 Omnipath 写入带宽,并验证它是否可以访问所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

  10. ib_read_bw test

    从 HUT 运行 ib_read_bw 到测试服务器的所选 IP 地址,以测试 Omnipath 读取带宽,并验证它能否到达所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

  11. ib_send_bw test

    从 HUT 运行 ib_send_bw 到测试服务器的所选 IP 地址,以测试 Omnipath 发送带宽,并验证它能否到达所需的带宽。在带宽测试过程中调整 queue pair 参数,以获得接近行率的吞吐量。

准备测试

  • 在同一结构上,确保测试服务器和 HUT 是单独的计算机。您需要从红帽客户门户网页的 Downloads 部分在测试服务器上安装 opa-basic-tools

执行测试

这是一个交互式测试。运行以下命令,然后从显示的列表中选择适当的 omnipath 连接 测试名称。

 rhcert-run

系统将提示您输入下拉菜单,以选择要在其中执行测试的 IP 地址(测试服务器的 IP 地址)。选择与您要运行测试的 HUT 设备同一结构中设备对应的 IP 地址。

手动添加并运行测试

使用以下命令手动添加 OmnipathConnectionTest :

rhcert-cli plan --add --test Omnipath --device <device name>_devicePort_<port number>

使用以下命令手动运行 OmnipathConnectionTest :

rhcert-cli run --test Omnipath --server <test server IP addr>

运行时间

运行此测试需要少于 10 分钟。

A.2.35. power_stop

测试涵盖的内容

Suspend-to-Idle 状态(启用)允许处理器在系统暂停时处于深度空闲状态。它冻结用户空间,并将所有 I/O 设备置于低功耗状态,从而节省系统功耗。

power_stop 测试旨在验证这些 Stop (或空闲)状态是否在 ppc64le CPU 架构机器上按预期工作,特别是基于 Power9 的系统。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试使用 lsprop 命令收集特定系统支持的所有空闲状态的信息,使用 cpupower 命令来启用和禁用这些状态。测试会观察每个 cpu idle 状态的使用量和持续时间计数器递增到 affirm (如果它已启用)。

成功标准

在启用前后,更改 stop 状态的 usage 和 duration 参数值。

  • PASS:如果每个状态增加其计数器参数值
  • WARN: 如果有任何状态无法增加其计数器参数值
  • FAIL :如果任何状态没有增加其计数器
  • 预览:任何其他未知问题

准备测试

如果 Host Under Test (HUT)满足以下要求,则会自动规划此测试:

  • HUT 运行了受支持的 RHEL 版本之一。
  • 底层架构是 ppc64le
  • CPU 型号是 POWER9
注意

此测试不受支持,在任何其他 RHEL 版本和构架中执行时会失败。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 power_stop 测试名称。

 rhcert-run

运行时间

完成测试需要的时间少于五分钟,但可能会根据 CPU Idle Stop 状态的不同而有所不同。

A.2.36. profiler

profiler 测试从 Host Under Test 中收集性能指标,并确定是否从软件收集指标还是 RHEL 内核支持的硬件性能监控单元(PMU)。如果指标是基于硬件的,则测试会进一步决定 PMU 是否只包括每个内核计数器,或者包括每个软件包计数器。配置文件测试分为三个测试、profiler_hardware_coreprofiler_hardware_uncoreprofiler_software

A.2.36.1. profiler_hardware_core

测试涵盖的内容

profiler_hardware_core 测试通过检查循环事件,使用基于硬件的计数器收集性能指标。核心事件测量处理器内核的功能,如 L2 缓存。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

如果找到核心硬件事件计数器,并通过运行 find /sys/devices done -type f -name ' cpu*cycles ' 命令在 /sys/devices resolved -type f -name 'cpu*cycles' 命令找到 cpu*cycles 文件,则会计划测试。

测试执行多个命令来累积 'cycle' 事件示例,检查是否检测到 'cpu cycle' 事件,并检查是否收集了样本。

注意

此测试并不能获得详细测试,不会测试给定处理器可能或可能没有的每一个可能的核心计数器。

准备测试

运行此测试没有特殊要求。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 profiler_hardware_core 测试名称。

 rhcert-run

运行时间

测试大约需要 30 秒。任何其它强制或选定测试都将添加到整个运行时间。

A.2.36.2. profiler_hardware_uncore

测试涵盖的内容

profiler_hardware_uncore 测试使用基于硬件的软件包范围计数器收集性能指标。uncore 事件测量核心外的处理器的功能,但位于软件包内,如内存控制器。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

如果找到非核心硬件事件计数器,则会计划测试。如果找到任何非核心事件并收集任何一个事件的统计信息,则测试通过。如果发现了非核心的事件,但不会收集统计信息,因为不支持这些事件,则测试会失败。

测试执行多个命令,以收集非核心事件列表和未核心事件统计信息。

注意

此测试并不能获得详细测试,它不会测试给定处理器可能或可能没有的非内核计数器。

准备测试

运行此测试没有特殊要求。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 profiler_hardware_uncore 测试名称。

 rhcert-run

运行时间

测试大约需要 30 秒。任何其它强制或选定测试都将添加到整个运行时间。

A.2.36.3. profiler_software

测试涵盖的内容

profiler_software 测试通过检查 cpu_clock 事件来使用基于软件的计数器收集性能指标。

可以使用此测试认证软件计数器。但是,对于具有高性能要求的客户,此测试可能会受到限制。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

如果没有找到核心硬件事件计数器,则会计划测试。

测试执行多个命令来累积 cpu-clock 事件示例,检查是否检测到 cpu-clock 事件,并检查是否收集了样本。

准备测试

运行此测试没有特殊要求。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 profiler_software 测试名称。

 rhcert-run

运行时间

测试大约需要 30 秒。任何其它强制或选定测试都将添加到整个运行时间。

A.2.37. realtime_interrupt

注意

所有实时认证都需要此测试。

测试涵盖的内容

realtime_interrupt 测试在运行 Red Hat Enterprise Linux for Real Time 的系统上验证中断驱动的实时性能。它测量由硬件中断和计时器事件导致的延迟,以验证硬件是否可以在持续负载下满足实时性能要求。

注意

该测试仅计划运行红帽实时内核(kernel-rt)的系统。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

初步测试:

在运行 realtime 测试前,会执行以下检查:

  • 隔离的 CPU - 检测并标识隔离 CPU 以运行实时工作负载。
  • tuned version - 在测试下验证系统的已安装 tuned 软件包版本。
  • Active Tuned 配置集 - 确认活跃的调优配置集已设置为 realtime。如果没有,则测试会失败。

实时测试:

  1. 硬件延迟检测(HWLatDetect Subtest): HWLatDetect 子测试测量硬件中断导致的系统延迟,并检测 BIOS、固件或其他硬件组件的延迟。

    它使用 hwlatdetect 工具,它使用 SCHED_FIFO 调度策略运行高优先级任务,rt_priority 为 95。此设置禁用基于软件的中断,确保所有测量的延迟都仅来自硬件或固件。

    通过最小化与操作系统的干扰,hwlatdetect 有助于区分硬件降低和操作系统降低延迟。这样可以更轻松地识别实时或对延迟敏感的系统中性能问题的潜在原因。

  2. 计时器事件延迟(RTeval 子测试): 通过运行 cyclictest 工具,RTeval 子测试测量计时器事件延迟。cyclictest 为每个 CPU 创建一个测量线程,每个线程以高实时优先级运行。每个线程都使用 100 秒的时间执行重复测量周期,如下所示:

    • 捕获时间戳(t1)
    • 定义的时间段的睡眠
    • 捕获第二个时间戳(t2)
    • 计算延迟,如下所示: latency = t2 mtc (t1 + period)。
    • 持续重复

      注意

      latency 代表理论唤醒时间(t1+period)和实际 wakeup 时间(t2)之间的区别。每个测量线程记录最小值、最大和平均延迟值。

      虽然 cyclictest 运行,但 rteval 同时应用系统负载,包括:

    • 并行 Linux 内核编译。
    • 调度程序基准(hackbench)。

    完成运行后,Rteval 会对 收集的数据进行统计分析,计算 平均,median,模式,variance, 和 Standard deviation 以评估系统稳定性和延迟一致性。

配置验证

对于 RHEL 8 和 RHEL 9,测试会验证以下内容:

  • /sys/devices/system/cpu/isolated 中正确配置了隔离的 CPU。
  • tuned 软件包版本是 HEKETI 2.19.0,它支持自动设置 isolated_cores
  • realtime tuned 配置集处于活跃状态。
  • 为内务任务保留内核,而不是完全利用所有 CPU。

如果这些检查失败,测试会发出警告并继续执行。

准备测试

  • 在将系统添加到认证前,安装并启动实时内核。该认证工具会自动检测实时内核,并调度 realtime_interrupt 测试。
  • 对于 RHEL 8 和 RHEL 9,tuned 版本为 2.19.0,将 tuned 配置集设置为 realtime 并重新引导。
  • 确保为实时性能进行了优化 BIOS 和固件设置。
注意
  • 如果您需要实时性能优化帮助,您必须提供红帽对您的系统的访问,以便进行必要的配置或 BIOS 更改。
  • 新安装的内核继承之前配置的内核中的内核命令行参数。如需更多信息,请参阅 更改所有引导条目的内核命令行参数

执行测试

realtime 测试是非交互式的。

运行以下命令,然后从显示的列表中选择适当的 realtime_interrupt 测试名称:

 rhcert-run

只有在系统运行 rt-kernel 时,测试才会出现。

评估标准

realtime_interrupt 测试根据 rteval 报告的两个关键指标评估实时性能。

  • rteval 或 cyclictest 阈值:

    rteval_maxlatency = 150.0 µs max latency
    rteval_maxstddev  = 3.0 µs max standard deviation
    注意

    这些值仅适用于 1 套接字和 2 套接字系统。

  • 4 套接字系统阈值:

    rteval_maxlatency = 250.0 µs max latency
    rteval_maxstddev  = 5.0 µs max standard deviation

成功标准:

所有测量的值都会保留在阈值中。

运行时间

系统管理模式(hwlatdetect)在两小时内运行,而计时器事件分析(rteval)在所有计算机上运行了十小时的时间。所需的可支持测试将大约一分钟添加到整个运行时间。

A.2.38. realtime_polling

注意

此测试是可选的,它主要适用于针对基于轮询的应用程序的系统,如 Telco 工作负载。

测试涵盖的内容

realtime_polling 在运行 Red Hat Enterprise Linux for Real Time 的系统上验证基于轮询的实时性能。

此测试侧重于使用忙碌等待(polling)机制而不是中断驱动执行的系统来实现一致的、交易的低延迟,通常在电信(Telco)和网络密集型环境中发现。

测试会在持续轮询工作负载下评估系统行为,以确保可预测的响应时间和稳定的实时性能。

注意

该测试仅计划运行红帽实时内核(kernel-rt)的系统。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

初步测试:

在运行 realtime 测试前,会执行以下检查:

  • 隔离的 CPU - 检测并标识隔离 CPU 以运行实时工作负载。
  • tuned version - 在测试下验证系统的已安装 tuned 软件包版本。
  • Active Tuned 配置集 - 确认活跃的调优配置集已设置为 realtime。如果没有,则测试会失败。

实时测试:

  1. 硬件延迟检测(HWLatDetect Subtest): HWLatDetect 子测试测量硬件中断导致的系统延迟,并检测 BIOS、固件或其他硬件组件的延迟。

    它使用 hwlatdetect 工具,它使用 SCHED_FIFO 调度策略运行高优先级任务,rt_priority 为 95。此设置禁用基于软件的中断,确保所有测量的延迟都仅来自硬件或固件。

    通过最小化与操作系统的干扰,hwlatdetect 有助于区分硬件降低和操作系统降低延迟。这样可以更轻松地识别实时或对延迟敏感的系统中性能问题的潜在原因。

  2. 轮询延迟测量(OSLat Subtest): OSLat 在持续轮询工作负载下测量每个 CPU 延迟,特别是对于 Telco 工作负载。它使用一个忙碌等待的机制来测量系统如何在微秒级循环中持续响应,而不依赖于中断。

    每个轮询线程在隔离的 CPU 上运行,并持续测量预期和实际轮询间隔之间的时间差。

    测试记录每个 CPU 的最小最大平均 以及 标准偏差 值。

    主要功能:

    • 以微秒为单位测量最大延迟
    • 为 Telco 工作负载使用 20 个可配置的阈值
    • 运行 12 小时(43,200 秒)
    • 命令示例:

      oslat --cpu-list={isolated_cpus} --duration=43200 --rtprio=1 --bucket-width=64000 [--trace-threshold=20]`

配置验证

对于 RHEL 8 和 RHEL 9,测试会验证以下内容:

  • /sys/devices/system/cpu/isolated 中正确配置了隔离的 CPU。
  • tuned 软件包版本是 HEKETI 2.19.0,它支持自动设置 isolated_cores
  • realtime tuned 配置集处于活跃状态。
  • 为内务任务保留内核,而不是完全利用所有 CPU

如果这些检查失败,测试会发出警告并继续执行。

准备测试

  • 在将系统添加到认证前,安装并启动实时内核。该认证工具可自动检测实时内核,并计划 realtime_polling 测试。
  • 对于 RHEL 8 和 RHEL 9,tuned 版本为 2.19.0,将 tuned 配置集设置为 realtime 并重新引导。
  • 确保为实时性能进行了优化 BIOS 和固件设置。
注意
  • 如果您需要实时性能优化帮助,您必须提供红帽对您的系统的访问,以便进行必要的配置或 BIOS 更改。
  • 新安装的内核继承之前配置的内核中的内核命令行参数。如需更多信息,请参阅 更改所有引导条目的内核命令行参数

执行测试

realtime 测试是非交互式的。

运行以下命令,然后从显示的列表中选择适当的 realtime_polling 测试名称:

 rhcert-run

只有在系统运行 rt-kernel 时,测试才会出现。

评估标准

realtime_polling 测试根据 hwlatdetectoslat 工具报告的延迟指标评估实时性能。

  • hwlatdetect:

    hwlatdetect_maxlatency = 15.0 µs   # max hardware latency
    hwlatdetect_maxstddev  = 3.0 µs    # max standard deviation
  • oslat:

    oslat_maxlatency       = 20.0 µs max polling latency
    oslat_maxstddev        = 3.0 µs max standard deviation
注意

该测试仅计划运行红帽实时内核(kernel-rt)的系统。

成功标准:

所有测量的值都会保留在阈值中。

查看状态:

如果 OSLat 超过 20 个,则测试会返回 Review (not failure)。

运行时间

系统管理模式(hwlatdetect)为两小时运行,所有机器上的轮询延迟分析(OSLat)都运行轮询延迟分析(OSLat)。所需的可支持测试将大约一分钟添加到整个运行时间。

A.2.39. reboot

测试涵盖的内容

重启 测试确认系统在出现提示时可以重新引导。目前不需要认证。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试会发出 shutdown -r 0 命令来立即重启系统,且无延迟。

准备测试

通过关闭任何正在运行的应用程序,确保在运行此测试前重启系统。

执行测试

重启测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 reboot 测试名称。

 rhcert-run

当您到达 测试程序的重启部分时,系统会要求您重新启动?如果您准备好执行测试,请回答 y。系统将重新引导并在重新启动后,测试服务器将验证重新引导是否成功。

A.2.40. remote_management_bmc

测试涵盖的内容

remote_management_bmc 测试使用 Red Hat OpenShift 和 Red Hat OpenStack Platform 中使用的 Ironic 裸机置备服务验证系统 Under Test (SUT)上的 Baseboard Management Controller (BMC)的功能和认证就绪。

该测试确认,裸机系统可以通过受支持的 OpenShift 和 OpenStack Ironic 版本远程管理。它在实验室测试系统(LTS)上运行中央 Ironic 容器,它连接到 SUT 的 BMC 以执行所需的远程管理操作。

支持的 RHEL 版本

  • RHEL 9

支持的 OpenShift 和 OpenStack 环境

  • 与 RHEL 9 一致的 OpenShift Container Platform 版本
  • 与 RHEL 9 一致的 Red Hat OpenStack Platform 版本

    在测试执行过程中,系统会提示您选择要针对的 Ironic 版本。选择与您要认证的 OpenShift 或 OpenStack 版本对应的版本。

注意

测试在 RHEL 9 环境中执行,但不发布在 RHEL 认证下。相应 OpenShift 和 OpenStack 认证在适用的情况下被得分为准。

测试的作用

测试按顺序执行以下 BMC 操作:

  • 管理 :在 Ironic 中将 SUT 注册为可管理的节点。
  • 电源控制 :测试打开和远程关闭 SUT 的功能。
  • 引导设备配置 :指示可以通过 BMC 配置引导设备设置。
  • 虚拟介质引导 :通过虚拟介质 附加引导 ISO 并启动系统。
  • 虚拟介质分离 :在成功引导后删除虚拟介质。

测试完成后,概述报告会显示每个操作的 pass 或 fail 状态。

成功标准

所有五个操作都必须通过,才能被视为成功。

  • PASS :所有操作都成功;BMC 已针对选定的 Ironic 版本认证。
  • FAIL: 一个或多个操作失败;查看错误消息以识别问题。

准备测试

在运行测试前,请确保 LTS 上满足以下要求:

  • 安装以下软件包:

    • redhat-certification
    • redhat-certification-hardware
    • redhat-certification-bmc
  • pull secret 存储在: /opt/dev-scripts/pull_secret.json 中。

    如果没有 pull secret,您可以从 OpenShift Cluster Manager 下载它。具体步骤请参阅 下载和更新 pull secret

  • 并行软件包从 Extra Packages for Enterprise Linux (EPEL) 存储库安装。
  • BMC 配置文件 install-config.yaml 被创建并配置,并配置了要测试的系统详情。

    文件位置

    /etc/redhat-certification/remote_management/install-config.yaml.

    示例

    platform:
      baremetal:
        provisioningBridge: eth0
        hosts:
          - name: dell-server
            bmc:
              address: redfish-virtualmedia+https://192.168.0.1/redfish/v1/Systems/1
              username: bmc_user
              password: bmc_password
              disableCertificateVerification: true

    所需的参数

  • 用于 BMC 通信的 LTS 上的 provisioningBridge - 网络接口。
  • 系统 的名称 - Descriptive 名称。
  • address - BMC 地址格式为 < boot-method>+<protocol>://<ip><redfish-path>
  • 用户名/密码 BMC 凭证。
  • disableCertificateVerification - 为自签名证书设置为 true

    支持的引导方法

    redfish-virtualmedia, idrac-virtualmedia, ilo5-virtualmedia

网络要求

LTS 需要以下网络配置:

网络连接

  • LTS 必须有到 SUT 的 BMC 管理界面的直接网络连接。
  • LTS 必须能够访问 BMC 的 IP 地址。
  • BMC 必须能够访问所需端口的 LTS。

LTS 上的所需端口

  • TCP 6385 - Ironic API 服务.
  • 用于虚拟介质访问的 TCP 8080 - HTTP 服务器(默认、可配置)。

防火墙配置

  • 确保 LTS 上的防火墙规则允许从上面列出的端口上 BMC 的传入连接。
  • 确保 BMC 上的防火墙规则允许到 LTS 的传出连接。
  • 如果使用 LTS 和 BMC 之间的网络防火墙,请将其配置为允许这些端口上双向流量。
重要

在继续虚拟介质操作前,一些 BMC 实现(如 Dell iDRAC)通过 HTTP 挂载 ISO 的能力。确保 BMC 可以建立到 LTS 的 HTTP 连接。

执行测试

remote_management_bmc 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 remote_management_bmc 测试名称。

 rhcert-run

运行时间

remote_management_bmc 测试大约需要 5-10 分钟。任何其它强制或选定测试都将添加到整个运行时间。

A.2.41. RoCE 连接

测试的作用

RoCE Connection 测试运行以下子测试,以确保在测试时从集合的下拉菜单中选择的基准功能:

  1. Ping test - 从 HUT 上测试的设备的起始 IP 地址到测试服务器的所选 IP 地址运行 ping。
  2. Rping test - 在测试服务器上运行 rping,使用所选的测试服务器 IP 地址运行 HUT,然后比较结果以验证其是否运行完成。
  3. Rcopy test - 在测试服务器和 HUT 上运行 rcopy,发送随机生成的文件并比较测试服务器上的 md5sums 和 HUT,以验证已成功传输。
  4. ethtool test - 运行 ethtool 命令,传递检测到的 roce 设备的网络设备。
  5. ib_write_bw test

    从 HUT 运行 ib_write_bw 到测试服务器的所选 IP 地址,以测试 RoCE 写入带宽,并验证它是否可以访问所需的带宽。

  6. ib_read_bw test

    从 HUT 运行 ib_read_bw 到测试服务器的所选 IP 地址,以测试 RoCE 读取带宽,并验证它能否到达所需的带宽。

  7. ib_send_bw test

    从 HUT 运行 ib_send_bw 到测试服务器的所选 IP 地址,以测试 RoCE 发送的带宽,并验证它能否到达所需的带宽。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

准备测试

  • 在同一光纤上,确保测试服务器和 HUT 是单独的计算机。

执行测试

这是一个交互式测试。运行以下命令,然后从显示的列表中选择适当的 RoCE 连接 测试名称。

 rhcert-run

系统将提示您输入下拉菜单,以选择要在其中执行测试的 IP 地址(测试服务器的 IP 地址)。选择与您要运行测试的 HUT 设备同一结构中设备对应的 IP 地址。

Expand
表 A.4. 手动添加并运行测试
速度类型手动添加 RoCEConnection Test 的命令手动运行 RoCEConnection Test 的命令

10GigRoCE

rhcert-cli plan --add --test 10GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 10GigRoCE --server <test server IP addr>

20GigRoCE

rhcert-cli plan --add --test 20GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 20GigRoCE --server <test server IP addr>

25GigRoCE

rhcert-cli plan --add --test 25GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 25GigRoCE --server <test server IP addr>

40GigRoCE

rhcert-cli plan --add --test 40GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 40GigRoCE--server <test server IP addr>

50GigRoCE

rhcert-cli plan --add --test 50GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 50GigRoCE --server <test server IP addr>

100GigRoCE

rhcert-cli plan --add --test 100GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 100GigRoCE --server <test server IP addr>

200GigRoCE

rhcert-cli plan --add --test 200GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 200GigRoCE --server <test server IP addr>

400GigRoCE

rhcert-cli plan --add --test 400GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device>
rhcert-cli run --test 400GigRoCE --server <test server IP addr>

将 & lt;device name&gt; , <port number &gt ; , <net device & gt; , 和 <test server IP addr > 替换为适当的值。

A.2.42. SATA

SATA 测试涵盖的内容

目前系统中有许多不同类型的持久在线存储设备。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

SATA 测试旨在测试在 udev 数据库中报告 ID_TYPE "disk" 的任何内容。此测试用于 SATA 驱动器。如果出现以下情况,则计划 hwcert/storage/SATA 测试:

  • 任何磁盘的控制器名称都提到 SATA,或者
  • 连接磁盘的主机的 lsscsi 传输来提及 SATA

如果以上两个条件不符合,则计划对检测到的设备进行存储测试。

A.2.43. SATA_SSD

SATA_SSD 测试涵盖的内容

如果这个测试决定了感兴趣的存储单元是 SSD,其接口是 SATA,它将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

SATA_SSD 测试的作用

测试找到 SCSI 存储类型,并确定在 /sys/block/sdap/queue/rotational 上连接的存储接口。如果 SSD 的 rotational 位设为零,则计划测试。

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于解决设备上的位置
  • physical_block_size - 设备可以操作的小型单元
  • minimum_io_size - 对于设备的随机输入/输出首选最小单元
  • optimal_io_size - 它是用于流传输输入/输出设备的首选单位
  • alignment_offset - 它是底层物理校准的偏移值

A.2.44. M2_SATA

M2_SATA 测试涵盖的内容

如果确定接口是 SATA,并通过 M2 连接附加此测试,将运行该测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

使用以下命令手动添加 M2_SATA 测试:

rhcert-cli plan --add --test M2_SATA --device host0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于解决设备上的位置
  • physical_block_size - 设备可以操作的小型单元
  • minimum_io_size - 对于设备的随机输入/输出首选最小单元
  • optimal_io_size - 它是用于流传输输入/输出设备的首选单位
  • alignment_offset - 它是底层物理校准的偏移值

A.2.45. U2_SATA

U2_SATA 测试涵盖的内容

如果确定接口是 SATA,并通过 U2 连接附加此测试,将运行该测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

使用以下命令手动添加 U2_SATA 测试:

rhcert-cli plan --add --test U2_SATA --device host0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于解决设备上的位置
  • physical_block_size - 设备可以操作的小型单元
  • minimum_io_size - 对于设备的随机输入/输出首选最小单元
  • optimal_io_size - 它是用于流传输输入/输出设备的首选单位
  • alignment_offset - 它是底层物理校准的偏移值

A.2.46. SAS

SAS 测试涵盖的内容

目前系统中有许多不同类型的持久在线存储设备。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

SAS 测试旨在测试在 udev 数据库中报告 ID_TYPE "disk" 的任何内容。此测试用于 SAS 驱动器。如果出现以下情况,则计划 hwcert/storage/SAS 测试:

  • 任何磁盘的控制器名称应该提到 SAS,或者
  • 磁盘所连接的主机的 lsscsi 传输应该提到 SAS

如果以上两个条件不符合,则计划对检测到的设备进行存储测试。

A.2.47. SAS_SSD

SAS_SSD 测试涵盖的内容

如果确定感兴趣的存储单元是 SSD,并且其接口是 SAS,则此测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

SAS_SSD 测试的作用

测试找到 SCSI 存储类型,并确定在 /sys/block/sdap/queue/rotational 上连接的存储接口。如果 SSD 的 rotational 位设为零,则计划测试。

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于解决设备上的位置
  • physical_block_size - 设备可以操作的小型单元
  • minimum_io_size - 对于设备的随机输入/输出首选最小单元
  • optimal_io_size - 它是用于流传输输入/输出设备的首选单位
  • alignment_offset - 它是底层物理校准的偏移值

A.2.48. PCIE_NVMe

PCIe_NVMe 测试涵盖的内容

如果接口是 NVMe,且设备通过 PCIE 连接连接,这个测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

PCIe_NVMe 测试的作用

如果逻辑设备主机名字符串包含 " nvme[0-9] ",则会计划此测试

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于处理设备上的位置。
  • device 可以操作的 physical_block_size - Smallest 单元。
  • 对于设备的随机输入或输出,首选 minimum_io_size - Minimum 单元。
  • optimal_io_size - Preferred 单元用于流输入或输出操作。
  • alignment_offset - Offset 值来自底层物理对齐。

A.2.49. M2_NVMe

M2_NVMe 测试涵盖的内容

如果接口是 NVMe,且设备通过 M2 连接连接,这个测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

要手动添加并运行 M2_NVMe 测试,请使用以下命令:

rhcert-cli plan --add --test M2_NVMe --device nvme0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于处理设备上的位置。
  • device 可以操作的 physical_block_size - Smallest 单元。
  • 对于设备的随机输入或输出,首选 minimum_io_size - Minimum 单元。
  • optimal_io_size - Preferred 单元用于流输入或输出操作。
  • alignment_offset - Offset 值来自底层物理对齐。

A.2.50. U2_NVMe

U2_NVMe 测试涵盖的内容

如果接口是 NVMe,且设备通过 U2 连接连接,这个测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

要手动添加并运行 U2_NVMe 测试,请使用以下命令:

rhcert-cli plan --add --test U2_NVMe --device nvme0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于处理设备上的位置。
  • device 可以操作的 physical_block_size - Smallest 单元。
  • 对于设备的随机输入或输出,首选 minimum_io_size - Minimum 单元。
  • optimal_io_size - Preferred 单元用于流输入或输出操作。
  • alignment_offset - Offset 值来自底层物理对齐

A.2.51. U3_NVMe

U3_NVMe 测试涵盖的内容

如果接口是 NVMe,且设备通过 U3 连接连接,这个测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

要手动添加并运行 U3_NVMe 测试,请使用以下命令:

rhcert-cli plan --add --test U3_NVMe --device nvme0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于处理设备上的位置。
  • device 可以操作的 physical_block_size - Smallest 单元。
  • 对于设备的随机输入或输出,首选 minimum_io_size - Minimum 单元。
  • optimal_io_size - Preferred 单元用于流输入或输出操作。
  • alignment_offset - Offset 值来自底层物理对齐。

A.2.52. E3_NVMe

E3_NVMe 测试涵盖的内容

如果接口是 NVMe,且设备通过 E3 连接连接,这个测试将运行。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

手动添加并运行测试

要手动添加并运行 E3_NVMe 测试,请使用以下命令:

rhcert-cli plan --add --test E3_NVMe --device nvme0

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于处理设备上的位置。
  • device 可以操作的 physical_block_size - Smallest 单元。
  • 对于设备的随机输入或输出,首选 minimum_io_size - Minimum 单元。
  • optimal_io_size - Preferred 单元用于流输入或输出操作。
  • alignment_offset - Offset 值来自底层物理对齐。

A.2.53. NVDIMM

NVDIMM 测试涵盖的内容

此测试像任何其他 SSD 非轮转存储测试一样工作,并确定 NVDIMM 存储设备

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

如果出现以下情况,则会计划对存储设备进行测试:

  • 存在由"ndctl list"报告的磁盘设备的命名空间(非易失性内存设备)
  • 它报告 sda 的 "DEVTYPE" 等于 'disk'

以下是作为测试一部分打印的设备参数值:

  • logical_block_size - 用于解决设备上的位置
  • physical_block_size - 设备可以操作的小型单元
  • minimum_io_size - 对于设备的随机输入/输出首选最小单元
  • optimal_io_size - 它是用于流传输输入/输出设备的首选单位
  • alignment_offset - 它是底层物理校准的偏移值

A.2.54. SR-IOV

测试的作用

SR-IOV 测试通过检查卡上是否支持 SR-IOV 功能,在测试(HUT)和测试服务器下认证主机上安装的 NIC 卡。

该测试基于单一根 I/O 虚拟化(SR-IOV)技术,其使单个物理硬件设备能够在多个虚拟机或容器之间共享,从而提高 I/O 操作的网络性能和效率。

支持的 RHEL 版本

  • RHEL 9
  • RHEL 10

测试涵盖的内容

该测试会检查 x86_64 系统上安装的 NIC 卡是否支持 SR-IOV 技术。

准备测试

在运行测试前:

  • 在 HUT 和 test 服务器上安装 NIC 卡。
  • 确保 NIC 卡测试各自有两个端口。
  • 确保测试服务器和 HUT 通过两个直接以太网电缆连接回回测试,以成功通过。
  • 确保在系统的 BIOS 中启用 Intel VT-d 或 AMD IOMMU 和 SR-IOV 全局启用参数。如需了解更多详细信息,请参阅系统的 BIOS 配置手册或制造商提供的其它方法。
  • 确保为 Device Settings 下的 NIC 卡启用 SRIOV。如需了解更多详细信息,请参阅 NIC 卡配置手动或者制造商提供的其它方法。
  • 按照上述顺序,在 HUT 和测试服务器上安装以下 RPM:

    1. 启用 epel 存储库,然后安装 beakerlib :

      • For RHEL 9

        # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
        # yum install beakerlib
      • 对于 RHEL 10

        # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
        # yum install beakerlib
    2. SR-IOV
  • 配置巨页

    # grubby --args='intel_iommu=on iommu=pt default_hugepagesz=1G hugepagesz=1G hugepages=32' --update-kernel=$(grubby --default-kernel)

    确定在配置完成后重启系统。

  • 确保置备 HUT 和 test 服务器。请参阅使用 Cockpit 配置系统并运行测试 ,或使用 CLI 配置系统并运行测试

执行测试

在 HUT 上:

  1. 根据您的系统配置 /etc/redhat-certification/sriov/nic_cert.conf编辑此路径生成的配置文件

    注意

    在运行 provision 命令后,每次都必须更新并保留配置文件备份。

  2. 运行测试
# rhcert-run

在 HUT 上执行测试时,对应的测试运行也会在测试服务器上以 auto 模式执行。测试是非交互式的,在后台运行。

运行时间

测试运行大约 2 小时。任何其它强制或选定测试都将添加到整个运行时间。

A.2.55. 存储

存储测试涵盖的内容

目前系统中有许多不同类型的持久在线存储设备。STORAGE 测试旨在测试在 udev 数据库中报告 ID_TYPE "disk" 的任何内容。这包括 IDE、SCSI、SATA、SAS 和 SSD 驱动器、PCIe SSD 块存储设备以及 SD 介质、xD 介质、MemoryStick 和 MMC 卡。test plan 脚本读取通过 udev 数据库,并查找满足上述条件的存储设备。当找到设备时,它会记录设备及其父项,并将其与任何其他记录设备的父设备进行比较。它确实可以确保只有具有唯一父级的设备被测试。如果之前没有看到父设备,则设备将添加到测试计划中。这会加快测试速度,因为每个控制器只有一个设备将根据策略指南进行测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

STORAGE 测试对唯一父项的所有存储设备执行以下操作:

  1. 该脚本通过分区表来查找不在 LVM 或软件 RAID 设备上的交换分区。如果找到,它将使用 swapoff 取消激活它,并将该空间用于测试。如果没有交换,系统仍然可以测试驱动器(如果没有分区)。请注意,交换设备必须处于活动状态,以便正常工作(测试会读取 /proc/swaps 来查找交换分区),并且交换分区不得在任何类型的软件容器中(无 LVM 或软件 RAID),但硬件 RAID 可以正常工作。
  2. 该工具在设备上创建一个文件系统,无论是在空白驱动器上的交换分区中。
  3. 文件系统已挂载,而 fiodt 命令用于测试该设备。fiodt 命令是一个 I/O 测试程序,它是一个通用的测试工具,能够测试、读取和写入设备。多个测试模式会验证存储设备的功能。
  4. 在挂载的文件系统测试后,卸载文件系统,并针对块设备执行 dt 测试,忽略文件系统。dt 测试使用"直接"参数来处理这一点。

准备测试

您应该安装官方测试计划中列出的所有驱动器和存储控制器。对于多个存储选项,可以一次测试系统,也可以单独安装每个存储设备,并自行运行存储测试。您可以决定每个测试的测试和控制器数量。除任何其他分区之外,附加到系统的每个逻辑驱动器必须包含交换分区,或者完全为空。这是为测试提供创建文件系统并运行测试的位置。交换分区的使用将带来更快速的测试,因为设备留有空白。它们总会比驱动器上放置的交换分区要大得多。

注意

如果测试 SD 介质卡,请使用您可以获得的最快卡。虽然类 4 SD 卡可能需要 8 小时或更长时间来运行测试,但类 10 或 UHS 1/2 卡可在 30 分钟或更短时间内完成测试运行。

当为官方测试计划选择存储设备时,审阅团队所运行的规则是"每个代码路径"的测试。我们认为,我们希望看到使用控制器可以使用的每个驱动程序运行的存储测试。同一控制器的多个驱动程序的场景通常涉及某些类型的 RAID 存储。在常规磁盘模式中,存储控制器通常使用一个驱动程序,在 RAID 模式中使用另一个驱动程序。有些驱动程序也会根据它们所在 RAID 模式使用。审阅团队将分析所有存储硬件,以确定需要用来满足所有测试要求的驱动程序。正因如此,您可以在官方测试计划中看到一次相同的存储设备。策略指南中提供了有关存储设备测试的完整信息。

执行测试

存储测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 STORAGE 测试名称。

 rhcert-run

运行时间,裸机

在 2013-era workstation 系统中安装的 6Gb/s SATA 硬盘驱动器上,存储测试需要大约 22 分钟时间。在 2013-era workstation 系统中安装的 6Gb/s SATA 固态驱动器上需要大约 3 分钟的时间。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.56. 特殊键

测试涵盖的内容

特殊密钥 测试从系统集成键盘中捕获各种输入事件。此测试只在有电池的系统中运行。

支持的 RHEL 版本

  • RHEL 8.6 及更新的版本
  • RHEL 9
  • RHEL 10

测试的作用

测试捕获以下内容:

  • 非 ACPI 相关的信号,如卷上和缩减、卷静默、显示备份和缩减等。
  • 发送与全局键盘快捷键关联的信号(如 < Meta+E > )的键按下,这将打开文件浏览器。

执行测试

测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 特殊键 测试名称。

 rhcert-run

此测试需要捕获所有输入事件。在测试过程中,按该设备上的所有非标准和多媒体键。

随时按 Escape 键结束测试,并查看一个键列表。如果您测试的所有密钥出现在列表中,则测试成功。

运行时间

完成测试需要不到 5 分钟。任何其它强制或选定测试都将添加到整个运行时间。

A.2.57. suspend

测试涵盖的内容

(laptops ony) suspend 测试涵盖了 S3 睡眠状态(暂停到 RAM)和挂起/恢复(暂停到磁盘)的 suspend/resume。该测试还包括冻结(暂停闲置 - s2idle)状态,允许保存更多能源。此测试仅调度到具有内置电池的系统,如笔记本电脑。

重要

暂停 RAM 并暂停磁盘能力是笔记本电脑中的基本特征。因此,我们在笔记本电脑上运行所有认证测试开始时自动暂停测试。这样可确保所有硬件功能通常都是 post-resume。测试将始终在笔记本电脑上运行,就像支持测试一样,无论是否调度了什么测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试查询 /sys/power/state 文件,并确定硬件支持哪些状态。如果在文件中看到"mem",它将调度 S3 睡眠测试。如果在文件中看到"磁盘",它将调度 S4 休眠测试。如果同时看到两者,则会同时调度这两者。以下是支持 S3 和 S4 状态的系统的步骤。如果您的系统不支持这两种类型,它将只运行与支持的类型相关的测试。

RHEL 8 和 RHEL 9 上的挂起状态写入 /sys/power/state 文件中。

  • 如果支持 S3 睡眠,该脚本将使用 pm-suspend 命令暂停 RAM。测试程序在系统睡眠后唤醒系统,脚本会检查 pm-suspend 的退出代码,以验证系统是否正常运行。然后,继续测试测试服务器接口。
  • 如果支持 S4 休眠,该脚本将使用 pm-suspend 命令挂起到磁盘。测试程序在系统休眠后唤醒系统,脚本检查 pm-suspend 的退出代码,以验证系统是否中断。然后,继续测试测试服务器接口。
  • 如果支持 S3 sleep,系统会提示您按手动调用它的键(a kbd:[Fn]+kbd:[F-key] combination or dedicated kbd:[Sleep] 键) (如果存在这样的键)。测试程序在系统睡眠后唤醒系统,脚本会检查 pm-suspend 的退出代码,以验证系统是否正常运行。然后,继续测试测试服务器接口。如果系统没有 suspend 键,则可以跳过这个部分。
  • 如果支持 S4 hibernation,系统会提示您按手动调用它的密钥(a kbd:[Fn]+kbd:[F-key] combination or dedicated kbd:[Hibernate] 键) (如果存在这样的键)。测试程序在系统休眠后唤醒系统,脚本检查 pm-suspend 的退出代码,以验证系统是否中断。然后,继续测试测试服务器接口。如果系统没有 suspend 键,则可以跳过这个部分。

准备测试

确保一个足够大的交换文件,以保存系统安装时创建的 RAM 内容。某人必须出现在 Host Under Test 中,才能将其从 suspend 和 hibernate 处唤醒。

执行测试

suspend 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 暂停 测试名称。

 rhcert-run

测试将提示 暂停?回答 Yes 以挂起笔记本电脑。测试服务器 将显示在发送 suspend 命令后等待响应。检查笔记本电脑,并确认它已完成暂停,然后按 power 按钮或任何那些将暂停的键。测试服务器将持续监控测试中的主机,以查看它是否已被阻塞。中断后,测试服务器 GUI 将会显示问题 Has resume completed?。按 YesNo 按钮,告诉测试服务器发生的情况。

然后,服务器将继续进行休眠测试。同样,单击 suspend? 问题下的 Yes 按钮,以将笔记本电脑置于休眠模式。

测试服务器 将显示在发送 hibernate 命令后等待响应。检查笔记本电脑并确认它已完成休眠,然后按 power 按钮或其它任意键(从休眠处唤醒)。测试服务器将持续监控 Host Under Test,以查看它是否已被忽略。中断后,测试服务器 GUI 将会显示问题 已经恢复?YesNo 按钮,告诉测试服务器发生的情况。

接下来,测试服务器将询问系统是否有键盘键,该键将导致主机 Under Test 暂停。如果存在,请单击问题 Does this system have a function key (Fn)下的 Yes 按钮,以挂起系统为 mem?。按照上述步骤验证挂起并唤醒系统以继续测试。

最后,测试服务器将询问系统是否有键盘键,该键将导致主机部 Test 休眠。如果存在,请单击问题 Does this system have a function key (Fn)下的 Yes 按钮,以挂起系统到磁盘?按照上述步骤验证休眠并唤醒系统以继续您调度的任何其他测试。

运行时间

在具有 4GB RAM 和非 SSD 硬盘驱动器的 2012 年时代笔记本电脑上,暂停测试大约需要 6 分钟时间。这是全系列测试的时间,包括基于 pm-suspend 的挂起和基于函数的 suspend 和 hibernate 运行。根据笔记本电脑可写入磁盘的速度、安装 RAM 的数量和速度以及笔记本电脑通过功能键进入暂停和休眠状态的功能而有所不同。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.58. 磁带

测试涵盖的内容

磁带 测试涵盖了所有类型的磁带驱动器。与驱动器关联的任何机器人都不会被此测试。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试使用 mt 命令回卷磁带,然后它是 /usr 目录的 tar,并将其存储在磁带上。tar 比较用于确定磁带上的数据是否与磁盘上的数据匹配。如果数据匹配,则测试会通过。

准备测试

在驱动器中插入适当大小的磁带。

执行测试

磁带测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 磁带 测试名称。

 rhcert-run

A.2.59. Thunderbolt3

测试涵盖的内容

Thunderbolt3 测试涵盖了从热插拔和基本功能角度来看的 Thunderbolt 3 端口,确保所有端口都可以被正确添加和删除。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试的目的是确保系统功能中存在的所有 Thunderbolt 3 端口都如预期。它要求输入可用的 Thunderbolt3 端口数量,然后要求测试程序插入并拔出 Thunderbolt 3 设备到每个端口。测试会监视 Thunderbolt 3 设备附加和分离事件,并记录它们。如果检测到测试程序输入的唯一端口的插件和拔出事件,则测试将传递。请注意,虽然 Thunderbolt 3 设备使用与 USB C 设备相同的物理连接器,但 USB C 设备不是 Thunderbolt 3 设备。如果使用 USB C 设备包括与 Thunderbolt 3 端口兼容的 USB C 设备,则测试不会传递。只有 Thunderbolt 3 设备可用于此测试。

准备测试

计算可用的 Thunderbolt3 端口,并有一个可用的 Thunderbolt3 设备在测试期间使用。

执行测试

Thunderbolt3 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 Thunderbolt3 测试名称。

 rhcert-run

系统提示时,输入系统上存在的可用 Thunderbolt3 端口的数量。系统将要求插入端口 Thunderbolt3 设备,然后暂停,直到测试程序按 y 键继续。然后,系统会要求设备取消插入,并将再次暂停,直到测试者按 y 键继续。这些步骤对输入的端口数量重复。请注意,测试端口没有正确或错误的顺序,但每个端口必须仅测试一次。

运行时间

Thunderbolt3 测试每 Thunderbolt3 端口大约需要 15 秒。这包括手动插入该设备的时间,扫描端口,拔出设备,然后再次扫描端口。任何其它强制或选定测试都将添加到整个运行时间。

A.2.60. Thunderbolt4

测试涵盖的内容

Thunderbolt4 测试涵盖了从热插拔和基本功能角度来看 4 端口的 Thunderbolt 4 端口,确保所有端口都可以被正确添加和删除。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试的目的是确保系统功能中存在的所有 Thunderbolt 4 端口都如预期。它要求输入可用的 Thunderbolt4 端口数量,然后要求测试程序插入并拔出 Thunderbolt 4 设备到每个端口。测试会监视 Thunderbolt 4 设备附加和分离事件,并记录它们。如果检测到测试程序输入的唯一端口的插件和拔出事件,则测试将传递。请注意,虽然 Thunderbolt 4 设备使用与 USB C 设备相同的物理连接器,但 USB C 设备不是 Thunderbolt 4 设备。如果使用 USB C 设备包括与 Thunderbolt 4 端口兼容的 USB C 设备,则测试不会传递。只有 Thunderbolt 4 设备可用于此测试。此测试还会验证主机和连接设备之间的连接生成是否为 Thunderbolt 4。

准备测试

计算可用的 Thunderbolt4 端口,并有一个可用的 Thunderbolt4 设备在测试期间使用。

执行测试

Thunderbolt4 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 Thunderbolt4 测试名称。

 rhcert-run

系统提示时,输入系统上存在的可用 Thunderbolt4 端口的数量。系统将要求插入端口 Thunderbolt4 设备,然后暂停,直到测试程序按 y 键继续。然后,系统会要求设备取消插入,并将再次暂停,直到测试者按 y 键继续。这些步骤对输入的端口数量重复。请注意,测试端口没有正确或错误的顺序,但每个端口必须仅测试一次。

运行时间

根据 Thunderbolt4 端口,Thunderbolt4 测试大约需要 15 秒。这包括手动插入该设备的时间,扫描端口,拔出设备,然后再次扫描端口。任何其它强制或选定测试都将添加到整个运行时间。

A.2.61. usb_storage

测试涵盖的内容

usb_storage 测试为现有存储测试添加速度检测功能。usb_storage 测试包含:

  • USB2_storage 测试来检测连接的 USB 设备的版本
  • USB3_storage test 检测连接的 USB 设备的版本和接口速度,并支持多个速度(5Gbps、10Gbps、20Gbps、40Gbps)

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试会检测连接到系统的 USB 设备的接口速度和版本,并相应地规划相应的测试。例如,如果检测到支持的接口速度为 10Gbps 的 USB 3.0 设备,则会计划并执行 USB3_10Gbps_Storage subtest。

准备测试

确保 USB 存储设备已连接到系统。

执行测试

您可以选择运行测试的方法:

  • 运行以下命令,然后从显示的列表中选择适当的 USB 测试名称。

    rhcert-run
  • 通过指定所需的测试名称来运行 rhcert-cli 命令。例如,

    rhcert-cli run --test=USB3_10Gbps_Storage

A.2.62. USB2

测试涵盖的内容

USB2 测试从基本功能角度涵盖 USB2 端口,确保操作系统可以访问所有端口。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试的目的是确保系统中的所有 USB2 端口都如预期存在。它要求提供可用 USB2 端口的数量(注意任何用于键盘/鼠标等),然后要求测试程序插入并拔出 USB2 设备到每个端口。测试会监视附加和分离事件,并记录它们。如果检测到测试程序输入的唯一端口的插件和拔出事件,则测试将传递。

准备测试

计算可用的 USB2 端口,并且具有可在测试期间使用的备用 USB2 设备。您可能需要从主板标头跟踪 USB 端口,以区分 USB2 和 USB3 端口。

执行测试

USB2 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 USB2 测试名称。

 rhcert-run

系统提示时,输入系统上存在的可用 USB2 端口数量。不要计算当前正按键盘或鼠标使用的任何数。系统将要求将测试 USB2 设备插入端口,然后暂停测试程序,直到测试程序按 y 继续。然后,系统会要求设备取消插入,并将再次暂停,直到测试者按 y 键继续。这些步骤对输入的端口数量重复。请注意,测试端口没有正确或错误的顺序,但每个端口必须仅测试一次。

运行时间

USB2 测试每个 USB2 端口大约需要 15 秒。这包括手动插入该设备的时间,扫描端口,拔出设备,然后再次扫描端口。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.63. USB3

测试涵盖的内容

USB3 测试涵盖了基本功能角度的 USB3 端口,确保操作系统可以枚举、访问和热插拔所有端口。USB3 测试支持三种基于速度的不同测试,适用于 5Gbps、10Gbps 和 20Gbps。如果系统支持 USB3,则规划所有三个测试。每个测试的成功贡献将导致红帽生态系统目录中包括的对应功能进行认证。测试及其成功标准如下:

成功标准:

  • USB3_5Gbps - 当设备传输速度为 5Gbps 时,测试将传递。
  • USB3_10Gbps - 当设备传输速度为 10Gbps 时测试将传递。
  • USB3_20Gbps - 当设备传输速度为 20Gbps 时,测试将传递。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试的目的是确保系统中的所有 USB3 端口都如预期存在。它要求提供可用 USB3 端口的数量(与用于键盘/鼠标的任何端口等等),然后要求测试程序插入并拔出 USB3 设备到每个端口。测试会监视附加和分离事件,并记录它们。如果检测到测试程序输入的唯一端口的插件和拔出事件,则测试将传递。

准备测试

计算可用的 USB3 端口,并有可用的 USB3 设备在测试过程中使用。您可能需要从主板标头跟踪 USB 端口,以区分 USB2 和 USB3 端口。确保设备的行速度与测试的预期速度匹配,即 5Gbps、10 Gbps 或 20Gbps。

执行测试

USB3 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 USB3 测试名称。

 rhcert-run

系统提示时,输入系统上存在的可用 USB3 端口数量。不要计算当前正按键盘或鼠标使用的任何数。系统将要求将测试 USB3 设备插入端口,然后暂停测试程序,直到测试程序按 y 继续。然后,系统会要求设备取消插入,并将再次暂停,直到测试者按 y 键继续。这些步骤对输入的端口数量重复。请注意,测试端口没有正确或错误的顺序,但每个端口必须仅测试一次。

运行时间

USB3 测试每个 USB3 端口大约需要 15 秒。这包括手动插入该设备的时间,扫描端口,拔出设备,然后再次扫描端口。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.64. USB4

测试涵盖的内容

USB4 测试从基本功能角度涵盖 USB4 端口,确保操作系统可以枚举、访问和热插拔所有端口。USB4 测试支持两种不同的基于速度的测试,一个用于 20Gbps,另一个用于 40Gbps。如果系统支持 USB4,则计划这两个测试。每个测试的成功贡献将导致红帽生态系统目录中包括的对应功能进行认证。测试及其成功标准如下:

成功标准

  • USB4_20Gbps - 当设备传输速度为 20Gbps 时,测试将传递。
  • USB4_40Gbps - 当设备传输速度为 40Gbps 时测试会传递。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试的目的是确保系统中的所有 USB4 端口都如预期存在。它要求提供可用 USB4 端口的数量(与用于键盘/鼠标的任何端口等等),然后要求测试程序插入并拔出 USB4 设备到每个端口。测试会监视附加和分离事件,并记录它们。如果检测到测试程序输入的唯一端口的插件和拔出事件,则测试将传递。

准备测试:

计算可用的 USB4 端口,并有可用的 USB4 设备在测试过程中使用。您可能需要从主板标头跟踪 USB 端口,以区分 USB2、USB3 和 USB4 端口。确保设备的行速度与测试的预期速度匹配,即 20Gbps 或 40Gbps。

执行测试

USB4 测试是交互式的。运行以下命令,然后从显示的列表中选择适当的 USB4 测试名称。

 rhcert-run

系统提示时,输入系统上存在的可用 USB4 端口数量。不要计算当前正按键盘或鼠标使用的任何数。系统将要求将测试 USB4 设备插入端口,然后暂停测试程序,直到测试程序按 y 继续。然后,系统会要求设备取消插入,并将再次暂停,直到测试者按 y 键继续。这些步骤对输入的端口数量重复。请注意,测试端口没有正确或错误的顺序,但每个端口必须仅测试一次。

运行时间

USB4 测试每个 USB4 端口大约需要 15 秒。这包括手动插入该设备的时间,扫描端口,拔出设备,然后再次扫描端口。所需的 可支持 测试将大约一分钟添加到整个运行时间。

A.2.65. USB 相机测试

测试涵盖的内容

usb_camera 测试验证连接到运行 Red Hat Enterprise Linux 的 HUT 的 USB 相机的功能和可见性。确认后,测试会捕获镜像并将其附加到红帽认证团队的结果文件中。

支持的 RHEL 版本

  • RHEL 9
  • RHEL 10

测试的作用

测试执行以下功能:

  • 检查 HUT 操作系统是否检测到相机。
  • 检查连接的相机是否可以访问。
  • 通过捕获测试镜像以确保相机操作并且能够生成可见的输出来验证基本功能。

这确认 USB 与系统的兼容性,以及需要视频输入的应用程序的准备情况。

准备测试

  • 将外部 USB 相机连接到 HUT 上的功能 USB 端口,以确保电源和连接稳定。

    注意

    如果您有一个集成的相机连接到您的 HUT,请跳过这一步。

  • 为清晰的可视化评估保留大量无害和自由的义务。
  • 确保相机视图中没有看到私有或机密信息。

执行测试

  1. 选择以下任一方法在 HUT 上运行测试:

    1. 运行以下命令,并从显示的列表中选择适当的 USB 测试名称:

      rhcert-run
    2. 通过指定所需的测试名称来运行以下命令:例如,

      rhcert-cli run --test=usb_camera
    3. 如果有多个相机,您也可以使用特定的相机设备运行以下命令。例如,

      rhcert-cli run --test=usb_camera --device=/dev/video0
  2. 当测试提示进行批准时,选择 Yes。测试捕获镜像并将其保存在默认位置 /var/rhcert/docs

    注意

    确保捕获的镜像不是私有或机密的。

  3. 根据您的要求选择适当的选项:

    1. 我已检查了镜像,它看起来是 okay
    2. 镜像查找错误,提交用于帮助和查看的镜像
    3. 删除镜像并重试
    4. 删除镜像并跳过测试
  4. 该测试根据您的选择运行,并在成功完成后收到 PASS 消息。

运行时间

测试时间因测试的 USB 相机数量而异。每个 USB 相机大约需要 1-2 分钟进行测试。

影响测试时间的其他因素包括用户在测试期间互动、系统性能,如内存频率和 CPU。任何其它强制或选定测试都将添加到整个运行时间。

成功标准

您可以使用连接到您的 HUT 的新 USB 相机成功捕获镜像。

A.2.66. 视频

测试涵盖的内容

对于 RHEL 8,VIDEO 测试检查主板上所有可移动或集成的视频硬件。选择设备通过其 PCI 类 ID 进行测试。具体来说,测试会在 udev 命令输出中检查带有 PCI 类作为 Display Controller 的设备。

对于 RHEL 9 VIDEO 测试保持不变。但是,对于帧缓冲图形解决方案,在标识是否将显示内核驱动程序用作帧缓冲后计划测试,并且不支持使用 glxinfo 命令直接渲染。

对于 RHEL 10,VIDEO 测试检查主板上所有可移动或集成的视频硬件。您不需要从 GUI 中的终端运行测试。只要 GNOME 显示管理器(GDM)在后台运行,只要 GNOME 显示管理器(GDM)在后台运行,测试会自动检测活动的显示套接字并执行子测试,无论是从 GUI 终端启动还是 SSH 会话。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

测试运行多个子测试:

对于 RHEL 8 和 9

  • 检查 Connections - 记录 xrandr 命令输出。这个子测试是可选的,其失败不会影响整个测试结果。
  • 设置配置 - 检查必要的配置先决条件,如设置下一个子测试的显示深度、标志和配置。
  • X Server Test - 使用新配置文件启动另一个显示服务器,并运行 glxgears,它是一个轻量级 MESA OpenGL 演示程序以检查性能。
  • log Module and Drivers - 运行 xdpyinfo 以确定屏幕分辨率和颜色深度。另外,在测试开始时创建的配置文件应该允许系统以最大分辨率功能运行。

最后,测试使用 grep 搜索 /var/log/Xorg.0.log 日志文件来确定正在使用的模块和驱动程序。

对于 RHEL 10

  • 检查 Connections :记录 wayland-info 命令输出,它是 RHEL 8 和 RHEL 9 系统可用的 xrandr 命令的替代。它显示有关连接的信息。
  • 日志解析和显示大小 :解析 wayland-info 命令输出并打印分辨率和显示大小。如果连接的显示类型是 virtual,或者不满足 1024x768 分辨率的最低要求,它会引发 REVIEW 状态。
  • XWayland 测试:此测试取代了 X 服务器测试。它通过运行 glxgears 演示来检查 XWayland 兼容性层的功能。它还检查命令输出。
  • 检查并记录驱动程序信息 :检查 GDM 加载的显示驱动程序,以查看它们是否由红帽构建。

准备测试

  • 确定在测试系统上安装 GUI 并在您的测试系统上运行。
  • 确保系统中的监控器和显卡可以在最小分辨率 1024x768 中运行,每个 pixel 的颜色深度为 24 位(bpp)。也可以接受更高分辨率或颜色深度。

    • 对于 RHEL 8 和 9,检查 xrandr 命令的输出(24 bpp 或更高版本)以确认。
    • 对于 RHEL 10,检查 wayland-info 命令的输出(24 bpp 或更高版本)以确认。
  • 如果您没有看到卡或监控组合可以生成的所有解析,请确保删除 monitor 和显卡之间的任何 KVM 交换机。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 VIDEO 测试名称。

 rhcert-run

首先,测试系统屏幕将留空,然后会显示 x11perf 测试程序中的一系列测试模式。测试完成后,它将返回到桌面或虚拟终端屏幕。

运行时间

完成测试需要大约 1 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.67. VIDEO_PORTS

测试涵盖的内容

VIDEO_PORTS 测试检查系统中每个图形处理器的所有图形输出端口是否正常运行。

该测试在具有一个或多个图形输出端口的机器上运行。还支持具有一个或多个嵌入式或附加图形处理器的计算机,包括有有线至集成面板的端口的笔记本电脑。

如果没有检测连接到该端口的显示,则测试不会在端口上运行。

支持的 RHEL 版本

  • RHEL 9

测试的作用

测试执行以下操作:

  • 测试通过它检测到的、监控器连接的每个端口运行。
  • 然后,测试会启动一个 glmark2 窗口,并提示您将测试窗口拖到每个连接的显示中。
  • 如果测试检测到未测试的其他端口,它将进入交互模式。它会提示您将显示附加到每个未测试的端口,并重复测试。
  • 测试测试会在这个循环中运行,直到测试了所有检测到的端口,或者直到您表示未经测试的端口无法被客户使用。如果有不可用的端口,测试会提示您说明。
  • 当循环退出时,如果所有端口都已测试,则测试会显示 PASS 结果,如果某些端口被识别为不可用,则测试会显示 REVIEW 结果。

准备测试

  • 为您的系统准备一组具有适当连接器的监控器。这包括内置监控器和至少一个外部监控器。
  • 如果监控数量少于端口,测试将在循环中运行,并允许您将显示连接到批处理中的端口。除了附加的每个外部监视器外,内置监控器必须继续工作。
  • 可能存在比物理端口更多的电子端口,这意味着硬件支持比系统提供给用户更多的显示器。当测试开始与测试无关时,屏幕中显示的端口列表。
  • 系统中可能有多个物理端口,无法一次性全部使用。还可能有 ghost 端口,如服务端口或 USB。您必须能够区分因为与其他端口不兼容而无法正常工作的端口,或者因为它是一个 ghost 端口,以及根本无法正常工作的端口。

执行测试

VIDEO_PORTS 测试是交互式的。在执行测试之前,请将 monitor 连接到至少一个图形输出端口。

  1. 置备系统:

    1. 运行这个命令:

      # rhcert-provision
    2. 提示时,输入保存在您的系统中的测试计划路径。
    3. 如有提示,提供测试服务器的主机名或 IP 地址来设置免密码 SSH。只有在您第一次添加新系统时,才会提示您。
  2. 启动测试:

    # rhcert-cli run --test VIDEO_PORTS
    注意

    测试首先会列出一组内部显示,包括连接和断开连接。它们并不代表要测试的物理端口。

  3. 对于每个连接的图形输出端口,请按照以下步骤操作:

    1. 等待测试以确定端口。出现提示时,按任意键继续。
    2. 此时会打开 glmark2 窗口。如果与活动监控器不同,请将此窗口移到与端口连接的监控器中。

      glmark2 基准测量所标识显示上的 OpenGL (ES) 2.0 性能的各个方面。该基准调用一系列镜像,测试不同的面、gle、color 和 light 组合。

    3. 等待 glmark2 窗口关闭。您将看到一个 glmark2 分数,以及每个成功测试的 Test 传递 的消息。
  4. 对于每个未连接的图形输出端口,请按照以下步骤操作:

    1. 出现提示时,将 monitor 连接到图形端口,并输入 yes 以继续。

      在第一个提示中,您可以输入 no 结束 GRAPHICS_PORTS 测试。对于每个额外提示,会显示计时器,为您提供 20 秒以连接监控器。计时器在超时前重复三次。

    2. 等待测试以确定端口。出现提示时,按任意键继续。
    3. glmark2 窗口移到连接到端口的监控器。等待窗口关闭。
  5. 如果没有可连接的额外端口,请让计时器运行 60 秒,直到超时为止。如果所有端口都成功测试,则测试退出,其结果为 PASS。
  6. (可选)将测试结果保存到日志文件中:

    # rhcert-save
  7. 通过导航到日志文件的位置,从浏览器访问日志文件。

运行时间

测试时间因被测试的端口数量而异。每个端口大约需要 2-3 分钟进行测试。

影响测试时间的其他因素包括系统性能,如内存频率和 CPU。任何其它强制或选定测试都将添加到整个运行时间。

A.2.68. VIDEO_DRM

测试涵盖的内容

VIDEO_DRM 测试验证图形控制器,该控制器使用具有基本图形支持的原生 DRM 内核驱动程序。

测试将规划以下内容:

  • 使用中的显示驱动程序被识别为内核 mode-setting 驱动程序。
  • 显示驱动程序不是帧缓冲。
  • 直接渲染不受 glxinfo 命令标识的,OpenGL renderer 字符串是 llvmpipe

支持的 RHEL 版本

  • RHEL 9

测试的作用

该测试验证图形控制器的功能,类似于 VIDEO 测试。

准备测试

  • 确保系统中的监控器和显卡可以在分辨率 1024x768 上运行,每个像素数为 24 位(bpp)。也可以接受更高分辨率或颜色深度。检查 xrandr 命令输出时间为 24 bpp 或更高的 1024x768,以确认。
  • 如果您没有看到卡或监控组合可以生成的所有解析,请确保删除 monitor 和显卡之间的任何 KVM 交换机。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 VIDEO_DRM 测试名称。

 rhcert-run

首先,测试系统屏幕将留空,然后会显示 x11perf 测试程序中的一系列测试模式。测试完成后,它将返回到桌面或虚拟终端屏幕。

运行时间

完成测试需要大约 1 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.69. VIDEO_DRM_3D

测试涵盖的内容

VIDEO_DRM_3D 测试验证图形控制器,该控制器使用具有加速图形支持的原生 DRM 内核驱动程序。

测试将规划以下内容:

  • 使用中的显示驱动程序被识别为内核 mode-setting 驱动程序。
  • 显示驱动程序不是帧缓冲。
  • 直接渲染由 glxinfo 命令标识,OpenGL renderer 字符串不是 llvmpipe

该测试使用 Prime GPU 卸载技术来执行所有视频测试子测试。

支持的 RHEL 版本

  • RHEL 9
  • RHEL 10

测试的作用

该测试验证图形控制器的功能,类似于 VIDEO 测试。另外,测试还会运行以下子tests:

对于 RHEL 9

  • Vulkaninfo test - 记录 vulkaninfo 命令输出,以收集 Vulkan 信息,如标识 GPU 的设备属性、已识别层、支持的镜像格式和格式属性。
  • Glmark2 基准测试 - 运行 glmark2 命令,以根据 OpenGL 2.0 和 ES 2.0 基准测试生成分数,并确认 3D 能力。subtest 使用一组不同的参数执行实用程序两次,首先使用硬件渲染器,之后使用软件渲染器。如果硬件渲染器命令运行结果比软件更好的分数,则测试成功通过,请确认显示控制器具有更好的 3D 功能,否则会失败。

对于 RHEL 10

  • 日志 vulkaninfo test: Logs vulkaninfo 命令输出。
  • 测试 GPU 功能:运行 glmark2-wayland 命令而不是 X 版本测试。此命令通过比较硬件和软件渲染者中的分数来验证测试系统是否确实是硬件加速。

准备测试

  • 确定在测试系统上安装 GUI 并在您的测试系统上运行。
  • 确保系统中的监控器和显卡可以在最小分辨率 1024x768 中运行,每个 pixel 的颜色深度为 24 位(bpp)。也可以接受更高分辨率或颜色深度。

    • 对于 RHEL 9,检查 xrandr 命令的输出(24 bpp 或更高版本)以确认。
    • 对于 RHEL 10,检查 wayland-info 命令的输出(24 bpp 或更高版本)以确认。
  • 如果您没有看到卡或监控组合可以生成的所有解析,请确保删除 monitor 和显卡之间的任何 KVM 交换机。

执行测试

测试是非交互式的。运行以下命令,然后从显示的列表中选择适当的 VIDEO_DRM_3D 测试名称。

 rhcert-run

首先,测试系统屏幕将留空,然后会显示 x11perf 测试程序中的一系列测试模式。测试完成后,它将返回到桌面或虚拟终端屏幕。

运行时间

完成测试需要大约 1 分钟时间。任何其它强制或选定测试都将添加到整个运行时间。

A.2.70. WirelessG

测试涵盖的内容

WirelessG 测试在所有无线以太网连接中运行,最大连接速度为 802.11g。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

这是一个全新的测试,结合了现有的 wlan网络测试。除了传递所有现有网络测试项目外,此测试还必须检测到 iw 报告的"g"链接类型,并展示最小吞吐量 22Mb/s 才能通过。

A.2.71. WirelessN

测试涵盖的内容

WirelessN 测试在所有无线以太网连接中运行,最大连接速度为 802.11n。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

这是一个全新的测试,结合了现有的 wlan网络测试。除了传递所有现有网络测试项目外,此测试还必须检测到 iw 报告的"n"链接类型,并展示最小为 100Mb/s 的吞吐量才能通过。

A.2.72. WirelessAC

测试涵盖的内容

WirelessAC 测试在所有无线以太网连接中运行,最大连接速度为 802.11ac。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

这是一个全新的测试,结合了现有的 wlan网络测试。除了传递所有现有网络测试项目外,此测试还必须检测到 iw 报告的"ac"链接类型,并展示最小吞吐量 300Mb/s 才能通过。

A.2.73. WirelessAX (由 WiFi6 提供)

测试涵盖的内容

WirelessAX 测试在所有无线以太网连接上运行,且最大连接速度为 802.11ax。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试会检测 iw 报告的"ax"链接类型,并与具有"wifi 6"或"AX"的产品名称匹配,以确定设备有 AX 支持。如果设备通过 Wireless AC Test,并且表示最小吞吐量为 1200 Mb/s,则还计划对 Wireless AX 的测试进行了规划。此测试不会自动规划,但可以通过 CLI 手动规划。相反,会自动规划 WiFi6 测试。

A.2.74. WiFi6

测试涵盖的内容

WiFi6 测试在所有无线以太网连接上运行,且最大连接速度为 802.11ax。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试会检测 iw 报告的"ax"链接类型,并与具有"wifi 6"或"AX"的产品名称匹配,以确定该设备是否具有 AX 支持。如果设备通过 Wireless AC 测试,且最小吞吐量为 1200 Mb/s,则还会计划对 WiFi6 的测试。

A.2.75. WiFi6E

测试涵盖的内容

WiFi6E 测试在所有无线以太网连接上运行,其最大连接速度为 802.11ax,利用 6GHz 频率带宽。

支持的 RHEL 版本

  • RHEL 8
  • RHEL 9
  • RHEL 10

测试的作用

该测试会检测 iw 报告的"ax"链接类型,并与包含"wifi 6E"或"AX"的产品名称匹配,以确定该设备是否具有 AX 支持。如果设备通过 Wireless AC Test,并且演示了要传递的最小吞吐量 6000 Mb/s,则还计划对 WiFi6E 进行测试。

A.2.76. 手动添加并运行测试

在个别情况下,测试可能会因为硬件检测或硬件、操作系统或测试脚本相关的问题而无法规划。如果出现这种情况,请联系红帽支持联系人以获得进一步的帮助。他们可能会要求您为问题创建一个支持问题单,然后解释了如何在 HUT 上使用 rhcert-cli 命令手动将测试添加到本地测试计划中。对本地测试计划所做的任何修改都将发送到测试服务器,以便您可以继续使用测试服务器上的 Web 界面来运行您的测试。该命令运行如下:

# rhcert-cli plan --add --test=<testname> --device=<devicename> --udi-<udi>

此处使用的 rhcert-cli 命令的选项有:

  • plan - 修改测试计划
  • --add - 向测试计划添加一个项
  • --test=<testname >- 要添加的测试。测试名称如下:

    • hwcert/suspend
    • hwcert/audio
    • hwcert/battery
    • hwcert/lid
    • hwcert/usbbase/expresscard
    • hwcert/usbbase/usbbase/usb2
    • hwcert/usbbase/usbbase/usb3
    • hwcert/kdump
    • hwcert/network/Ethernet/100MegEthernet
    • hwcert/network/Ethernet/1GigEthernet
    • hwcert/network/Ethernet/10GigEthernet
    • hwcert/network/Ethernet/40GigEthernet
    • hwcert/network/wlan/WirelessG
    • hwcert/network/wlan/WirelessN
    • hwcert/memory
    • hwcert/core
    • hwcert/cpuscaling
    • hwcert/fvtest/fv_core
    • hwcert/fvtest/fv_live_migration
    • hwcert/fvtest/fv_memory
    • hwcert/fvtest/fv_network
    • hwcert/fvtest/fv_storage
    • hwcert/fvtest/fv_pcie_storage_passthrough
    • hwcert/fvtest/fv_pcie_network_passthrough
    • hwcert/fvtest/fv_usb_storage_passthrough
    • hwcert/fvtest/fv_usb_network_passthrough
    • hwcert/fvtest/fv_cpu_pinning
    • hwcert/profiler
    • hwcert/storage
    • hwcert/video
    • hwcert/supportable
    • hwcert/optical/bluray
    • hwcert/optical/dvd
    • hwcert/optical/cdrom
    • hwcert/fencing
    • hwcert/realtime
    • hwcert/reboot
    • hwcert/tape
    • hwcert/rdma/Infiniband_QDR
    • hwcert/rdma/Infiniband_FDR
    • hwcert/rdma/Infiniband_EDR
    • hwcert/rdma/Infiniband_HDR
    • hwcert/rdma/Infiniband_Socket_Direct
    • hwcert/rdma/10GigRoCE
    • hwcert/rdma/20GigRoCE
    • hwcert/rdma/25GigRoCE
    • hwcert/rdma/40GigRoCE
    • hwcert/rdma/50GigRoCE
    • hwcert/rdma/100GigRoCE
    • hwcert/rdma/200GigRoCE
    • hwcert/rdma/10GigiWarp
    • hwcert/rdma/20GigiWarp
    • hwcert/rdma/25GigiWarp
    • hwcert/rdma/40GigiWarp
    • hwcert/rdma/50GigiWarp
    • hwcert/rdma/100GigiWarp
    • hwcert/rdma/200GigiWarp
    • hwcert/rdma/Omnipath
    • hwcert/network/Ethernet/2_5GigEthernet
    • hwcert/network/Ethernet/5GigEthernet
    • hwcert/network/Ethernet/20GigEthernet
    • hwcert/network/Ethernet/25GigEthernet-
    • hwcert/network/Ethernet/50GigEthernet
    • hwcert/network/Ethernet/100GigEthernet
    • hwcert/network/Ethernet/200GigEthernet
    • rhcert/self-check
    • hwcert/sosreport
    • hwcert/storage/U2 SATA
    • hwcert/storage/M2 SATA
    • hwcert/storage/SATA_SSD
    • hwcert/storage/SATA
    • hwcert/storage/SAS_SSD
    • hwcert/storage/SAS
    • hwcert/storage/U2_NVME
    • hwcert/storage/M2_NVME
    • hwcert/storage/PCIE_NVME
    • hwcert/storage/NVDIMM
    • hwcert/storage/STORAGE
  • 只有在必须指定设备时,才需要其他选项,例如在网络和存储测试中,需要告知要运行哪个设备。您需要查看各种位置来确定要在此处使用的设备名称或 UDI。支持可帮助确定正确的名称或 UDI。找到后,您可以使用以下两个选项之一来指定设备:

    • --device=<devicename >- 应该测试的设备,通过设备名称(如 "enp0s25" 或 "host0" )标识。
    • --UDI =<UDI>- 要测试的设备的唯一设备 ID,由 UDI 字符串标识。
  • 通过指定测试名称来运行 rhcert-cli 命令:

    rhcert-cli run --test=<test_name>

    例如:

    rhcert-cli run --test=audio
  • 您可以指定- -device 来运行特定设备:

    rhcert-cli run --test=<test name> --device=<device name>

    例如:

    rhcert-cli run --test=kdump --device=nfs
注意

建议您独立使用 rhcert-clirhcert-run,并保存结果。混合使用 rhcert-clirhcert-run 并将结果保存在一起可能会导致结果正确处理。

A.3. RHEL AI 硬件认证测试

以下测试是为 RHEL AI 硬件认证执行的:

注意

只有在底层系统是 RHEL AI 时,才会规划测试。redhat-certification-hardware-ai 测试套件通过检查 /etc/os-release 文件中的以下参数来识别您的 HUT 是 RHEL AI:

  • RHEL_AI_VERSION_ID
  • 变体

RHEL AI 认证测试套件有以下测试:

  • ilab_inferencing test
  • ilab_validation 测试
  • self_check test
  • 支持测试
  • sos 报告测试

A.3.1. ilab_inferencing test

测试涵盖的内容

ilab_inferencing 测试服务并与预遍历模型交互,并检查它是否在安装过程中使用 AI 加速器。推断是模型可以处理并从输入数据生成输出时。

有关 RHEL AI 硬件要求的详细列表,请查看 inference 服务 Granite 模型的硬件要求

测试的作用

ilab inferencing 测试从 ilab 配置文件的 serve 部分捕获模型名称并下载模型。然后测试会提供该模型并与之交互。

测试会在以下阶段监控并捕获 AI 加速器状态:

  • ilab serve 启动前
  • 当 ilab serve 启动后
  • 在与载入模型交互过程中
  • ilab serve 停止后

准备测试

在运行测试前,请确保使用 skopeo 工具登录到 registry.redhat.io。这允许 ilab_inferencing 测试在执行期间从 registry 下载模型。

执行测试

测试是交互式的。ilab 推断 测试从 ilab 初始化开始。出现提示时,根据系统的加速器配置选择一个培训配置文件。

注意

目前,init ilab 子测试返回状态 REVIEW。

运行时间

这是一个自动测试,可能需要几分钟来完成。

A.3.2. ilab_validation 测试

测试涵盖的内容

此测试捕获了 ilab 配置文件的 generate, trainingevaluate 部分中提到的模型名称,并下载它们。

注意

某些测试的模型的大小可能会超过 80GB。

测试的作用

ilab_validation 测试涵盖了 ilab 培训的端到端测试。它由以下步骤组成:

  • taxonomy
  • 合成数据生成(SDG)
  • 多阶段培训
  • 单个阶段培训
  • 使用 mmlu的评估
  • 使用 mt_bench进行评估

对于上述每个步骤,测试将在测试运行一段时间后捕获 AI 加速器的状态。

taxonomy

LAB 方法由 Information classification 方法(一个信息分类方法)驱动。在运行 RHEL AI 硬件认证测试时,测试套件将执行以下功能:

  • 克隆 RHEL AI git 存储库。
  • 复制位置 knowledge/science/astronomy/constellations/phoenix/中的数据
  • 运行命令 ilab taxonomy diff

合成数据生成(SDG)

将大型语言模型(LLM)与人工生成的样本一起使用的过程,用于生成可用于培训其他 LLM 的智能数据。

多阶段培训

LAB 方法实施一个微调策略,其中对名为 epoch 的多个数据集的多个数据集进行培训。每个阶段都保存检查点,最佳的检查点用于进一步培训。完全调优的模型是最终阶段最佳执行检查点。

注意

对于认证测试,培训仅针对 2 个时期运行。

  1. 启动 tmux 会话。
  2. 在运行测试达到 5 分钟后,捕获 AI 加速器的状态。
  3. 运行所需命令后,测试套件会在位置 /root/.local/share/instructlab/checkpoints/hf_format/中打印创建的检查点列表
  4. 以上检查点之一随机用于评估阶段。

准备测试

在运行测试前,请确保使用 skopeo 工具登录到 registry.redhat.io。这允许 ilab_validation 测试在执行期间从注册表下载模型。

执行测试

此测试是交互式的。根据 HUT 中提供的 AI 加速器类,此测试需要几小时时间完成。每个 subtests 都作为单独的 tmux 会话启动。

在运行 SDG 测试时,测试套件执行以下操作:

  • 检查预生成的数据集是否可用。

    • 如果数据集存在

      测试提示用户确认重复使用 datasets 或删除它们。

      • - 跳过后续步骤。
      • 删除生成的数据集,并继续测试。
    • 如果数据集不存在,测试将继续生成它们。
  • 运行所需命令后,测试套件会检查数据集是否生成了包含以下名称,因为它们将在进一步测试中被使用:

    • knowledge_train_msgs
    • skills_train_msgs
    • messages
注意

在 ilab 测试在后台运行时,您可以与 ilab 进程交互。此步骤是可选的。

如果要与 ilab 进程交互,请在运行时选择以下选项之一:

  1. ilab 进程的状态 - 检查 tmux 会话中运行的 ilab 进程的当前状态。
  2. Attach tmux session - 要附加运行 ilab 进程的 tmux 会话(只读模式)。要退出,请按键 ctrl+b,然后按 d 键。
  3. GPU 使用 - 打印系统中当前加速器的使用。
  4. kill ilab process - 在 tmux 会话中终止当前运行的 ilab 进程。系统会提示您输入一个原因,之后向 ilab 进程发送终止信号。
注意

当您选择这个选项时,ilab_validation 子测试会返回 FAIL 状态。

以上选项在 ilab 进程的运行时可用。测试运行完成后,测试状态由在后台运行的观察器线程自动更新。

运行时间

以下是针对 2 个时期培训的 ilab_validation 测试的大约运行时间详情:

  • SDG - 35 分钟
  • 多阶段培训 - 30 小时提供全部培训,95 分钟用于简短培训
  • 单阶段培训 - 10 分钟
  • 组合评估 - 1 小时
注意

运行时间值因 HUT 中存在 AI Accelerator 的类而异。

更新于 2025-11-14

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部