17.11. 永久添加 qeth 设备


要让您的新 qeth 设备基于持久性,需要为您的新接口生成配置文件。网络接口配置文件位于 /etc/sysconfig/network-scripts/ 目录下。

这个网络配置文件的命名规则为 ifcfg-device,其中 device 是之前创建的 qeth 组设备的 if_name 文件中的值。 例如: enc9a0。对于持久性设备配置,cio_ignore 命令会被透明处理,您不需要从忽略列表中手动释放设备。

如果同一类型的另一个设备的配置文件已经存在,添加配置文件的最简单方法是将其复制到新名称中,然后编辑它:

# cd /etc/sysconfig/network-scripts
# cp ifcfg-enc9a0 ifcfg-enc600

要了解网络设备的 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   enc9a0    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64
0.0.0600/0.0.0601/0.0.0602 x00   enc600    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=enc9a0
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 声明以反映您的 ccw 组中 if_name 文件的内容。
  2. 修改 IPADDR 声明以反映您的新接口的 IP 地址。
  3. 根据需要修改 NETMASK 声明。
  4. 如果要在引导时激活新接口,请确定将 ONBOOT 设为 yes
  5. 请确定 SUBCHANNELS 的值和您的 qeth 设备的硬件地址一致。
  6. 修改 PORTNAME 声明,如果您的环境不需要该参数,则无需修改。
  7. 您可以将任何有效的 sysfs 属性及其值添加到 OPTIONS 参数。Red Hat Enterprise Linux 安装程序目前使用它来配置层模式(layer2),以及qeth 设备的相对端口号(portno)。

    现在 OSA 设备的默认 qeth 设备驱动程序为 2 层模式。要继续使用之前需要依赖 3 层模式的旧的 ifcfg 定义,在 OPTIONS 参数中添加 layer2=0

/etc/sysconfig/network-scripts/ifcfg-0.0.0600

# IBM QETH
DEVICE=enc600
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 下连接)来动态添加新的网络设备后,对 ifcfg 文件的更改才会生效。另外,您可以执行以下命令来为之前未激活的网络通道触发 ifcfg 文件的激活:

  1. 使用 cio_ignore 程序从忽略的设备列表中删除网络通道,并使其出现在 Linux 中:

    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id

    使用代表网络设备的三个设备总线 ID 替换 read_device_bus_idwrite_device_bus_iddata_device_bus_id例如,如果 read_device_bus_id0.0.0600,则 write_device_bus_id0.0.0601data_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 enc600
  5. 检查接口的状态:

    # ip addr show enc600
    3: enc600:  <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 enc600
    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 enc600  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

其它资源

  • 系统上的 nm-settings-keyfile 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.