20.3. 添加网络设备


网络设备驱动程序模块由 udev 自动加载。
您可以在 IBM Z 上动态添加或永久添加网络接口。
  • 动态
    1. 加载设备驱动程序
    2. 从忽略的设备列表中删除网络设备。
    3. 创建组设备。
    4. 配置 设备。
    5. 设置设备在线。
  • 永久
    1. 创建配置脚本。
    2. 激活 接口。
以下小节提供了每个 IBM Z 网络设备驱动程序的每个任务的基本信息。第 20.3.1 节 “添加 qeth 设备” 介绍如何将 qeth 设备添加到 Red Hat Enterprise Linuxnbsp 的现有实例中 ;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux.第 20.3.2 节 “添加 LCS 设备” 介绍如何在 Red Hat Enterprise Linuxnbsp 的现有实例中添加 lcs 设备 ;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux.

20.3.1. 添加 qeth 设备

qeth 网络设备 驱动程序在 QDIO 模式、HiperSockets、z/VM guest LAN 和 z/VM VSWITCH 中支持 IBM Z OSA-Express 功能。
qeth 设备驱动程序为以太网和 Hipersockets 设备分配相同的接口名称: enccwbus_ID。总线 ID 由频道子系统 ID、子通道集 ID 和设备编号组成,如 enccw0.0.0a00

20.3.1.1. 动态添加 qeth 设备

要动态添加 qeth 设备,请按照以下步骤执行:
  1. 确定是否载入 qeth 设备驱动程序模块。以下示例显示了载入的 qeth 模块:
    # lsmod | grep qeth
    											qeth_l3                  127056  9
    											qeth_l2                   73008  3
    											ipv6                  492872  155ip6t_REJECT,nf_conntrack_ipv6,qeth_l3
    											qeth                  115808  2 qeth_l3,qeth_l2
    											qdio                   68240  1 qeth
    											ccwgroup               12112  2 qeth
    如果 lsmod 命令的输出显示 qeth 模块没有被加载,请运行 modprobe 命令加载它们:
    # modprobe qeth
  2. 使用 cio_ignore 程序从忽略的设备列表中删除网络频道,并使其在 Linux 中可见:
    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
    read_device_bus_id、write_device_bus_id、data_device_bus_id 替换为代表网络设备的三个设备总线 ID。例如,如果 read_device_bus_id0.0.f500,write _device_bus_id0.0.f501,data _device_bus_id0.0.f502
    # cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
  3. 使用 znetconf 工具来识别并列出网络设备的候选配置:
    # znetconf -u
    Scanning for network devices...
    Device IDs                 Type    Card Type      CHPID Drv.
    ------------------------------------------------------------
    0.0.f500,0.0.f501,0.0.f502 1731/01 OSA (QDIO)        00 qeth
    0.0.f503,0.0.f504,0.0.f505 1731/01 OSA (QDIO)        01 qeth
    0.0.0400,0.0.0401,0.0.0402 1731/05 HiperSockets      02 qeth
  4. 选择您要使用的配置,并使用 znetconf 应用配置,并将配置的组设备在线作为网络设备。
    # znetconf -a f500
    Scanning for network devices...
    Successfully configured device 0.0.f500 (enccw0.0.f500)
  5. 另外,您还可以在将组群设备设置为在线前传递参数:
    # znetconf -a f500 -o portname=myname
    Scanning for network devices...
    Successfully configured device 0.0.f500 (enccw0.0.f500)
    现在,您可以继续配置 enccw0.0.f500 网络接口。
另外,您可以使用 sysfs 属性设定设备在线,如下所示:
  1. 创建 qeth 组设备:
    # echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
    例如:
    # echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
  2. 接下来,通过查找读取频道来验证 qeth 组设备是否已正确创建:
    # ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
    根据您的系统设置情况以及您所需要的功能设置其他参数和特性,例如:
    • portno
    • layer2
    • portname
  3. 通过向在线 sysfs 属性写入 1 使设备在线:
    # echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
  4. 然后确认该设备状态:
    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
    											1
    返回值为 1 表示设备在线,返回值 0 表示设备离线。
  5. 查找分配给该设备的接口名称:
    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
    enccw0.0.f500
    现在,您可以继续配置 enccw0.0.f500 网络接口。
    s390utils 软件包中的以下命令显示 qeth 设备最重要的设置:
    # lsqeth enccw0.0.f500
    Device name                     : enccw0.0.f500
    -------------------------------------------------
    card_type               : OSD_1000
    cdev0                   : 0.0.f500
    cdev1                   : 0.0.f501
    cdev2                   : 0.0.f502
    chpid                   : 76
    online                  : 1
    portname                : OSAPORT
    portno                  : 0
    state                   : UP (LAN ONLINE)
    priority_queueing       : always queue 0
    buffer_count            : 16
    layer2                  : 1
    isolation               : none

20.3.1.2. 动态删除 qeth 设备

要删除 qeth 设备,请使用 znetconf 实用程序。例如:
  1. 使用 znetconf 工具显示您配置的所有网络设备:
    # znetconf -c
    Device IDs                 Type    Card Type      CHPID Drv. Name        	State
    --------------------------------------------------------------------------------------
    0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets      FB qeth hsi1        	online
    0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000          76 qeth enccw0.0.09a0      online
    0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO     00 qeth enccw0.0.f500      online
  2. 选择要删除的网络设备,并运行 znetconf 将设备离线,取消分组 the ccw> 组设备。
    # znetconf -r f500
    Remove network device 0.0.f500 (0.0.f500,0.0.f501,0.0.f502)?
    Warning: this may affect network connectivity!
    Do you want to continue (y/n)?y
    Successfully removed device 0.0.f500 (enccw0.0.f500)
  3. 验证删除是否成功:
    # znetconf -c
    Device IDs                 Type    Card Type      CHPID Drv. Name        	State
    --------------------------------------------------------------------------------------
    0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets      FB qeth hsi1        	online
    0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000          76 qeth enccw0.0.09a0      online

