Show Table of Contents
第 17 章 在 IBM System z 事务中配置安装的 Linux
有关 System z 中 Linux 的详情请参考 第 19 章 IBM System z 参考 中的文档。在此描述了是最常见的任务。
17.1. 添加 DASD
DASD(直接访问存储设备)是 IBM System z 中常使用的存储类型。有关使用这些存储设备的附加详情,请查看 IBM 产品信息中心,网址为 http://www-01.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.lgdd/lgdd_t_dasd_wrk.html。
以下是如何设置 DASD 在线、对其进行格式化并永久保留更改的示例。
注意
如果在 z/VM 中运行,需要保证已将设备添加或者连接到 Linux 系统。
CP ATTACH EB1C TO *
链接到有访问问题的微盘,例如:
CP LINK RHEL7X 4B2E 4B2E MRDASD 4B2E LINKED R/W
有关这些命令的详情,请查看《z/VM: CP 命令和程序参考,SC24-6175》。
17.1.1. 在线动态设定 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 -ltotal 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 online0 - 如果不在线,运行以下命令使它在线:
#echo 1 > online#cat online1
- 检查哪个块正在被访问:
#ls -ltotal 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 的操作,请参考 第 17.1.3 节 “在线设定永久 DASD ”。应用 DASD 时,请使用
/dev/disk/by-path/ 中的永久设备符号链接。有关程序参考存储设备的详情,请查看《Red Hat Enterprise Linux 7 存储管理指南》中有关持久存储设备命名一章的内容。
17.1.2. 使用低级格式化准本新 DASD
磁盘在线后,返回
/root 目录并低级格式化这个设备。这在 DASD 的整个生命周期中只需要一次:
#cd /root#dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2eDrive 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%
当进度条达到底部时,格式化完成,
fdasd 输出以下内容:
重新读取分区表... 退出...
现在,使用 fdasd 对 DASD 进行分区。您最多可在 DASD 中生成三个分区。在我们的示例中,我们生成一个覆盖整个磁盘的分区:
#fdasd -a /dev/disk/by-path/ccw-0.0.4b2eauto-creating one partition for the whole disk... writing volume label... writing VTOC... checking ! wrote NATIVE! rereading partition table...
DASD 在线后(低级格式化后),可将其作为 Linux 中的其他磁盘一样使用。例如:可创建文件系统、LVM 物理卷或者其分区中的 swap 空间,例如
/dev/disk/by-path/ccw-0.0.4b2e-part1。绝不要为某个任务使用全部 DASD 设备(dev/dasdb),dasdfmt 和 fdasd 命令除外。如果您想要使用整个 DASD,请按照上述 fdasd 示例生成一个覆盖整个驱动器的分区。
要之后添加附加磁盘且不破坏现有磁盘条目,例如:
/etc/fstab,请使用 /dev/disk/by-path/ 中的永久设备符号链接。
17.1.3. 在线设定永久 DASD
以上说明描述了如何在运行的系统中动态激活 DASD。但这些更改是不永久的,且无法在重启后保留。要将对 DASD 配置的更改永久保存到您的 Linux 系统中要看 DASD 是否属于 root 文件系统。请使用
initramfs在引导过程早期激活那些 root 文件系统需要的 DASD 以便可挂载到 root 文件系统。
cio_ignore 命令明确处理永久设备配置,您不需要手动从忽略列表中释放设备。
17.1.3.1. DASD 是 Root 文件系统一部分
要将 DASD 添加为 root 文件系统的一部分,您只需要修改一个文件,即
/etc/zipl.conf。然后运行 zipl 引导装载程序工具。不需要重新生成 initramfs。
在引导阶段初期有一个可以激活 DASD 的引导选项:
rd_dasd。这个选项采用逗号分开的列表作为输入。该列表包含设备总线 ID 以及由与 DASD sysfs 属性对应的密钥值对组成的可选附加参数。
以下是系统
zipl.conf 示例,该系统使用两个 DASD 分区中的物理卷作为 LVM 卷组 vg_devel1,该卷组包含用于 root 文件系统的 lv_root。
[defaultboot] default=linux target=/boot/ [linux] image=/boot/vmlinuz-2.6.32-19.el7.s390x ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
假设您要在第三个使用设备总线
ID 0.0.202b 的 DASD 分区中添加另一个物理卷,只要在 zipl.conf 中将 rd_dasd=0.0.202b 添加到引导内核的参数行即可:
[defaultboot] default=linux target=/boot/ [linux] image=/boot/vmlinuz-2.6.32-19.el7.s390x ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
警告
确保
/etc/zipl.conf 中内核命令行的长度不超过 896 字节。否则将无法保存引导装载程序,同时安装会失败。
运行
zipl 为下一次 IPL 应用对 /etc/zipl.conf 的更改:
#zipl -VUsing config file '/etc/zipl.conf' Target device information Device..........................: 5e:00 Partition.......................: 5e:01 Device name.....................: dasda DASD device number..............: 0201 Type............................: disk partition Disk layout.....................: ECKD/compatible disk layout Geometry - heads................: 15 Geometry - sectors..............: 12 Geometry - cylinders............: 3308 Geometry - start................: 24 File system block size..........: 4096 Physical block size.............: 4096 Device size in physical blocks..: 595416 Building bootmap in '/boot/' Building menu 'rh-automatic-menu' Adding #1: IPL section 'linux' (default) kernel image......: /boot/vmlinuz-2.6.32-19.el7.s390x kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev' initial ramdisk...: /boot/initramfs-2.6.32-19.el7.s390x.img component address: kernel image....: 0x00010000-0x00a70fff parmline........: 0x00001000-0x00001fff initial ramdisk.: 0x02000000-0x022d2fff internal loader.: 0x0000a000-0x0000afff Preparing boot device: dasda (0201). Preparing boot menu Interactive prompt......: enabled Menu timeout............: 15 seconds Default configuration...: 'linux' Syncing disks... Done.
17.1.3.2. DASD 不是 Root 文件系统一部分
DASD 不是 root 文件系统的一部分,就是说要在
/etc/dasd.conf 中永久配置 data disks。每行包含一个 DASD。每行都以 DASD 的设备总线 ID 开始,后接以空格或者 tab 字符间隔的选项。选项由 key-value 对组成,其中 key 和 value 值以等号分开。
key 与 DASD 可能包含的所有有效
sysfs 属性对应。value 可写为 key 的 sysfs 属性。/etc/dasd.conf 中的条目是活跃的,并在将 DASD 添加到系统中时使用 udev 配置。在引导时,会添加所有系统可见的 DASD 并触发 udev。
/etc/dasd.conf 内容示例:
0.0.0207 0.0.0200 use_diag=1 readonly=1
只有在系统重启后,或者使用系统的 I/O 配置动态添加新 DASD(即将 DASD 附加到 z/VM 中)后,修改的
/etc/dasd.conf 才会生效。也可以为之前不活跃的 DASD 在 /etc/dasd.conf 中触发激活新条目,方法是执行以下命令:
- 使用
cio_ignore程序从忽略设备列表中删除 DASD,并使其出现在 Linux 中:#cio_ignore -r device_number例如:#cio_ignore -r 021a - 将
uevent属性写入该设备触发激活:#echo add > /sys/bus/ccw/devices/device-bus-ID/uevent例如:#echo add > /sys/bus/ccw/devices/0.0.021a/uevent

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.