1.5. 在 IBM Z 平台上确定可预测的 RoCE 设备名称


在 Red Hat Enterprise Linux (RHEL) 8.7 及更新版本上,udev 设备管理器为 IBM Z 上的 RoCE 接口设置名称,如下所示:

  • 如果主机对设备强制唯一标识符(UID),则 udev 会分配一个基于 UID 的一致的设备名称,如 eno<UID_in_decimal>
  • 如果主机没有为设备强制 UID,则行为取决于您的设置:

    • 默认情况下,udev 为设备使用无法预料的名称。
    • 如果您设置了 net.naming-scheme=rhel-8.7 内核命令行选项,则 udev 会分配一个基于设备功能标识符(FID)的一致的设备名称,例如 ens<FID_in_decimal>

在以下情况下,为 IBM Z 上的 RoCE 接口手动配置可预测的设备名称:

  • 您的主机运行 RHEL 8.6 或更早版本,并对设备强制 UID,并计划更新到 RHEL 8.7 或更高版本。

    升级到 RHEL 8.7 或更高版本后,udev 使用一致的接口名称。但是,如果您在更新前使用了无法预料的设备名称,NetworkManager 连接配置文件仍然使用这些名称,且不能激活,直到您更新了受影响的配置文件。

  • 您的主机运行 RHEL 8.7 或更高版本,且不强制 UID,您计划升级到 RHEL 9。

在使用 udev 规则或 systemd 链接文件手动重命名接口前,您必须确定可预测的设备名称。

先决条件

  • RoCE 控制器已安装在系统上。
  • sysfsutils 软件包已安装。

流程

  1. 显示可用的网络设备,并记录 RoCE 设备的名称:

    # ip link show
    ...
    2: enP5165p0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    ...
    Copy to Clipboard Toggle word wrap
  2. 显示 /sys/ 文件系统中的设备路径:

    # systool -c net -p
    Class = "net"
    
      Class Device = "enP5165p0s0"
      Class Device path = "/sys/devices/pci142d:00/142d:00:00.0/net/enP5165p0s0"
        Device = "142d:00:00.0"
        Device path = "/sys/devices/pci142d:00/142d:00:00.0"
    Copy to Clipboard Toggle word wrap

    在下一步中使用 Device path 字段中显示的路径。

  3. 显示 <device_path>/uid_id_unique 文件的值,例如:

    # cat /sys/devices/pci142d:00/142d:00:00.0/uid_id_unique
    Copy to Clipboard Toggle word wrap

    显示的值指示 UID 唯一性是否是强制的,并且您在以后的步骤中需要这个值。

  4. 确定唯一标识符:

    • 如果 UID 唯一性是强制的 (1),显示存储在 <device_path>/uid 文件中的 UID,例如:

      # cat /sys/devices/pci142d:00/142d:00:00.0/uid
      Copy to Clipboard Toggle word wrap
    • 如果 UID 唯一性不是强制的(0),显示存储在 <device_path>/function_id 文件中的 FID,例如:

      # cat /sys/devices/pci142d:00/142d:00:00.0/function_id
      Copy to Clipboard Toggle word wrap

    命令的输出显示十六进制的 UID 和 FID 值。

  5. 将十六进制标识符转换为十进制,例如:

    # printf "%d\n" 0x00001402
    5122
    Copy to Clipboard Toggle word wrap
  6. 要确定可预测的设备名称,根据 UID 唯一性是否是强制的,将十进制格式的标识符附加到相应的前缀:

    • 如果 UID 唯一性是强制的,请将标识符附加到 eno 前缀,例如 eno5122
    • 如果没有强制 UID 唯一性,请将标识符附加到 ens 前缀,如 ens5122
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat