Show Table of Contents
17.3. 添加网络设备
网络设备驱动程序模块自动由 udev 载入。
可动态或者永久在 IBM System z 中添加网络接口。
- 动态
- 载入设备驱动程序
- 从忽略的设备列表中删除网络设备。
- 创建组设备。
- 配置该设备。
- 在线设置设备。
- 永久
- 创建配置脚本。
- 激活该接口。
下面的小结提供了 IBM System z 网络设备驱动程序每个任务的基本信息。第 17.3.1 节 “添加 qeth 设备” 描述如何在现有 Red Hat Enterprise Linux 事务中添加 qeth 设备。第 17.3.2 节 “添加 LCS 设备” 描述如何在 Red Hat Enterprise Linux 现有事务中添加 lcs 设备。
17.3.1. 添加 qeth 设备
qeth 网络设备驱动程序支持 System z QDIO 模式、HiperSocket、z/VM 客体 LAN 以及 z/VM VSWITCH 的 OSA 快捷功能。
qeth 设备驱动程序为以太网和 Hipersockets 设备分配同样的接口:enccwbus_ID。这个总线 ID 由频道子系统 ID、子频道组 ID 以及设备号组成,例如:enccw0.0.0a00。
17.3.1.1. 动态添加 qeth 设备
要动态添加
qeth 设备,请按照以下步骤执行:
- 决定是否载入
qeth设备驱动程序模块。以下示例显示载入的qeth模块:#lsmod | grep qethqeth_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 - 使用
cio_ignore程序删除忽略设备列表中的网络频道,并使其出现在 Linux 中:#cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id使用三个代表网络设备的设备总线 ID 替换 read_device_bus_id、write_device_bus_id 和 data_device_bus_id。例如:如果 read_device_bus_id 是0.0.f500,则 write_device_bus_id 为0.0.f501,同时 data_device_bus_id 为0.0.f502#cio_ignore -r 0.0.f500,0.0.f501,0.0.f502 - 使用 znetconf 程序识别并列出网络设备的候选配置:
#znetconf -uScanning 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 - 选择要使用的配置,使用 znetconf 应用该配置,并使配置的组设备在线作为网络设备。
#znetconf -a f500Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500) - 另外,还可以在将组群设备设置为在线前传送参数:
#znetconf -a f500 -o portname=mynameScanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)现在您可以继续配置网络接口enccw0.0.f500。
另外,您可以使用
sysfs 属性在线设置设备如下:
- 创建
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 - 下一步,通过查找读取频道确认正确创建了
qeth组设备:#ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500根据系统设置情况以及所需要的功能设置额外参数和特性,比如:portnolayer2portname
- 向在线
sysfs属性中写入1将设备设置为在线:#echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online - 确认该设备状态:
#cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online1返回值是1表示设备在线,而返回值为0表示设备离线。 - 查找分配给这个设备的接口名:
#cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_nameenccw0.0.f500现在您可以继续配置网络接口enccw0.0.f500。以下 s390utils 软件包中的命令显示qeth设备的重要设置:#lsqeth enccw0.0.f500Device 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
17.3.1.2. 动态删除 qeth 设备
请使用 znetconf 程序删除
qeth 设备。例如:
- 使用
znetconf程序显示所有配置的网络设备:#znetconf -cDevice 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 - 选择要删除的网络设备并运行
znetconf将该设备设定为离线并取消ccw> 组设备。#znetconf -r f500Remove 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) - 确定删除成功:
#znetconf -cDevice 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
17.3.1.3. 永久添加 qeth 设备
要永久保留新
qeth 设备,需要为新接口生成配置文件。该网络接口配置文件位于 /etc/sysconfig/network-scripts/ 目录。
这个网络配置文件使用
ifcfg-device 命名规则,其中 device 可在之前生成的 qeth 组设备的 if_name 文件中找到的值,例如: enccw0.0.09a0。使用 cio_ignore 命令明确处理永久设备配置,因此您不需要从忽略列表中手动释放设备。
如果已经存在同一类型的另一个设备的配置文件,最简单的解决方案就是将其复制到新名称中并进行编辑:
#cd /etc/sysconfig/network-scripts#cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
请使用 lsqeth 程序查看网络设备 ID:
#lsqeth -pdevices 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 文件如下:
- 修改
DEVICE语句以体现ccw组中if_name文件的内容。 - 修改
IPADDR状态反映新接口的 IP 地址。 - 根据需要修改
NETMASK状态。 - 如果要在引导时激活新接口,则请确定将
ONBOOT设定为yes。 - 请确定
SUBCHANNELS说明与 qeth 设备的硬件地址一致。 - 修改
PORTNAME状态,如果环境不需要该参数,则无需修改。 - 您可在
OPTIONS参数中添加任意有效sysfs属性及其值。Red Hat Enterprise Linux 安装程序目前使用这个属性配置qeth设备的层模式(layer2)以及相关端口号(portno)。现在 OSA 设备的默认qeth设备驱动程序为 layer 2 模式。要继续使用之前默认依赖为 layer 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
对
ifcfg 文件的修改只在重启系统或者更改系统 I/O 配置动态添加新网络设备通道(例如:在 z/VM 中添加)时方可生效。另外,您可以触发 ifcfg 对之前不活跃的网络通道的激活,请执行以下命令:
- 使用
cio_ignore程序删除忽略设备列表中的网络频道,并使其出现在 Linux 中:#cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id使用三个代表网络设备的设备总线 ID 替换 read_device_bus_id、write_device_bus_id 和 data_device_bus_id。例如:如果 read_device_bus_id 是0.0.0600,则 write_device_bus_id 为0.0.0601,同时 data_device_bus_id 为0.0.0602#cio_ignore -r 0.0.0600,0.0.0601,0.0.0602 - 要触发激活更改的 uevent,请执行:
#echo add > /sys/bus/ccw/devices/read-channel/uevent例如:#echo add > /sys/bus/ccw/devices/0.0.0600/uevent - 检查网络设备状态:
#lsqeth - 现在启动新的接口:
#ifup enccw0.0.0600 - 检查接口状态:
#ip addr show enccw0.0.06003: 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 - 检查新接口的路由:
#ip routedefault 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 - 使用
ping命令 ping 网关或者新设备子网中的其他主机确认您的更改:#ping -c 1 192.168.70.8PING 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 - 如果已更改默认路由信息,则必须相应更新
/etc/sysconfig/network。
17.3.2. 添加 LCS 设备
LAN 通道站(LCS)设备驱动程序在 OSA-Express2 和 OSA-Express 3 特性中支持 1000Base-T 以太网。
LCS 设备驱动程序为 OSA 快速以太网和千兆以太网设备分配同样的接口:enccwbus_ID。这个总线 ID 由频道子系统 ID、子频道组 ID 以及设备号组成,例如:enccw0.0.0a00。
17.3.2.1. 动态添加 LCS 设备
- 载入设备驱动程序:
#modprobe lcs - 使用
cio_ignore程序删除忽略设备列表中的网络频道,并使其出现在 Linux 中:#cio_ignore -r read_device_bus_id,write_device_bus_id使用代表网络设备的两个设备总线 ID 替换 read_device_bus_id 和 write_device_bus_id。例如:#cio_ignore -r 0.0.09a0,0.0.09a1 - 创建组设备:
#echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group - 配置该设备。OSA卡可以为一个单独的 CHPID 提供多达16个端口。在默认的情况下,LCS 组设备使用端口
0。要使用不同的端口,请执行类似如下的命令:#echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno使用您要使用的端口号替换 portno。 - 设置设备在线:
#echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online - 查找已经分配的网络设备名称,请输入命令:
#ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/drwxr-xr-x 4 root root 0 2010-04-22 16:54 enccw0.0.0600
17.3.2.2. 永久添加 LCS 设备
cio_ignore 命令明确处理永久设备配置,您不需要手动从忽略列表中释放设备。
要永久添加 LCS 设备,请按照以下步骤操作:
- 生成类似
/etc/sysconfig/network-scripts/的配置脚本文件,将其命名为ifcfg-device命名规则,其中 device 可在之前生成的qeth组设备的if_name文件中找到的值,例如:enccw0.0.09a0。该文件应类似如下:# IBM LCS DEVICE=enccw0.0.09a0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=lcs SUBCHANNELS=0.0.09a0,0.0.09a1 PORTNAME=0 OPTIONS='' TYPE=Ethernet
- 修改
PORTNAME值反映您要使用的 LCS 端口号(portno)。您可在可选OPTIONS参数中添加任意有效 lcs sysfs 属性及其值。有关语法请查看 第 17.3.1.3 节 “永久添加 qeth 设备”。 - 将
DEVICE参数设定为如下值:DEVICE=enccwbus_ID
- 执行
ifup激活该设备:#ifup enccwbus_ID
对
ifcfg 文件的更改只能在重启系统后生效。您可使用以下命令触发用于网络通道的 ifcfg 文件的激活:
- 使用
cio_ignore程序从忽略设备列表中删除 LCS 设备适配器并使其在 Linux 中可见:#cio_ignore -r read_device_bus_id,write_device_bus_id使用 LCS 设备的设备总线 ID 替换 read_device_bus_id 和 write_device_bus_id。例如:#cio_ignore -r 0.0.09a0,0.0.09a1 - 要触发激活更改的 uevent,请执行:
#echo add > /sys/bus/ccw/devices/read-channel/uevent例如:#echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
17.3.3. 为网络 Root 文件系统配置 System z 网络设备
要添加访问 root 文件系统所需的网络设备,您只要更改引导选项即可。引导选项可位于参数文件中(请参考 第 18 章 IBM System z 中的参数和配置文件),或者是
zipl.conf 的一部分,该文件位于使用 zipl 引导装载程序准备的 DASD 或者使用 FCP 的 SCSI LUN 中。这里无需重新生成 initramfs。
Dracut,mkinitrd 的继任程序,可提供 initramfs 中的功能用来依次替换 initrd,提供引导参数在引导进程早期激活 System z 中的网络设备:
rd_znet=。
输入时,这个参数使用逗号分开的
NETTYPE(qeth、lcs、ctc)、两个(lcs,ctc)或者三个(qeth)设备总线 ID,以及由密钥-数值对组成,与网络设备 sysfs 属性对应的可选附加参数。这个参数配置和激活 System z 网络硬件。对 IP 地址和其他具体网络的配置同样适用于其他平台。详情请参考 dracut 文档。
使用 cio_ignore 命令在 boot 中明确处理网络频道 。
通过 NFS 使用网络访问的 root 文件系统引导选项示例:
root=10.16.105.196:/nfs/nfs_root cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0,portname=OSAPORT ip=10.16.105.197:10.16.105.196:10.16.111.254:255.255.248.0:nfs‑server.subdomain.domain:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.