20.3.1.3. 永久添加 qeth 设备

要使新 qeth 设备持久,您需要为新接口创建配置文件。网络接口配置文件位于 /etc/sysconfig/network-scripts/ 目录中。
网络配置文件使用命名规则 ifcfg-设备,其中 device 是之前创建的 qeth 组设备的 if_name 文件中的值,如 enccw0.0.09a0。对于持久性设备配置,会以透明的方式处理 The cio_ignore 命令,您不需要从忽略列表中手动释放设备。
如果同一类型的另一个设备的配置文件已经存在,最简单的方法是将其复制到新名称中,然后编辑它:
# cd /etc/sysconfig/network-scripts
# cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
要了解网络设备的 ID,请使用 lsqeth 工具:
# lsqeth -p
devices                    CHPID interface        cardtype       port chksum prio-q'ing rtr4 rtr6 lay'2 cnt
-------------------------- ----- ---------------- -------------- ---- ------ ---------- ---- ---- ----- -----
0.0.09a0/0.0.09a1/0.0.09a2 x00   enccw0.0.09a0    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64
0.0.0600/0.0.0601/0.0.0602 x00   enccw0.0.0600    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64
如果还没有定义类似的设备,必须生成一个新文件。使用 /etc/sysconfig/network-scripts/ifcfg-0.0.09a0 示例作为模板:
# IBM QETH
DEVICE=enccw0.0.09a0
BOOTPROTO=static
IPADDR=10.12.20.136
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2
PORTNAME=OSAPORT
OPTIONS='layer2=1 portno=0'
MACADDR=02:00:00:23:65:1a
TYPE=Ethernet
编辑新的 ifcfg-0.0.0600 文件,如下所示:
  1. 修改 DEVICE 声明,以反映 your ccw 组中的 if_name 文件的内容。
  2. 修改 IPADDR 声明,以反映您的新接口的 IP 地址。
  3. 根据需要修改 NETMASK 声明。
  4. 如果要在引导时激活新接口,请确保 ONBOOT 设置为 yes
  5. 确保 SUBCHANNELS 声明与您 qeth 设备的硬件地址匹配。请注意,必须用小写字母指定 ID。
  6. 如果您的环境中不需要,请修改 PORTNAME 声明或将其退出。
  7. 您可以在 OPTIONS 参数中添加任何有效的 sysfs 属性及其值。Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux 安装程序目前使用它来配置层模式(layer2)以及 qeth 设备的相对端口号(portno)。
    现在 OSA 设备的默认 qeth 设备驱动程序为 2 层模式。要继续使用之前默认使用 3 层模式的旧的 ifcfg 定义,请在 OPTIONS 参数中添加 layer2=0
/etc/sysconfig/network-scripts/ifcfg-0.0.0600
# IBM QETH
DEVICE=enccw0.0.0600
BOOTPROTO=static
IPADDR=192.168.70.87
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602
PORTNAME=OSAPORT
OPTIONS='layer2=1 portno=0'
MACADDR=02:00:00:b3:84:ef
TYPE=Ethernet
只有重启系统后或通过更改系统的 I/O 配置(例如在 z/VM 中附加)来更改系统的 I/O 配置,对 ifcfg 文件的更改才会生效。另外,您可以执行以下命令为之前未激活的网络频道触发 ifcfg 文件激活:
  1. 使用 cio_ignore 程序从忽略的设备列表中删除网络频道,并使其在 Linux 中可见:
    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
    read_device_bus_id、write_device_bus_id、data_device_bus_id 替换为代表网络设备的三个设备总线 ID。例如,如果 read_device_bus_id0.0.0600,则 write_device_bus_id0.0.0601,data _device_bus_id0.0.0602
    #  cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
  2. 要触发激活更改的 uevent,请发出:
    # echo add > /sys/bus/ccw/devices/read-channel/uevent
    例如:
    # echo add > /sys/bus/ccw/devices/0.0.0600/uevent
  3. 检查网络设备状态:
    # lsqeth
  4. 现在启动新的接口:
    # ifup enccw0.0.0600
  5. 检查接口的状态:
    # ip addr show enccw0.0.0600
    3: enccw0.0.0600:  <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 3c:97:0e:51:38:17 brd ff:ff:ff:ff:ff:ff
    inet 10.85.1.245/24 brd 10.34.3.255 scope global dynamic enccw0.0.0600
    valid_lft 81487sec preferred_lft 81487sec
    inet6 1574:12:5:1185:3e97:eff:fe51:3817/64 scope global noprefixroute dynamic
    valid_lft 2591994sec preferred_lft 604794sec
    inet6 fe45::a455:eff:d078:3847/64 scope link
    valid_lft forever preferred_lft forever
  6. 检查新接口的路由:
    # ip route
    default via 10.85.1.245 dev enccw0.0.0600  proto static  metric 1024
    12.34.4.95/24 dev enp0s25  proto kernel  scope link  src 12.34.4.201
    12.38.4.128 via 12.38.19.254 dev enp0s25  proto dhcp  metric 1
    192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
  7. 使用 ping 工具 ping 网关或者新设备的子网中的另一主机来验证您的更改:
    # ping -c 1 192.168.70.8
    PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data.
    64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
  8. 如果默认路由信息已更改,还必须相应地更新 /etc/sysconfig/network
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.