s390 SCSI 转储工具 (zfcpdump)

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

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

用户空间转储工具通过 /proc/vmcore 接口访问已崩溃系统的内存。该接口以 ELF 核心转储格式导出已崩溃系统的内存和寄存器。为了访问由硬件保存的内存,在 /proc/vmcore 需要数据时,会创建 SCLP 请求。未被硬件暂存的已崩溃系统内存的尾部可以直接从实际内存中复制。

要构建启用转储的内核,必须设置内核配置选项 CONFIG_CRASH_DUMP。

要获得有效的 zfcpdump 内核配置,请使用“make zfcpdump_defconfig”。

s390 zipl 工具在以下位置查找 zfcpdump 内核和可选的 initrd/initramfs

  • kernel: <zfcpdump 目录>/zfcpdump.image

  • ramdisk: <zfcpdump 目录>/zfcpdump.rd

zfcpdump 目录在 s390-tools 软件包中定义。

zfcpdump 的用户空间应用程序可以驻留在 initramfs 或 initrd 中。它也可以包含在内置内核 initramfs 中。该应用程序从 /proc/vmcore 或 zcore/mem 读取数据,并将系统转储写入 SCSI 磁盘。

s390-tools 软件包 1.24.0 及以上版本构建了一个外部 zfcpdump initramfs,其中包含一个将转储写入 SCSI 分区的用户空间应用程序。

有关如何使用 zfcpdump 的更多信息,请参阅 s390 ‘Using the Dump Tools’(使用转储工具)手册,该手册可从 IBM 知识中心获取:https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html