32.4. Using fadump on IBM PowerPC hardware
Starting with Red Hat Enterprise Linux 6.8 an alternative dumping mechanism to
kdump
, the firmware-assisted dump
(fadump
), is available. The fadump
feature is supported only on IBM Power Systems. The goal of fadump
is to enable the dump of a crashed system, and to do so from a fully-reset system, and to minimize the total elapsed time until the system is back in production use. The fadump
feature is integrated with kdump
infrastructure present in the user space to seemlessly switch between kdump
and fadump
mechanisms.
Firmware-assisted dump (
fadump
) is a reliable alternative to kexec-kdump
available on IBM PowerPC LPARS. It captures vmcore from a fully-reset system with PCI and I/O devices reinitialized. While this mechanism uses the firmware to preserve the memory in case of a crash, it reuses the kdump
userspace scripts to save the vmcore"
To achieve this,
fadump
registers the regions of memory that must be preserved in the event of a crash with the system firmware. These regions consist of all the system memory contents, except the boot memory, system registers and hardware Page Table Entries (PTEs).
Note
The area of memory not preserved and known as
boot memory
is the amount of RAM required to successfully boot the kernel after a crash event. By default, the boot memory size is 256MB or 5% of total system RAM, whichever is larger.
Unlike a
kexec
-initiated event, the fadump
process uses the production kernel to recover a crash dump. When booting after a crash, PowerPC hardware makes the device node /proc/device-tree/rtas/ibm,kernel-dump
available to procfs
, which the fadump-aware kdump
scripts check for to save the vmcore. After this has completed, the system is rebooted cleanly.
Enabling fadump
- Install and configure
kdump
as described in Section 32.1, “Installing the kdump Service” and Section 32.2, “Configuring the kdump Service”. - Add
fadump=on
to theGRUB_CMDLINE_LINUX
line in/etc/default/grub
:GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root rhgb quiet
fadump=on
" - (optional) If you want to specify reserved boot memory instead of accepting the defaults, add
fadump_reserve_mem=xxM
toGRUB_CMDLINE_LINUX
in/etc/default/grub
, where xx is the amount of the memory required in megabytes:GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root rhgb quiet fadump=on
fadump_reserve_mem=xxM
"
Important
As with all boot configuration options, it is strongly recommended that you test the configuration before it is needed. If you observe Out of Memory (OOM) errors when booting from the crash kernel, increase the value specified in
fadump_reserve_mem=
until the crash kernel can boot cleanly. Some trial and error may be required in this case.