23ef29
.TH KDUMP.CONF 5 "07/23/2008" "kexec-tools"
23ef29
23ef29
.SH NAME
23ef29
kdump.conf \- configuration file for kdump kernel.
23ef29
23ef29
.SH DESCRIPTION 
23ef29
23ef29
kdump.conf is a configuration file for the kdump kernel crash
23ef29
collection service.
23ef29
23ef29
kdump.conf provides post-kexec instructions to the kdump kernel. It is
23ef29
stored in the initrd file managed by the kdump service. If you change
23ef29
this file and do not want to reboot in order for the changes to take
23ef29
effect, restart the kdump service to rebuild the initrd.
23ef29
23ef29
For most configurations, you can simply review the examples provided
23ef29
in the stock /etc/kdump.conf.
23ef29
23ef29
.B NOTE: 
23ef29
For filesystem dumps the dump target must be mounted before building
23ef29
kdump initramfs.
23ef29
23ef29
kdump.conf only affects the behavior of the initramfs.  Please read the
23ef29
kdump operational flow section of kexec-kdump-howto.txt in the docs to better
23ef29
understand how this configuration file affects the behavior of kdump.
23ef29
23ef29
.SH OPTIONS
23ef29
23ef29
.B raw <partition>
23ef29
.RS
23ef29
Will dd /proc/vmcore into <partition>.  Use persistent device names for
23ef29
partition devices, such as /dev/vg/<devname>.
23ef29
.RE
23ef29
23ef29
.B nfs <nfs mount>
23ef29
.RS
23ef29
Will mount nfs to <mnt>, and copy /proc/vmcore to <mnt>/<path>/%HOST-%DATE/,
23ef29
supports DNS. Note that a fqdn should be used as the server name in the 
23ef29
mount point.
23ef29
.RE
23ef29
23ef29
.B ssh <user@server>
23ef29
.RS
23ef29
Will scp /proc/vmcore to <user@server>:<path>/%HOST-%DATE/,
23ef29
supports DNS. NOTE: make sure user has necessary write permissions on
23ef29
server and that a fqdn is used as the server name.
23ef29
.RE
23ef29
23ef29
.B sshkey <path>
23ef29
.RS
23ef29
Specify the path of the ssh key to use when dumping via ssh.
23ef29
The default value is /root/.ssh/kdump_id_rsa.
23ef29
.RE
23ef29
23ef29
.B <fs type> <partition>
23ef29
.RS
23ef29
Will mount -t <fs type> <partition> <mnt>, and copy /proc/vmcore to
23ef29
<mnt>/<path>/%DATE/.  NOTE: <partition> can be a device node, label
23ef29
or uuid.  It's recommended to use persistent device names such as
23ef29
/dev/vg/<devname>.  Otherwise it's suggested to use label or uuid.
23ef29
.RE
23ef29
23ef29
.B path <path>
23ef29
.RS
23ef29
"path" represents the file system path in which vmcore will be saved.
23ef29
If a dump target is specified in kdump.conf, then "path" is relative to the
23ef29
specified dump target.
23ef29
.PP
23ef29
Interpretation of "path" changes a bit if the user didn't specify any dump
23ef29
target explicitly in kdump.conf. In this case, "path" represents the
23ef29
absolute path from root.  The dump target and adjusted path are arrived
23ef29
at automatically depending on what's mounted in the current system.
23ef29
.PP
23ef29
Ignored for raw device dumps.  If unset, will use the default "/var/crash".
23ef29
.RE
23ef29
23ef29
.B core_collector <command> <options>
23ef29
.RS
23ef29
This allows you to specify the command to copy the vmcore.
23ef29
The default is makedumpfile, which on some architectures can drastically reduce
23ef29
core file size. See /sbin/makedumpfile --help for a list of options.
23ef29
Note that the -i and -g options are not needed here, as the initrd
23ef29
will automatically be populated with a config file appropriate
23ef29
for the running kernel.
23ef29
.PP
23ef29
Note 1: About default core collector:
23ef29
The default core_collector for raw/ssh dump is:
23ef29
"makedumpfile -F -l --message-level 1 -d 31".
23ef29
The default core_collector for other targets is:
23ef29
"makedumpfile -l --message-level 1 -d 31".
23ef29
Even if core_collector option is commented out in kdump.conf, makedumpfile
23ef29
is the default core collector and kdump uses it internally.
23ef29
If one does not want makedumpfile as default core_collector, then they
23ef29
need to specify one using core_collector option to change the behavior.
23ef29
.PP
23ef29
Note 2: If "makedumpfile -F" is used then you will get a flattened format
23ef29
vmcore.flat, you will need to use "makedumpfile -R" to rearrange the
23ef29
dump data from standard input to a normal dumpfile (readable with analysis
23ef29
tools).
23ef29
ie. "makedumpfile -R vmcore < vmcore.flat"
23ef29
23ef29
.RE
23ef29
23ef29
.B kdump_post <binary | script>
23ef29
.RS
23ef29
This directive allows you to run a specified executable
23ef29
just after the vmcore dump process terminates.  The exit
23ef29
status of the current dump process is fed to the kdump_post
23ef29
executable as its first argument($1).  Executable can modify
23ef29
it to indicate the new exit status of succeeding dump process,
23ef29
.PP
23ef29
Note that scripts written for use with this directive must use
23ef29
the /bin/bash interpreter.
23ef29
.RE
23ef29
23ef29
.B kdump_pre <binary | script>
23ef29
.RS
23ef29
Works just like the "kdump_post" directive, but instead
23ef29
of running after the dump process, runs immediately
23ef29
before.  Exit status of this binary is interpreted
23ef29
as follows:
23ef29
.PP
23ef29
0 - continue with dump process as usual
23ef29
.PP
23ef29
non 0 - reboot the system
23ef29
.PP
23ef29
Note that scripts written for this directive must use
23ef29
the /bin/bash interpreter.
23ef29
.RE
23ef29
23ef29
.B extra_bins <binaries | shell scripts>
23ef29
.RS
23ef29
This directive allows you to specify additional
23ef29
binaries or shell scripts you'd like to include in
23ef29
your kdump initrd. Generally only useful in
23ef29
conjunction with a kdump_post binary or script that
23ef29
relies on other binaries or scripts.
23ef29
.RE
23ef29
23ef29
.B extra_modules <module(s)>
23ef29
.RS
23ef29
This directive allows you to specify extra kernel
23ef29
modules that you want to be loaded in the kdump
23ef29
initrd, typically used to set up access to
23ef29
non-boot-path dump targets that might otherwise
23ef29
not be accessible in the kdump environment. Multiple
23ef29
modules can be listed, separated by spaces, and any
23ef29
dependent modules will automatically be included.
23ef29
.RE
23ef29
23ef29
.B default <reboot | halt | poweroff | shell | dump_to_rootfs>
23ef29
.RS
23ef29
Action to perform in case dumping to the intended target fails. The default is "reboot".
23ef29
reboot: Reboot the system (this is what most people will want, as it returns the system
23ef29
to a normal state).  halt: Halt the system and lose the vmcore.  poweroff: The system
23ef29
will be powered down.  shell: Drop to a shell session inside the initramfs, from which
23ef29
you can manually perform additional recovery actions.  Exiting this shell reboots the
23ef29
system.  Note: kdump uses bash as the default shell.  dump_to_rootfs: If non-root dump
23ef29
target is specified, the default action can be set as dump_to_rootfs.  That means when
23ef29
dumping to target fails, dump vmcore to rootfs from initramfs context and reboot.
23ef29
.RE
23ef29
23ef29
.B force_rebuild <0 | 1>
23ef29
.RS
23ef29
By default, kdump initrd will only be rebuilt when necessary.
23ef29
Specify 1 to force rebuilding kdump initrd every time when kdump service starts.
23ef29
.RE
23ef29
23ef29
.B force_no_rebuild <0 | 1>
23ef29
.RS
23ef29
By default, kdump initrd will be rebuilt when necessary.
23ef29
Specify 1 to bypass rebuilding of kdump initrd.
23ef29
23ef29
.PP
23ef29
force_no_rebuild and force_rebuild options are mutually exclusive and
23ef29
they should not be set to 1 simultaneously.
23ef29
.RE
23ef29
23ef29
.B override_resettable <0 | 1>
23ef29
.RS
23ef29
Usually an unresettable block device can't be a dump target. Specifying 1 means
23ef29
that even though the block target is unresettable, the user wants to try dumping anyway.
23ef29
By default, it's set to 0, which will not try something destined to fail.
23ef29
.RE
23ef29
23ef29
23ef29
.B dracut_args <arg(s)>
23ef29
.RS
23ef29
Kdump uses dracut to generate initramfs for second kernel. This option
23ef29
allows a user to pass arguments to dracut directly.
23ef29
.RE
23ef29
23ef29
23ef29
.B fence_kdump_args <arg(s)>
23ef29
.RS
23ef29
Command line arguments for fence_kdump_send (it can contain all valid
23ef29
arguments except hosts to send notification to).
23ef29
.RE
23ef29
23ef29
23ef29
.B fence_kdump_nodes <node(s)>
23ef29
.RS
23ef29
List of cluster node(s) except localhost, separated by spaces, to send fence_kdump notification
23ef29
to (this option is mandatory to enable fence_kdump).
23ef29
.RE
23ef29
23ef29
23ef29
.SH DEPRECATED OPTIONS
23ef29
23ef29
.B net <nfs mount>|<user@server>
23ef29
.RS
23ef29
net option is replaced by nfs and ssh options. Use nfs or ssh options
23ef29
directly.
23ef29
.RE
23ef29
23ef29
.B options <module> <option list>
23ef29
.RS
23ef29
Use KDUMP_COMMANDLINE_APPEND in /etc/sysconfig/kdump to add module options as
23ef29
kernel command line parameters. For example, specify 'loop.max_loop=1' to limit
23ef29
maximum loop devices to 1.
23ef29
.RE
23ef29
23ef29
.B link_delay <seconds>
23ef29
.RS
23ef29
link_delay was used to wait for a network device to initialize before using it.
23ef29
Now dracut network module takes care of this issue automatically.
23ef29
.RE
23ef29
23ef29
.B disk_timeout <seconds>
23ef29
.RS
23ef29
Similar to link_delay, dracut ensures disks are ready before kdump uses them.
23ef29
.RE
23ef29
23ef29
.B debug_mem_level <0-3>
23ef29
.RS
23ef29
Turn on verbose debug output of kdump scripts regarding free/used memory at
23ef29
various points of execution.  This feature has been
23ef29
moved to dracut now.
23ef29
Use KDUMP_COMMANDLINE_APPEND in /etc/sysconfig/kdump and
23ef29
append dracut cmdline param rd.memdebug=[0-3] to enable the debug output.
23ef29
23ef29
Higher level means more debugging output.
23ef29
.PP
23ef29
0 - no output
23ef29
.PP
23ef29
1 - partial /proc/meminfo
23ef29
.PP
23ef29
2 - /proc/meminfo
23ef29
.PP
23ef29
3 - /proc/meminfo + /proc/slabinfo
23ef29
.RE
23ef29
23ef29
.B blacklist <list of kernel modules>
23ef29
.RS
23ef29
blacklist option was recently being used to prevent loading modules in
23ef29
initramfs. General terminology for blacklist has been that module is
23ef29
present in initramfs but it is not actually loaded in kernel. Hence
23ef29
retaining blacklist option creates more confusing behavior. It has been
23ef29
deprecated.
23ef29
.PP
23ef29
Instead, use rd.driver.blacklist option on second kernel to blacklist
23ef29
a certain module. One can edit /etc/sysconfig/kdump.conf and edit
23ef29
KDUMP_COMMANDLINE_APPEND to pass kernel command line options. Refer
23ef29
to dracut.cmdline man page for more details on module blacklist option.
23ef29
.RE
23ef29
23ef29
.RE
23ef29
23ef29
.SH EXAMPLES
23ef29
Here are some examples for core_collector option:
23ef29
.PP
23ef29
Core collector command format depends on dump target type. Typically for
23ef29
filesystem (local/remote), core_collector should accept two arguments.
23ef29
First one is source file and second one is target file. For ex.
23ef29
.TP
23ef29
ex1.
23ef29
core_collector "cp --sparse=always"
23ef29
23ef29
Above will effectively be translated to:
23ef29
23ef29
cp --sparse=always /proc/vmcore <dest-path>/vmcore
23ef29
.TP
23ef29
ex2.
23ef29
core_collector "makedumpfile -l --message-level 1 -d 31"
23ef29
23ef29
Above will effectively be translated to:
23ef29
23ef29
makedumpfile -l --message-level 1 -d 31 /proc/vmcore <dest-path>/vmcore
23ef29
.PP
23ef29
For dump targets like raw and ssh, in general, core collector should expect
23ef29
one argument (source file) and should output the processed core on standard
23ef29
output (There is one exception of "scp", discussed later). This standard
23ef29
output will be saved to destination using appropriate commands.
23ef29
23ef29
raw dumps examples:
23ef29
.TP
23ef29
ex3.
23ef29
core_collector "cat"
23ef29
23ef29
Above will effectively be translated to.
23ef29
23ef29
cat /proc/vmcore | dd of=<target-device>
23ef29
.TP
23ef29
ex4.
23ef29
core_collector "makedumpfile -F -l --message-level 1 -d 31"
23ef29
23ef29
Above will effectively be translated to.
23ef29
23ef29
makedumpfile -F -l --message-level 1 -d 31 | dd of=<target-device>
23ef29
.PP
23ef29
ssh dumps examples
23ef29
.TP
23ef29
ex5.
23ef29
core_collector "cat"
23ef29
23ef29
Above will effectively be translated to.
23ef29
23ef29
cat /proc/vmcore | ssh <options> <remote-location> "dd of=path/vmcore"
23ef29
.TP
23ef29
ex6.
23ef29
core_collector "makedumpfile -F -l --message-level 1 -d 31"
23ef29
23ef29
Above will effectively be translated to.
23ef29
23ef29
makedumpfile -F -l --message-level 1 -d 31 | ssh <options> <remote-location> "dd of=path/vmcore"
23ef29
23ef29
There is one exception to standard output rule for ssh dumps. And that is
23ef29
scp. As scp can handle ssh destinations for file transfers, one can
23ef29
specify "scp" as core collector for ssh targets (no output on stdout).
23ef29
.TP
23ef29
ex7.
23ef29
core_collector "scp"
23ef29
23ef29
Above will effectively be translated to.
23ef29
23ef29
scp /proc/vmcore <user@host>:path/vmcore
23ef29
23ef29
.PP
23ef29
examples for other options please see
23ef29
.I /etc/kdump.conf
23ef29
23ef29
.SH SEE ALSO
23ef29
23ef29
kexec(8) mkdumprd(8) dracut.cmdline(7)