Kernel kdump如何可靠地写入/var/crash

Kernel kdump如何可靠地写入/var/crash,kernel,dump,corruption,Kernel,Dump,Corruption,我不清楚当文件系统可能未处于干净状态时,为什么kdump可以可靠地写入/var/crash。Linux ext2/3/4文件系统在崩溃期间是否对文件系统损坏高度免疫 在崩溃的内核下,底层文件系统可能已损坏。将vmcore直接写在转储捕获内核下到这样的文件系统中似乎很危险。。。即使您在崩溃内核的地址空间中运行fsck或刷新文件系统缓存。我认为它不一定能够可靠地写入/var/crash。(例如,如果坏块导致出现故障的硬盘驱动器死机。)这就是为什么有远程目标选项来捕获核心,包括SSH和NFS 请参见k

我不清楚当文件系统可能未处于干净状态时,为什么kdump可以可靠地写入/var/crash。Linux ext2/3/4文件系统在崩溃期间是否对文件系统损坏高度免疫


在崩溃的内核下,底层文件系统可能已损坏。将vmcore直接写在转储捕获内核下到这样的文件系统中似乎很危险。。。即使您在崩溃内核的地址空间中运行fsck或刷新文件系统缓存。

我认为它不一定能够可靠地写入
/var/crash
。(例如,如果坏块导致出现故障的硬盘驱动器死机。)这就是为什么有远程目标选项来捕获核心,包括SSH和NFS


请参见

kdump写入内存中的特殊位置。当新内核启动时,它可以复制这个保留内存。Peter,我想文档是说启动转储捕获内核可以保留崩溃内核的vmcore。然而,我问转储捕获内核如何能够可靠地将vmcore写入文件系统。如果我误解了你的意思,请纠正我。vmcore转储时未写入文件系统。相反,它被保存在记忆中那个特殊的地方。在新内核启动且系统状态正常后,会有写入文件系统的文件。请参阅“崩溃”实用程序了解相关信息。Peter,我找不到任何能够证实您上述陈述的文件。你所描述的计划似乎不太可能,原因有二。首先,转储捕获内核不是通过软重启引导的,因此它能够保留内存的内容。据我所知,捕获转储后的重启是软重启,可能会重置DRAM中的内容。第二,不能保证崩溃的VMCube可以在物理内存中(特别是考虑压缩)的“特殊位置”,稍后可以检索。引自报纸:“Kdump添加了将前16 MB的内容复制到名为备份区域的保留内存区域的功能。备份区域的内存是在第一个内核启动时保留的,备份区域的位置和大小是使用内核配置选项指定的。在崩溃事件[03]期间,Kdump还将CPU寄存器状态复制到备份区域后面的区域。”