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 MR
DASD 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 -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 的操作,请参考 第 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.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%
当进度条达到底部时,格式化完成,
fdasd
输出以下内容:
重新读取分区表... 退出...
现在,使用 fdasd 对 DASD 进行分区。您最多可在 DASD 中生成三个分区。在我们的示例中,我们生成一个覆盖整个磁盘的分区:
#
fdasd -a /dev/disk/by-path/ccw-0.0.4b2e
auto-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 -V
Using 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
为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。