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 设备分配同样的接口:enccw
bus_ID。这个总线 ID 由频道子系统 ID、子频道组 ID 以及设备号组成,例如:enccw0.0.0a00
。
17.3.1.1. 动态添加 qeth 设备
要动态添加
qeth
设备,请按照以下步骤执行:
- 决定是否载入
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
- 使用
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 -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 - 选择要使用的配置,使用 znetconf 应用该配置,并使配置的组设备在线作为网络设备。
#
znetconf -a f500
Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500) - 另外,还可以在将组群设备设置为在线前传送参数:
#
znetconf -a f500 -o portname=myname
Scanning 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
根据系统设置情况以及所需要的功能设置额外参数和特性,比如:portno
layer2
portname
- 向在线
sysfs
属性中写入1
将设备设置为在线:#
echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- 确认该设备状态:
#
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
1返回值是1
表示设备在线,而返回值为0
表示设备离线。 - 查找分配给这个设备的接口名:
#
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
17.3.1.2. 动态删除 qeth 设备
请使用 znetconf 程序删除
qeth
设备。例如:
- 使用
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 - 选择要删除的网络设备并运行
znetconf
将该设备设定为离线并取消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) - 确定删除成功:
#
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
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 -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
文件如下:
- 修改
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.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 - 检查新接口的路由:
#
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 - 使用
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 - 如果已更改默认路由信息,则必须相应更新
/etc/sysconfig/network
。
17.3.2. 添加 LCS 设备
LAN 通道站(LCS)设备驱动程序在 OSA-Express2 和 OSA-Express 3 特性中支持 1000Base-T 以太网。
LCS
设备驱动程序为 OSA 快速以太网和千兆以太网设备分配同样的接口:enccw
bus_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
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。