s390 SCSI 转储工具 (zfcpdump)

System z 机器(z900 或更高版本)提供硬件支持,用于在 SCSI 磁盘上创建系统转储。转储过程由启动转储工具发起,该工具必须创建当前(可能已崩溃)的 Linux 镜像的转储。为了不使用转储工具的数据覆盖已崩溃的 Linux 的内存,硬件在加载转储工具之前会保存一些内存以及引导 CPU 的寄存器集。存在一个 SCLP 硬件接口,以便之后获取保存的内存。当前保存了 32 MB。

此 zfcpdump 实现包含一个 Linux 转储内核和一个用户空间转储工具,它们一起加载到低于 32 MB 的已保存内存区域中。zfcpdump 使用 zipl(包含在 s390-tools 包中)安装在 SCSI 磁盘上,以使该设备可引导。然后,Linux 系统的操作员可以通过引导 SCSI 磁盘(zfcpdump 所在的位置)来触发 SCSI 转储。

用户空间转储工具通过 /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 的更多信息,请参阅 IBM Knowledge Center 提供的 s390“使用转储工具”书籍:https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html