s390 SCSI 转储工具 (zfcpdump)¶
System z 机器(z900 或更高版本)提供硬件支持,用于在 SCSI 磁盘上创建系统转储。 转储过程由引导转储工具启动,该工具必须创建当前(可能已崩溃)Linux 映像的转储。 为了不使用转储工具的数据覆盖已崩溃的 Linux 的内存,硬件会在加载转储工具之前保存一些内存以及引导 CPU 的寄存器集。 存在一个 SCLP 硬件接口来获取之后保存的内存。 当前保存 32 MB。
此 zfcpdump 实现由 Linux 转储内核和用户空间转储工具组成,它们一起加载到低于 32 MB 的已保存内存区域中。 zfcpdump 安装在使用 zipl(包含在 s390-tools 包中)的 SCSI 磁盘上,以使设备可引导。 Linux 系统的操作员然后可以通过引导 SCSI 磁盘来触发 SCSI 转储,其中 zfcpdump 驻留在该磁盘上。
用户空间转储工具通过 /proc/vmcore 接口访问崩溃系统的内存。 此接口以 ELF 核心转储格式导出崩溃系统的内存和寄存器。 要访问由硬件保存的内存,将在 /proc/vmcore 需要数据时创建 SCLP 请求。 崩溃系统的内存的尾部部分(未由硬件保存)可以直接从真实内存复制。
要构建启用转储的内核,必须设置内核配置选项 CONFIG_CRASH_DUMP。
要获得有效的 zfcpdump 内核配置,请使用“make zfcpdump_defconfig”。
s390 zipl 工具在以下位置查找 zfcpdump 内核和可选的 initrd/initramfs
内核:<zfcpdump 目录>/zfcpdump.image
ramdisk:<zfcpdump 目录>/zfcpdump.rd
zfcpdump 目录在 s390-tools 包中定义。
zfcpdump 的用户空间应用程序可以驻留在 intitramfs 或 initrd 中。 它也可以包含在内置的内核 initramfs 中。 该应用程序从 /proc/vmcore 或 zcore/mem 读取数据,并将系统转储写入 SCSI 磁盘。
s390-tools 包 1.24.0 及更高版本构建了一个外部 zfcpdump initramfs,其中包含一个将转储写入 SCSI 分区的用户空间应用程序。
有关如何使用 zfcpdump 的更多信息,请参阅 s390 的“使用转储工具”一书,该书可从 IBM Knowledge Center 获得:https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html