20.3. 添加网络设备
					网络设备驱动程序模块由 udev 自动加载。
				
					您可以在 IBM Z 上动态添加或永久添加网络接口。
				
- 动态
- 加载设备驱动程序
 - 从忽略的设备列表中删除网络设备。
 - 创建组设备。
 - 配置 设备。
 - 设置设备在线。
 
 - 永久
- 创建配置脚本。
 - 激活 接口。
 
 
					以下小节提供了每个 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 设备,请按照以下步骤执行:
						- 确定是否载入
qeth设备驱动程序模块。以下示例显示了载入的qeth模块:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 lsmod 命令的输出显示qeth模块没有被加载,请运行 modprobe 命令加载它们:modprobe qeth
# modprobe qethCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 使用 cio_ignore 程序从忽略的设备列表中删除网络频道,并使其在 Linux 中可见:
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 read_device_bus_id、write_device_bus_id、data_device_bus_id 替换为代表网络设备的三个设备总线 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
# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 使用 znetconf 工具来识别并列出网络设备的候选配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 选择您要使用的配置,并使用 znetconf 应用配置,并将配置的组设备在线作为网络设备。
znetconf -a f500
# znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 另外,您还可以在将组群设备设置为在线前传递参数:
znetconf -a f500 -o portname=myname
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以继续配置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 read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 接下来,通过查找读取频道来验证
qeth组设备是否已正确创建:ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的系统设置情况以及您所需要的功能设置其他参数和特性,例如:portnolayer2portname
 - 通过向在线
sysfs属性写入1使设备在线:echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 然后确认该设备状态:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返回值为1表示设备在线,返回值0表示设备离线。 - 查找分配给该设备的接口名称:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以继续配置enccw0.0.f500网络接口。s390utils 软件包中的以下命令显示qeth设备最重要的设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow  
20.3.1.2. 动态删除 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
							要删除 
qeth 设备,请使用 znetconf 实用程序。例如:
						- 使用 znetconf 工具显示您配置的所有网络设备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 选择要删除的网络设备,并运行 znetconf 将设备离线,取消分组 the
ccw> 组设备。znetconf -r f500
# 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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 验证删除是否成功:
znetconf -c
# 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 onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow  
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
# cd /etc/sysconfig/network-scripts
# cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
							要了解网络设备的 ID,请使用 lsqeth 工具:
						
lsqeth -p
# 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 示例作为模板:
						
							编辑新的 
ifcfg-0.0.0600 文件,如下所示:
						- 修改
DEVICE声明,以反映 yourccw组中的if_name文件的内容。 - 修改
IPADDR声明,以反映您的新接口的 IP 地址。 - 根据需要修改
NETMASK声明。 - 如果要在引导时激活新接口,请确保
ONBOOT设置为yes。 - 确保
SUBCHANNELS声明与您 qeth 设备的硬件地址匹配。请注意,必须用小写字母指定 ID。 - 如果您的环境中不需要,请修改
PORTNAME声明或将其退出。 - 您可以在
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
						
							只有重启系统后或通过更改系统的 I/O 配置(例如在 z/VM 中附加)来更改系统的 I/O 配置,对 
ifcfg 文件的更改才会生效。另外,您可以执行以下命令为之前未激活的网络频道触发 ifcfg 文件激活:
						- 使用 cio_ignore 程序从忽略的设备列表中删除网络频道,并使其在 Linux 中可见:
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 read_device_bus_id、write_device_bus_id、data_device_bus_id 替换为代表网络设备的三个设备总线 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
# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 要触发激活更改的 uevent,请发出:
echo add > /sys/bus/ccw/devices/read-channel/uevent
# echo add > /sys/bus/ccw/devices/read-channel/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:echo add > /sys/bus/ccw/devices/0.0.0600/uevent
# echo add > /sys/bus/ccw/devices/0.0.0600/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 检查网络设备状态:
lsqeth
# lsqethCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 现在启动新的接口:
ifup enccw0.0.0600
# ifup enccw0.0.0600Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 检查接口的状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 检查新接口的路由:
ip route
# 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.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - 使用
ping 工具 ping网关或者新设备的子网中的另一主机来验证您的更改:ping -c 1 192.168.70.8
# 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 msCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 如果默认路由信息已更改,还必须相应地更新
/etc/sysconfig/network。