第 20 章 在 IBM Z 实例中配置已安装的 Linux
有关 IBM Z 上的 Linux 的更多信息,请参阅 第 22 章 IBM Z 参考 中列出的出版物。此处介绍了一些最常见的任务。
20.1. 添加 DASD 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
DASD(直接访问存储设备)是 IBM 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 ATTACH EB1C TO *
要连接一个您可以访问的最小磁盘,请运行以下命令:
CP LINK RHEL7X 4B2E 4B2E MR DASD 4B2E LINKED R/W
CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
有关 命令的详情,请参阅 z/VM:CP 命令和实用程序参考,SC24-6175。
20.1.1. 动态设置 DASD 在线 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要在线设定 DASD,请按照以下步骤执行:
- 使用 cio_ignore 工具从忽略的设备列表中删除 DASD,并使其在 Linux 中可见:
cio_ignore -r device_number
# cio_ignore -r device_number
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 DASD 的设备号替换 device_number。例如:cio_ignore -r 4b2e
# cio_ignore -r 4b2e
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 设置设备在线。使用以下命令格式:
chccwdev -e device_number
# chccwdev -e device_number
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 DASD 的设备号替换 device_number。例如:chccwdev -e 4b2e
# chccwdev -e 4b2e
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,也可以使用 sysfs 属性在线设定该设备:- 使用 命令 切换到代表该卷的 /sys/ 目录:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 检查这个设备是否已经在线:
cat online 0
# cat online 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果不在线,请输入以下命令使它在线:
echo 1 > online cat online
# echo 1 > online # cat online 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 请确认哪个块正在被访问:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如示例所示,/dev/dasdb 正在访问设备 4B2E。
这些指令为当前会话设定了 DASD,但在重启后不会保留。有关如何永久在线设置 DASD 的说明,请参考 第 20.1.3 节 “在线永久设置 DASD”。当您使用 DASD 时,请使用
/dev/disk/by-path/ 中的
持久设备符号链接。如需了解有关一致地参考存储设备的不同方式的更多信息,请参阅《 Red Hat Enterprise Linux 7 存储管理指南》 中关于持久性存储设备命名的章节。
20.1.2. 使用低级格式化准备新的 DASD 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
磁盘在线后,改回到
/root
目录并低级格式化设备。这在 DASD 的整个生命周期中只需要 一 次:
当进度条达到结束且格式完成时,dasdfmt 会打印以下输出:
Rereading the partition table... Exiting...
Rereading the partition table...
Exiting...
现在,使用 fdasd 对 DASD 进行分区。您最多可在 DASD 中创建三个分区。在我们的示例中,我们创建一个覆盖整个磁盘的分区:
DASD 在线后(低级格式化后),它可以和 Linux 中的其它磁盘一样使用。例如,您可以在分区上创建文件系统、LVM 物理卷或交换空间,例如
/dev/disk/by-path/ccw-0.0.4b2e-part1
。除了 dasdfmt 和 fdasd 命令外,切勿使用完整的 DASD 设备(dev/das
db )。如果您想要使用整个 DASD,创建一个覆盖整个驱动器的分区,如上例中的 fdasd
。
要在以后添加额外磁盘而不破坏现有磁盘条目,如
/etc/fstab
,请使用 /dev/disk/by-path/ 中的
持久设备符号链接。
20.1.3. 在线永久设置 DASD 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
以上说明描述了如何在运行的系统中动态激活 DASD。但是这种更改不具有持久性,重启后无法保留。在您的 Linux 系统中使对 DASD 配置的修改具有持久性取决于 DASD 是否属于 root 文件系统。
initramfs
在启动过程中需要非常早激活 root 文件系统所需的 DASD 才能挂载根文件系统。
对于持久性设备配置,会以透明的方式处理 The cio_ignore 命令,您不需要从忽略列表中手动释放设备。
20.1.3.1. DASD 是根文件系统的一部分 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要修改来添加作为 root 文件系统一部分的 DASD 的唯一文件是
/etc/zipl.conf
。然后运行 zipl 引导装载程序工具。不需要重新创建 initramfs
。
有一个引导选项可在引导过程早期激活 DASD:
rd.dasd=
。这个选项使用直接访问存储设备(DASD)适配器设备总线标识符。如果需要多个 DASD,可以多次指定参数,或使用逗号分开的总线 ID 列表。要指定一个 DASD 范围,指定第一个和最后一个总线 ID。
以下是一个系统的
zipl.conf
示例,它使用两个 DASD 分区中的物理卷用于 LVM 卷组 vg_devel1
,其中包含逻辑卷 lv_root
作为 root 文件系统。
假设您要在第三个 DASD 的分区中添加另一个物理卷,其设备总线 ID 为
0.0.202b
。要做到这一点,在 zipl .conf 中引导内核的参数行中添加rd.dasd=0.
0.202b
:
警告
确保
/etc/zipl.conf
中的内核命令行长度不超过 896 个字节。否则引导装载程序无法被保存,安装将失败。
运行 zipl 以对下一个 IPL 应用
/etc/zipl.conf
的更改:
20.1.3.2. DASD 不是根文件系统的一部分 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
DASD 不是 root 文件系统的一部分,即 数据磁盘,在
/etc/dasd.conf
中永久配置。每行包含一个 DASD。每行都以 DASD 的设备总线 ID 开头。(可选)每一行可以继续使用以空格或制表符分隔的选项。选项由键值对组成,其中键和值用等号分隔。
键对应于 DASD 可以具有的任何有效
sysfs
属性。该值将写入密钥的 sysfs
属性。当将 DASD 添加到系统时,/etc/dasd.conf
中的条目会被激活并由 udev 配置。在引导时,系统可见的所有 DASD 都会被添加并触发 udev。
/etc/dasd.conf
的内容示例:
0.0.0207 0.0.0200 use_diag=1 readonly=1
0.0.0207
0.0.0200 use_diag=1 readonly=1
只有重启系统后或通过更改系统的 I
/O 配置(即,DASD 在 z/VM 下附加)动态添加新 DASD 后修改 /etc/dasd.conf
才会生效。另外,您可以执行以下命令为之前未激活的 DASD 在 /etc/dasd.conf
中触发新条目激活:
- 使用 cio_ignore 工具从忽略的设备列表中删除 DASD,并使其在 Linux 中可见:
cio_ignore -r device_number
# cio_ignore -r device_number
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:cio_ignore -r 021a
# cio_ignore -r 021a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过写入设备的
uevent
属性来触发激活:echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
# echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:echo add > /sys/bus/ccw/devices/0.0.021a/uevent
# echo add > /sys/bus/ccw/devices/0.0.021a/uevent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow