5.9. 在 64 位 IBM Z 中配置 Linux 实例
这部分论述了在 64 位 IBM Z 上安装 Red Hat Enterprise Linux 的大多数常见任务。
5.9.1. 添加 DASD
直接访问存储设备(DASD)是 64 位 IBM Z 常用的存储类型。如需更多信息,请参阅 IBM 知识库中的 使用 DASD。以下示例是关于如何在线设置 DASD,对其进行格式化,并使更改持久的。
如果在 z/VM 中运行,请确认设备已经被附加或者连接到 Linux 系统。
CP ATTACH EB1C TO *
要连接一个您可以访问的最小磁盘,请运行以下命令:
CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
5.9.2. 在线动态设定 DASD
本节包含有关在线设置 DASD 的信息。
流程
使用
cio_ignore
程序从忽略的设备列表中删除 DASD,并使其在 Linux 中可见:# cio_ignore -r device_number
使用 DASD 的设备号替换 device_number。例如:
# cio_ignore -r 4b2e
设置设备在线。使用以下命令格式:
# chccwdev -e device_number
使用 DASD 的设备号替换 device_number。例如:
# chccwdev -e 4b2e
另外,也可以使用 sysfs 属性在线设定该设备:
使用
cd
命令将 /sys/ 的目录改为代表那个卷的目录:#
cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/#
ls -l total 0 -r--r--r-- 1 root root 4096 Aug 25 17:04 availability -rw-r--r-- 1 root root 4096 Aug 25 17:04 cmb_enable -r--r--r-- 1 root root 4096 Aug 25 17:04 cutype -rw-r--r-- 1 root root 4096 Aug 25 17:04 detach_state -r--r--r-- 1 root root 4096 Aug 25 17:04 devtype -r--r--r-- 1 root root 4096 Aug 25 17:04 discipline -rw-r--r-- 1 root root 4096 Aug 25 17:04 online -rw-r--r-- 1 root root 4096 Aug 25 17:04 readonly -rw-r--r-- 1 root root 4096 Aug 25 17:04 use_diag检查这个设备是否已经在线:
#
cat online 0如果不在线,请输入以下命令使它在线:
#
echo 1 > online#
cat online 1
请确认哪个块正在被访问:
#
ls -l total 0 -r--r--r-- 1 root root 4096 Aug 25 17:04 availability lrwxrwxrwx 1 root root 0 Aug 25 17:07 block -> ../../../../block/dasdb -rw-r--r-- 1 root root 4096 Aug 25 17:04 cmb_enable -r--r--r-- 1 root root 4096 Aug 25 17:04 cutype -rw-r--r-- 1 root root 4096 Aug 25 17:04 detach_state -r--r--r-- 1 root root 4096 Aug 25 17:04 devtype -r--r--r-- 1 root root 4096 Aug 25 17:04 discipline -rw-r--r-- 1 root root 0 Aug 25 17:04 online -rw-r--r-- 1 root root 4096 Aug 25 17:04 readonly -rw-r--r-- 1 root root 4096 Aug 25 17:04 use_diag如示例所示,/dev/dasdb 正在访问设备 4B2E。
这些指令为当前会话在线设置 DASD,但在重启后不会保留。
有关如何永久在线设置 DASD 的详情,请参阅 持久在线设置 DASD。当使用 DASD 时,请使用 /dev/disk/by-path/
中的持久设备符号链接。
5.9.3. 准备使用低级格式化的新 DASD
磁盘在线后,返回 /root
目录并低级格式化该设备。这在 DASD 的整个生命周期中只需要 一 次:
#
cd /root#
dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2e Drive Geometry: 10017 Cylinders * 15 Heads = 150255 Tracks I am going to format the device /dev/disk/by-path/ccw-0.0.4b2e in the following way: Device number of device : 0x4b2e Labelling device : yes Disk label : VOL1 Disk identifier : 0X4B2E Extent start (trk no) : 0 Extent end (trk no) : 150254 Compatible Disk Layout : yes Blocksize : 4096 --->> ATTENTION! <<--- All data of that device will be lost. Type "yes" to continue, no will leave the disk untouched: yes cyl 97 of 3338 |#----------------------------------------------| 2%
当进度条达到结尾格式化完成时,dasdfmt 会打印以下输出:
Rereading the partition table... Exiting...
现在,使用 fdasd 对 DASD 进行分区。您最多可在 DASD 中创建三个分区。在我们的示例中,我们创建一个覆盖整个磁盘的分区:
# fdasd -a /dev/disk/by-path/ccw-0.0.4b2e reading volume label ..: VOL1 reading vtoc ..........: ok auto-creating one partition for the whole disk... writing volume label... writing VTOC... rereading partition table...
DASD 在线后(低级格式化后),它可以和 Linux 中的其它磁盘一样使用。例如:您可以在其分区(例如 /dev/disk/by-path/ccw-0.0.4b2e-part1
)上创建文件系统、LVM 物理卷或交换空间。除了 dasdfmt
和 fdasd
命令,不要使用完整的 DASD 设备(dev/dasdb
)。如果您想要使用整个 DASD,创建一个覆盖整个驱动器的分区,如上例中的 fdasd
。
要在以后添加附加磁盘而不破坏现有磁盘条目,例如 /etc/fstab
,请使用 /dev/disk/by-path/
中的永久设备符号链接。
5.9.4. 在线永久设定 DASD
以上说明描述了如何在运行的系统中动态激活 DASD。但是这种更改不具有持久性,重启后无法保留。在您的 Linux 系统中使对 DASD 配置的修改具有持久性取决于 DASD 是否属于 root 文件系统。在启动过程中需要 initramfs
非常早地激活 root 文件系统所需的 DASD 才能挂载根文件系统。
对于持久性设备配置,cio_ignore
命令会被透明处理,您不需要从忽略列表中手动释放设备。
5.9.5. DASD 是 root 文件系统 一 部分
在 Red Hat Enterprise Linux 9 中更改了添加 DASD 作为 root 文件系统一部分的文件。运行以下命令可以找到要编辑的新文件,而不编辑 /etc/zipl.conf
文件:
# machine_id=$(cat /etc/machine-id) # kernel_version=$(uname -r) # ls /boot/loader/entries/$machine_id-$kernel_version.conf
有一个引导选项可在引导过程早期激活 DASD: rd.dasd=
。这个选项使用直接访问存储设备(DASD)适配器设备总线标识符。如果需要多个 DASD,可以多次指定参数,或使用逗号分开的总线 ID 列表。要指定一个 DASD 范围,指定第一个和最后一个总线 ID。以下是一个系统的 /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf
文件示例。它使用两个 DASD 分区中的物理卷用于 LVM 卷组 vg_devel1
,其中包括一个逻辑卷 lv_root
用于 root 文件系统。
title Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa) version 4.18.0-80.el8.s390x linux /boot/vmlinuz-4.18.0-80.el8.s390x initrd /boot/initramfs-4.18.0-80.el8.s390x.img options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0 id rhel-20181027190514-4.18.0-80.el8.s390x grub_users $grub_users grub_arg --unrestricted grub_class kernel
在带有设备总线 ID 为 0.0.202b
的第三个 DASD 分区上添加另一个物理卷。为此,请将 rd.dasd=0.0.202b
添加到 /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-32.el8.s390x.conf
中引导内核的参数行:
title Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa) version 4.18.0-80.el8.s390x linux /boot/vmlinuz-4.18.0-80.el8.s390x initrd /boot/initramfs-4.18.0-80.el8.s390x.img options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0 id rhel-20181027190514-4.18.0-80.el8.s390x grub_users $grub_users grub_arg --unrestricted grub_class kernel
请确定配置文件中的内核命令行长度不超过 896 字节。否则引导装载程序无法被保存,安装将失败。
运行 zipl
来对下一个 IPL 应用配置文件的更改:
# zipl -V Using config file '/etc/zipl.conf' Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf' Target device information Device..........................: 5e:00 Partition.......................: 5e:01 Device name.....................: dasda Device driver name..............: dasd DASD device number..............: 0201 Type............................: disk partition Disk layout.....................: ECKD/compatible disk layout Geometry - heads................: 15 Geometry - sectors..............: 12 Geometry - cylinders............: 13356 Geometry - start................: 24 File system block size..........: 4096 Physical block size.............: 4096 Device size in physical blocks..: 262152 Building bootmap in '/boot' Building menu 'zipl-automatic-menu' Adding #1: IPL section '4.18.0-80.el8.s390x' (default) initial ramdisk...: /boot/initramfs-4.18.0-80.el8.s390x.img kernel image......: /boot/vmlinuz-4.18.0-80.el8.s390x kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0' component address: kernel image....: 0x00010000-0x0049afff parmline........: 0x0049b000-0x0049bfff initial ramdisk.: 0x004a0000-0x01a26fff internal loader.: 0x0000a000-0x0000cfff Preparing boot menu Interactive prompt......: enabled Menu timeout............: 5 seconds Default configuration...: '4.18.0-80.el8.s390x' Preparing boot device: dasda (0201). Syncing disks... Done.
5.9.6. DASD 不是 root 文件系统的一部分
不是 root 文件系统(即 数据磁盘 )一部分的直接访问存储设备(DASD)会在 /etc/dasd.conf
文件中永久配置。这个文件每行包含一个 DASD,其中每行都以 DASD 的总线 ID 开头。
在向 /etc/dasd.conf
文件添加 DASD 时,请使用键值对来指定每个条目的选项。使用等号(=)分隔键及其值。添加多个选项时,请使用空格或 tab 来分隔各个选项。
/etc/dasd.conf
文件示例
0.0.0207 0.0.0200 use_diag=1 readonly=1
对 /etc/dasd.conf
文件的更改在系统重启后或通过更改系统的 I/O 配置(即,DASD 被连接在 z/VM 下)来动态添加新 DASD 后生效。
另外,要激活添加到 /etc/dasd.conf
文件中的 DASD,请完成以下步骤:
从忽略的设备列表中删除 DASD,并使用
cio_ignore
工具使其可见:# cio_ignore -r device_number
其中
device_number
是 DASD 设备号。例如,如果设备号是
021a
,请运行:# cio_ignore -r 021a
通过写入设备的
uevent
属性来激活 DASD:# echo add > /sys/bus/ccw/devices/dasd-bus-ID/uevent
其中
dasd-bus-ID
是 DASD 的总线 ID。例如,如果总线 ID 是
0.0.021a
,请运行:# echo add > /sys/bus/ccw/devices/0.0.021a/uevent
5.9.7. FCP LUN 是 root 文件系统的一部分
在 Red Hat Enterprise Linux 9 中更改了添加作为 root 文件系统一部分的 FCP LUN 的唯一文件。运行以下命令可以找到要编辑的新文件,而不编辑 /etc/zipl.conf
文件:
# machine_id=$(cat /etc/machine-id) # kernel_version=$(uname -r) # ls /boot/loader/entries/$machine_id-$kernel_version.conf
Red Hat Enterprise Linux 提供在引导过程早期激活 FCP LUN 的参数: rd.zfcp=
。该值是一个包含 FCP 设备总线 ID 的用逗号分隔的列表,目标 WWPN 为前缀为 0x 的 16 位十六进制数,以及前缀为 0x
,右边填充为 0 ,有 16 位十六进制数的 FCP LUN。
只有 zFCP
设备没有被配置为 NPIV 模式,或者 zfcp.allow_lun_scan=0
内核模块参数禁用了 auto LUN 扫描时,或安装 RHEL-9.0 或更低的版本时,才需要 WWPN 和 FCP LUN 值:否则,可以省略它们,例如 rd.zfcp=0.0.4000
。以下是一个系统的 /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf
文件示例。这个系统使用一个 FCP 附加的 SCSI 磁盘中的一个带有两个路径的物理卷,用于一个 LVM 卷组 vg_devel1
,它包括了一个用于 root 文件系统的逻辑卷 lv_root
。
title Red Hat Enterprise Linux (5.14.0-55.el9.s390x) 9.0 (Plow) version 5.14.0-55.el9.s390x linux /boot/vmlinuz-5.14.0-55.el9.s390x initrd /boot/initramfs-5.14.0-55.el9.s390x.img options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0 id rhel-20181027190514-5.14.0-55.el9.s390x grub_users $grub_users grub_arg --unrestricted grub_class kernel
-
要在另外一个物理卷上添加一个带有 FCP LUN
0x401040a300000000
的 FCP 附加的 SCSI 磁盘中的一个分区,使用已存在于物理卷中的相同的两个路径,将rd.zfcp=0.0.fc00,0x5105074308c212e9
,0x401040a300000000
和rd.zfcp=0.0.fcd0
,0x5105074308c2aee9
,0x401040a300000000
添加到/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf
中您的引导内核的参数行中。例如:
title Red Hat Enterprise Linux (5.14.0-55.el9.s390x) 9.0 (Plow) version 5.14.0-55.el9.s390x linux /boot/vmlinuz-5.14.0-55.el9.s390x initrd /boot/initramfs-5.14.0-55.el9.s390x.img options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a300000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0 id rhel-20181027190514-5.14.0-55.el9.s390x grub_users $grub_users grub_arg --unrestricted grub_class kernel
请确定配置文件中的内核命令行长度不超过 896 字节。否则引导装载程序无法被保存,安装将失败。
-
运行
dracut -f
以更新目标内核的初始 RAM 磁盘。 -
运行
zipl
来对下一个 IPL 应用配置文件的更改:
# zipl -V Using config file '/etc/zipl.conf' Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf' Run /lib/s390-tools/zipl_helper.device-mapper /boot Target device information Device..........................: fd:00 Partition.......................: fd:01 Device name.....................: dm-0 Device driver name..............: device-mapper Type............................: disk partition Disk layout.....................: SCSI disk layout Geometry - start................: 2048 File system block size..........: 4096 Physical block size.............: 512 Device size in physical blocks..: 10074112 Building bootmap in '/boot/' Building menu 'zipl-automatic-menu' Adding #1: IPL section '5.14.0-55.el9.s390x' (default) kernel image......: /boot/vmlinuz-5.14.0-55.el9.s390x kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a300000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0' initial ramdisk...: /boot/initramfs-5.14.0-55.el9.s390x.img component address: kernel image....: 0x00010000-0x007a21ff parmline........: 0x00001000-0x000011ff initial ramdisk.: 0x02000000-0x028f63ff internal loader.: 0x0000a000-0x0000a3ff Preparing boot device: dm-0. Detected SCSI PCBIOS disk layout. Writing SCSI master boot record. Syncing disks... Done.
5.9.8. FCP LUN 不是 root 文件系统的一部分
不是 root 文件系统一部分的 FCP LUN,比如数据磁盘,会在 /etc/zfcp.conf
中永久配置。每行包含一个 FCP LUN。每行都包含 FCP 适配器的设备总线 ID、目标 WWPN 为前缀为 0x
的 16 位十六进制数,以及前缀为 0x
,右边填充为 0 ,有 16 位十六进制数的 FCP LUN,由空格或标签页分开。
只有在 zFCP
设备没有在 NPIV 模式下配置,或者 auto LUN
扫描被 zfcp.allow_lun_scan=0
内核模块参数被禁用或安装 RHEL-9.0 或更低版本时,才需要 WWPN 和 FCP LUN 值。否则,可以省略它们,并且只强制使用设备总线 ID。
在系统中添加 FCP 适配器时,/etc/zfcp.conf
中的条目会被激活并由 udev 配置。在引导时,会添加系统可见的所有 FCP 适配器并触发 udev。
/etc/zfcp.conf
内容示例:
0.0.fc00 0x5105074308c212e9 0x401040a000000000 0.0.fc00 0x5105074308c212e9 0x401040a100000000 0.0.fc00 0x5105074308c212e9 0x401040a300000000 0.0.fcd0 0x5105074308c2aee9 0x401040a000000000 0.0.fcd0 0x5105074308c2aee9 0x401040a100000000 0.0.fcd0 0x5105074308c2aee9 0x401040a300000000 0.0.4000 0.0.5000
只有重启系统后或通过更改系统的 I/O 配置(例如,z/VM 下连接的通道)来动态添加新 FCP 通道后,对 /etc/zfcp.conf
的修改才会生效。另外,可以执行以下命令为之前没有激活的 FCP 适配器激活 /etc/zfcp.conf
中的新条目:
使用
zfcp_cio_free
实用程序从忽略的设备列表中删除 FCP 适配器,并使其在 Linux 中可见:# zfcp_cio_free
要将
/etc/zfcp.conf
中的添加应用到正在运行的系统,请运行:# zfcpconf.sh
5.9.9. 添加 qeth 设备
qeth
网络设备驱动程序支持 QDIO 模式、HiperSockets、z/VM 客户机 LAN 和 z/VM VSWITCH 中的 64 位 IBM Z OSA-Express 功能。
有关 qeth 设备驱动程序命名方案的更多信息,请参阅 自定义引导参数
5.9.10. 动态添加 qeth 设备
本节包含了如何动态添加 qeth
设备的信息。
流程
决定是否载入
qeth
设备驱动程序模块。以下示例显示了载入的qeth
模块:#
lsmod | grep qeth qeth_l3 69632 0 qeth_l2 49152 1 qeth 131072 2 qeth_l3,qeth_l2 qdio 65536 3 qeth,qeth_l3,qeth_l2 ccwgroup 20480 1 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 (encf500)另外,您还可以在将组群设备设置为在线前传递参数:
#
znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (encf500)现在可以继续配置
encf500
网络接口。
另外,您可以使用 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 encf500现在可以继续配置
encf500
网络接口。s390utils 软件包提供的以下命令可以显示
qeth
设备的重要设置:#
lsqeth encf500 Device name : encf500 ------------------------------------------------- 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
5.9.11. 永久添加 qeth 设备
要使新的 qeth
设备持久,请为新接口创建一个配置文件。网络接口配置文件放置在 /etc/NetworkManager/system-connections/
目录中。
网络配置文件使用命名规范 device.nmconnection,其中 device 是之前创建的 qeth 组设备中 interface-name 文件中的值,如 enc9a0。对于持久性设备配置,cio_ignore 命令会被透明处理,您不需要从忽略列表中手动释放设备。
如果同一类型的另一个设备的配置文件已存在,请将其复制成新名称,并编辑它:
# cd /etc/NetworkManager/system-connections/ # cp enc9a0.nmconnection enc600.nmconnection
要了解网络设备的 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
如果您没有定义类似的设备,请创建一个新文件。使用这个示例:
[connection] type=ethernet interface-name=enc600 [ipv4] address1=10.12.20.136/24,10.12.20.1 dns=10.12.20.53; method=manual [ethernet] mac-address=00:53:00:8f:fa:66
编辑新的 enc600.nmconnection 文件,如下所示:
确保新连接文件归
root:root
所有:# chown root:root /etc/NetworkManager/system-connections/enc600.nmconnection
- 在此文件中添加更多详细信息,或者根据您的连接要求修改这些参数。
- 保存该文件。
重新载入连接配置文件:
# nmcli connection reload
要查看新添加的连接的完整详情,请输入:
# nmcli connection show enc600
在重启系统后,对 enc600.nmconnection 文件的更改会生效,通过更改系统的 I/O 配置(例如,在 z/VM 下附加)或重新载入网络连接来动态添加新网络设备通道。或者,您可以执行以下命令来触发网络通道的 enc600.nmconnection 的激活,其之前还没有被激活:
使用
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
如果默认路由信息已更改,您还必须相应地更新
/etc/NetworkManager/system-connections/<profile_name>.nmconnection
文件的[ipv4]
和[ipv6]
部分中的 ipaddress1 参数:[ipv4] address1=10.12.20.136/24,10.12.20.1 [ipv6] address1=2001:db8:1::1,2001:db8:1::fffe
现在启动新的接口:
# nmcli connection up enc600
检查接口的状态:
# 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 10.12.20.136/24 brd 10.12.20.1 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
检查新接口的路由:
# ip route default via 10.12.20.136 dev enc600 proto dhcp src
使用
ping
程序 ping 网关或者新设备子网中的另一台主机确认您的更改:# ping -c 1 10.12.20.136 PING 10.12.20.136 (10.12.20.136) 56(84) bytes of data. 64 bytes from 10.12.20.136: icmp_seq=0 ttl=63 time=8.07 ms
-
如果默认路由信息被改变了,需要更新相应的
/etc/sysconfig/network
。
其他资源
-
nm-settings-keyfile
手册页
5.9.12. 为网络 root 文件系统配置 64 位 IBM Z 网络设备
要添加访问 root 文件系统所需的网络设备,您只需要修改引导选项。引导选项可在参数文件中,但 /etc/zipl.conf
文件不再包含引导记录说明。使用以下命令可以定位需要修改的文件:
# machine_id=$(cat /etc/machine-id) # kernel_version=$(uname -r) # ls /boot/loader/entries/$machine_id-$kernel_version.conf
Dracut 是提供 initramfs 中用于替换 initrd 的功能的 mkinitrd 成功程序,提供了一个引导参数以在引导过程早期在 64 位 IBM Z 中激活网络设备: rd.znet=
。
作为输入,此参数采用以逗号分隔的 NETTYPE
(qeth、lcs、ctc)、两个(lcs、ctc)或三个(qeth)设备总线 ID 的列表,以及由网络设备 sysfs 属性对应的键值对组成的可选的其它参数。这个参数配置和激活 64 位 IBM Z 网络硬件。对 IP 地址和其他具体网络的配置与其他平台 一 样。详情请查看 dracut 文档。
在 boot 中明确处理网络通道的 cio_ignore 命令。
通过 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:enc9a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us