25.3. 添加网络设备
网络设备驱动程序模块自动由 udev 载入。
可动态或者永久在 IBM System z 中添加网络接口。
- 动态
- 载入设备驱动程序
- 从忽略的设备列表中删除网络设备。
- 创建组设备。
- 配置该设备。
- 在线设置设备。
- 永久
- 创建配置脚本。
- 激活该接口。
下面的部分为每个 IBM System z 网络设备驱动程序的每个任务提供基本信息。第 25.3.1 节 “添加 qeth 设备” 描述如何在现有 Red Hat Enterprise Linux 实例中添加 qeth 设备。第 25.3.2 节 “添加 LCS 设备” 描述如何在 Red Hat Enterprise Linux 现有实例中添加 lcs 设备。第 25.3.3 节 “映射子通道和网络设备名称” 描述如何永久保留网络设备名称。第 25.3.4 节 “为网络 Root 文件系统配置 System z 网络设备” 描述如何将网络设备配置为使用只能通过网络访问的 root 文件系统。
25.3.1. 添加 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
qeth 网络设备驱动程序支持 System z QDIO 模式、HiperSocket、z/VM 客体 LAN 以及 z/VM VSWITCH 的 OSA 快速特性。
根据所添加接口的类型,qeth 设备驱动程序分配以下三个基本接口名之一:
- hsin 用于 HiperSocket 设备
- hsin 用于以太网特性
n 的值是一个唯一的整数值来区分不同的设备。n 为 0 代表此种类型中的第一个设备,1 为第 2 个设备,依次类推。
25.3.1.1. 动态添加 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要动态添加 qeth 设备,请按照以下步骤执行:
- 决定是否载入 qeth 设备驱动程序模块。以下示例先生载入的 qeth 模块:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果lsmod
命令的输出显示这个模块还没有被载入,则请运行modprobe
命令去载入它们:modprobe qeth
# modprobe qeth
Copy 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_id# 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_id# 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_id# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用三个代表网络设备的设备总线 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
# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
Copy 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 (eth1)
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 (eth1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在可以继续配置网络eth1
接口。
另外,可以使用 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/group# 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/group# 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/group# 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/group
Copy 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/group
Copy 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.f500
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据系统设置情况以及所需要的功能设置额外参数和特性,比如:portno
layer2
portname
有关额外参数的详情请参考《System z 中的 Linux: Red Hat Enterprise Linux 6 中的设备驱动程序、特性和命令》中有关 qeth 设备驱动程序的章节。 - 在在线 sysfs 属性中写入 1 将设备设置为在线:
echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
Copy 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 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返回值是1
表示设备在线,而返回值为0
表示设备离线。 - 查找分配给这个设备的接口名:
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name eth1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name eth1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在可以继续配置网络eth1
接口。以下 s390utils 软件包中的命令显示 qeth 设备的重要设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
25.3.1.2. 动态删除 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要删除 qeth 设备,请使用 znetconf 工具。例如:
- 使用
znetconf
命令显示所有配置的网络设备:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选择要删除的网络设备并启动
znetconf
将该设备设定为离线并取消 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 (eth1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确定删除成功:
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 eth0 online
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 eth0 online
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
25.3.1.3. 永久添加 qeth 设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要让新 qeth 设备永久保留,需要为其生成一个配置文件。该网络接口配置网络位于
/etc/sysconfig/network-scripts/
。
这个网络配置文件使用
ifcfg-device
命名规则,其中 device 可在之前生成的 qeth 组设备的 if_name
文件中找到。在这个示例中,它是 eth1
。以透明方式为永久设备配置处理 cio_ignore
,因此不需要从忽略列表中手动释放设备。
如果已经存在同一类型的另一个设备的配置文件,最简单的解决方案就是将其复制到新名称中。
cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ifcfg-eth1
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth1
如果没有定义类似的设备,则必须自己生成一个。请使用
ifcfg-eth0
示例作为模板。
/etc/sysconfig/network-scripts/ifcfg-eth0
编辑新的 ifcfg-eth1 文件,如下:
- 修改
DEVICE
状态反映 ccw 组群中if_name
的内容。 - 修改
IPADDR
状态反映新接口的 IP 地址。 - 根据需要修改
NETMASK
状态。 - 如果要在引导时激活新接口,则请确定将
ONBOOT
设定为yes
。 - 请确定
SUBCHANNELS
说明与 qeth 设备的硬件地址一致。 - 修改
PORTNAME
状态,如果环境不需要该参数,则无需修改。 - 可在
OPTIONS
参数中添加任意有效 sysfs 属性及其值。 Red Hat Enterprise Linux 安装程序目前使用它配置 qeth 设备的层模式(layer2
)以及相关端口号(portno
)。现在 OSA 设备的默认 qeth 设备驱动程序为层 2 模式。要继续使用之前默认依赖为层 3 模式旧的 ifcfg 定义,请在OPTION
参数中添加layer2=0
。
/etc/sysconfig/network-scripts/ifcfg-eth1
对
ifcfg
文件的修改只在重启系统或者更改系统 I/O 配置动态添加新网络设备通道(例如:在 z/VM 中添加)时方可生效。另外,您可以触发 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_id# 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_id# 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_id# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用三个代表网络设备的设备总线 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
# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
Copy 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/ueventecho add > /sys/bus/ccw/devices/read-channel/ueventecho add > /sys/bus/ccw/devices/read-channel/uevent
Copy 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/uevent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查网络设备状态:
lsqeth
# lsqeth
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 现在启动新的接口:
ifup eth1
# ifup eth1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查接口状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查新接口的路由:
Copy 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 ms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果已更改默认路由信息,则必须相应更新
/etc/sysconfig/network
。