2010-02-17 16:49:26 +00:00
|
|
|
.TH KDUMP.CONF 5 "07/23/2008" "kexec-tools"
|
|
|
|
|
|
|
|
.SH NAME
|
|
|
|
kdump.conf \- configuration file for kdump kernel.
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
|
|
|
kdump.conf is a configuration file for the kdump kernel crash
|
|
|
|
collection service.
|
|
|
|
|
|
|
|
kdump.conf provides post-kexec instructions to the kdump kernel. It is
|
|
|
|
stored in the initrd file managed by the kdump service. If you change
|
|
|
|
this file and do not want to restart before it takes effect, restart
|
|
|
|
the kdump service to rebuild to initrd.
|
|
|
|
|
|
|
|
For most configurations, you can simply review the examples provided
|
|
|
|
in the stock /etc/kdump.conf.
|
|
|
|
|
|
|
|
.B NOTE:
|
2012-08-31 02:05:37 +00:00
|
|
|
For filesystem dump the dump target must be mounted before building
|
|
|
|
kdump initramfs.
|
|
|
|
|
2010-02-17 16:49:26 +00:00
|
|
|
kdump.conf only affects the behavior of the initramfs. Please read the
|
|
|
|
kdump operational flow section of kexec-kdump-howto.txt in the docs to better
|
|
|
|
understand how this configuration file affects the behavior of kdump.
|
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
|
|
|
|
.B raw <partition>
|
|
|
|
.RS
|
2012-10-10 07:09:15 +00:00
|
|
|
Will dd /proc/vmcore into <partition>. Use persistent device names for
|
|
|
|
partition devices, such as /dev/vg/<devname>.
|
2010-02-17 16:49:26 +00:00
|
|
|
.RE
|
|
|
|
|
2012-07-23 07:31:28 +00:00
|
|
|
.B nfs <nfs mount>
|
2010-02-17 16:49:26 +00:00
|
|
|
.RS
|
|
|
|
Will mount fs and copy /proc/vmcore to <mnt>/var/crash/%HOST-%DATE/,
|
|
|
|
supports DNS. Note that a fqdn should be used as the server name in the
|
|
|
|
mount point
|
|
|
|
.RE
|
|
|
|
|
2012-07-23 07:31:28 +00:00
|
|
|
.B ssh <user@server>
|
2010-02-17 16:49:26 +00:00
|
|
|
.RS
|
|
|
|
Will scp /proc/vmcore to <user@server>:/var/crash/%HOST-%DATE/,
|
|
|
|
supports DNS. NOTE: make sure user has necessary write permissions on
|
|
|
|
server and that a fqdn is used as the server name
|
|
|
|
.RE
|
|
|
|
|
2012-06-06 08:24:19 +00:00
|
|
|
.B sshkey <path>
|
|
|
|
.RS
|
|
|
|
Specifies the path of the ssh key you want to use when do ssh dump,
|
|
|
|
the default value is /root/.ssh/kdump_id_rsa.
|
|
|
|
.RE
|
|
|
|
|
2010-02-17 16:49:26 +00:00
|
|
|
.B <fs type> <partition>
|
|
|
|
.RS
|
|
|
|
Will mount -t <fs type> <partition> /mnt and copy /proc/vmcore to
|
|
|
|
/mnt/var/crash/%DATE/. NOTE: <partition> can be a device node, label
|
2012-10-10 07:09:15 +00:00
|
|
|
or uuid. It's recommended to use persistent device names such as
|
|
|
|
/dev/vg/<devname>. Otherwise it's suggested to use label or uuid.
|
2010-02-17 16:49:26 +00:00
|
|
|
.RE
|
|
|
|
|
|
|
|
.B path <path>
|
|
|
|
.RS
|
|
|
|
Append path to the filesystem device which you are dumping to.
|
|
|
|
Ignored for raw device dumps. If unset, will default to /var/crash.
|
|
|
|
.RE
|
|
|
|
|
2012-06-08 03:38:01 +00:00
|
|
|
.B core_collector <command> <options>
|
2010-02-17 16:49:26 +00:00
|
|
|
.RS
|
2012-06-08 03:38:01 +00:00
|
|
|
This allows you to specify the command to copy the vmcore.
|
|
|
|
You could use the dump filtering program makedumpfile, the default one,
|
|
|
|
to retrieve your core, which on some arches can drastically reduce
|
|
|
|
core file size. See /sbin/makedumpfile --help for a list of options.
|
|
|
|
Note that the -i and -g options are not needed here, as the initrd
|
|
|
|
will automatically be populated with a config file appropriate
|
|
|
|
for the running kernel.
|
|
|
|
.PP
|
|
|
|
Note 1: About default core collector:
|
2012-06-14 01:56:10 +00:00
|
|
|
Default core_collector for raw/ssh dump is:
|
2012-06-08 03:38:01 +00:00
|
|
|
"makedumpfile -F -c --message-level 1 -d 31".
|
|
|
|
Default core_collector for other targets is:
|
|
|
|
"makedumpfile -c --message-level 1 -d 31".
|
|
|
|
Even if core_collector option is commented out in kdump.conf, makedumpfile
|
|
|
|
is default core collector and kdump uses it internally.
|
|
|
|
If one does not want makedumpfile as default core_collector, then they
|
|
|
|
need to specify one using core_collector option to change the behavior.
|
|
|
|
.PP
|
|
|
|
Note 2: If "makedumpfile -F" is used then you will get a flattened format
|
|
|
|
vmcore.flat, you will need to use "makedumpfile -R" to rearrange the
|
|
|
|
dump data from stdard input to a normal dumpfile (readable with analysis
|
|
|
|
tools).
|
|
|
|
ie. "makedumpfile -R vmcore < vmcore.flat"
|
|
|
|
|
2010-02-17 16:49:26 +00:00
|
|
|
.RE
|
|
|
|
|
2012-06-14 01:57:30 +00:00
|
|
|
.B kdump_post <binary | script>
|
|
|
|
.RS
|
|
|
|
This directive allows you to run a specified
|
|
|
|
executable just after the memory dump process
|
|
|
|
terminates. The exit status from the dump process
|
|
|
|
is fed to the kdump_post executable, which can be
|
|
|
|
used to trigger different actions for success or
|
|
|
|
failure.
|
|
|
|
.PP
|
|
|
|
Note that scripts written for use with this
|
|
|
|
directive must use the /bin/bash interpreter
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.B kdump_pre <binary | script>
|
|
|
|
.RS
|
|
|
|
Works just like the kdump_post directive, but instead
|
|
|
|
of running after the dump process, runs immediately
|
|
|
|
before. Exit status of this binary is interpreted
|
|
|
|
as follows:
|
|
|
|
.PP
|
|
|
|
0 - continue with dump process as usual
|
|
|
|
.PP
|
|
|
|
non 0 - reboot the system
|
|
|
|
.PP
|
|
|
|
Note that scripts written for this directive must use
|
|
|
|
the /bin/bash interpreter
|
|
|
|
.RE
|
|
|
|
|
2010-02-17 16:49:26 +00:00
|
|
|
.B extra_bins <binaries | shell scripts>
|
|
|
|
.RS
|
|
|
|
This directive allows you to specify additional
|
|
|
|
binaries or shell scripts you'd like to include in
|
2012-06-14 01:57:30 +00:00
|
|
|
your kdump initrd. Generally only useful in
|
|
|
|
conjunction with a kdump_post binary or script that
|
|
|
|
relies on other binaries or scripts.
|
2010-02-17 16:49:26 +00:00
|
|
|
.RE
|
|
|
|
|
|
|
|
.B extra_modules <module(s)>
|
|
|
|
.RS
|
|
|
|
This directive allows you to specify extra kernel
|
|
|
|
modules that you want to be loaded in the kdump
|
|
|
|
initrd, typically used to set up access to
|
|
|
|
non-boot-path dump targets that might otherwise
|
|
|
|
not be accessible in the kdump environment. Multiple
|
|
|
|
modules can be listed, separated by a space, and any
|
|
|
|
dependent modules will automatically be included.
|
|
|
|
.RE
|
|
|
|
|
Change dump_to_rootfs to be a default option and reboot to be default action
Firstly rename dump_rootfs to dump_to_rootfs to remove the ambiguity
about dump_rootfs. Then add it as one of default options. That means
user can specify dump_to_rootfs to be default action manually, then
it will take action when specified target dump failed.
Secondly, in rhel7 and fedora, when default action is not specified,
the default 'default' is dump_to_rootfs. Namely when specified target
dump failed, the kdump initrd will mount root and save kdump from
initramfs context. However in rhel6, the default 'default' is 'reboot'.
That means when specified target dump failed, the kdump initrd will
reboot systems. For being consistent with rhel6, change the default
'default' back to 'reboot'. And this can also keep logic simple, easier
to understand. Primarily, Our default dump target is root filesystem.
So keeping "default" as "dump_to_rootfs" and trying to dump to root
filesystem again when first attempt fails does not make much sense.
Meanwhile add the relevant description into kdump.conf,kdump.conf.5
and kexec-kdump-howto.txt.
Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
2013-03-01 07:14:19 +00:00
|
|
|
.B default <reboot | halt | poweroff | shell | dump_to_rootfs>
|
2010-02-17 16:49:26 +00:00
|
|
|
.RS
|
2012-06-06 08:22:42 +00:00
|
|
|
Action to preform in case dumping to intended target fails. If no default
|
Change dump_to_rootfs to be a default option and reboot to be default action
Firstly rename dump_rootfs to dump_to_rootfs to remove the ambiguity
about dump_rootfs. Then add it as one of default options. That means
user can specify dump_to_rootfs to be default action manually, then
it will take action when specified target dump failed.
Secondly, in rhel7 and fedora, when default action is not specified,
the default 'default' is dump_to_rootfs. Namely when specified target
dump failed, the kdump initrd will mount root and save kdump from
initramfs context. However in rhel6, the default 'default' is 'reboot'.
That means when specified target dump failed, the kdump initrd will
reboot systems. For being consistent with rhel6, change the default
'default' back to 'reboot'. And this can also keep logic simple, easier
to understand. Primarily, Our default dump target is root filesystem.
So keeping "default" as "dump_to_rootfs" and trying to dump to root
filesystem again when first attempt fails does not make much sense.
Meanwhile add the relevant description into kdump.conf,kdump.conf.5
and kexec-kdump-howto.txt.
Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
2013-03-01 07:14:19 +00:00
|
|
|
action is specified, "reboot" is assumed default.
|
2010-02-17 16:49:26 +00:00
|
|
|
reboot: If the default action is reboot simply reboot the system (this is what
|
|
|
|
most people will want, as it returns the system to a nominal state). shell: If the default
|
2012-06-06 08:22:46 +00:00
|
|
|
action is shell, then drop to an shell session inside the initramfs from
|
2010-02-17 16:49:26 +00:00
|
|
|
where you can manually preform additional recovery actions. Exiting this shell
|
|
|
|
reboots the system. halt: bring the system to a halt, requiring manual reset
|
Change dump_to_rootfs to be a default option and reboot to be default action
Firstly rename dump_rootfs to dump_to_rootfs to remove the ambiguity
about dump_rootfs. Then add it as one of default options. That means
user can specify dump_to_rootfs to be default action manually, then
it will take action when specified target dump failed.
Secondly, in rhel7 and fedora, when default action is not specified,
the default 'default' is dump_to_rootfs. Namely when specified target
dump failed, the kdump initrd will mount root and save kdump from
initramfs context. However in rhel6, the default 'default' is 'reboot'.
That means when specified target dump failed, the kdump initrd will
reboot systems. For being consistent with rhel6, change the default
'default' back to 'reboot'. And this can also keep logic simple, easier
to understand. Primarily, Our default dump target is root filesystem.
So keeping "default" as "dump_to_rootfs" and trying to dump to root
filesystem again when first attempt fails does not make much sense.
Meanwhile add the relevant description into kdump.conf,kdump.conf.5
and kexec-kdump-howto.txt.
Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
2013-03-01 07:14:19 +00:00
|
|
|
poweroff: The system will be powered down. dump_to_rootfs:If the default action
|
|
|
|
is dump_to_rootfs, specified root will be mounted and dump will be saved in "path"
|
|
|
|
directory.
|
2012-06-06 08:22:46 +00:00
|
|
|
Note: kdump uses bash as the default shell.
|
2010-02-17 16:49:26 +00:00
|
|
|
.RE
|
|
|
|
|
2012-08-06 14:01:29 +00:00
|
|
|
.B force_rebuild <0 | 1>
|
|
|
|
.RS
|
|
|
|
By default, kdump initrd only will be rebuilt when necessary.
|
|
|
|
Specify 1 to force rebuilding kdump initrd every time when kdump service starts.
|
|
|
|
.RE
|
|
|
|
|
Check if block device as dump target is resettable
Some Smart Array (hpsa/cciss) adapters don't support reset, we need
to disable kdump on those devices, like rhel6 did.
In this patch, the dump target is checked according to below
criteria if it's a block device.
If it's cciss disk but is resettbale, can be used as dump target.
If it's cciss disk but is not resettable, can not be used as dump
target.
If it's cciss disk and not resettable, but user set OVERRIDE_RESETTABLE
to 1 in /etc/sysconfig/kdump, can be taken as dump target. Because
user know the situation and want to have a try.
In this patch, added codes include 4 parts:
1)Add an option "override_resettable <0 | 1>" into kdump.conf, and
add related section into kdump.conf man page. In mkdumprd, will check
whether user has set a value, get that value if yes. By default, the
value is 0.
2)port utility functions from dracut-functions.sh.
3)The check_resettable function checks if dump target is a resettable
block device. This includes the case where default action dump_to_rootfs
is set.
Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
2013-03-29 07:32:31 +00:00
|
|
|
.B override_resettable <0 | 1>
|
|
|
|
.RS
|
|
|
|
Usually a unresettable block device can't be dump target. Specifying 1 means
|
|
|
|
though block target is unresettable, user understand this situation and want
|
|
|
|
to try dumping. By default, it's set to 0, means not to try a destined failure.
|
|
|
|
.RE
|
|
|
|
|
|
|
|
|
add dracut_args option to kdump.conf
mkdumprd call dracut to rebuilding kdump initrd, sometimes passing extra
dracut args is helpful. For example user can enable debug output with
--debug, --printsize to print roughly increased initramfs size by each module,
--omit-drivers to omit kernel modules, etc.
This patch enables dracut_args option for passing extra args to dracut.
Also it modifies add_dracut_arg() to treat a string with-in quote as single
string because for dracut options which has its own args, the args need to be
quoted and space seperated.
If add_dracut_arg() gets an string read from kdump.conf and if that string
contains double quotes, then while converting to positional parameters
those double quotes are not interpreted. Hence if /etc/kdump.conf contains
following.
dracut_args --add-drivers "driver1 driver2"
then add_dracut_args() sees following positional parameters
$1= --add-drivers
$2= "driver1
$3= driver2"
Notice, double quotes have been ignored and parameters have been broken
based on white space.
Modify add_dracut_arg() to look for parameters starting with " and
if one is found, it tries to merge all the next parameters till one
is found with ending double quote. Hence effectively simulating
following behavior.
$1= --add-drivers
$2= "driver1 driver2"
[v1->v2]: address quoted substring in dracut_args, also handle the leading
and ending spaces in substring.
[v2->v3]: fix dracut arguments seperator in kdump.conf.
[v3->v4]: improve changelog, thanks vivek.
[v4->v5]: make the manpage more verbose [vivek].
Tested with below dracut_args test cases:
1. dracut_args --add-drivers "pcspkr virtio_net" --omit-drivers "sdhci-pci hid-logitech-dj e1000"
2. dracut_args --add-drivers " pcspkr virtio_net " --omit-drivers "sdhci-pci hid-logitech-dj e1000"
Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
2013-04-15 02:12:05 +00:00
|
|
|
.B dracut_args <arg(s)>
|
|
|
|
.RS
|
|
|
|
Kdump uses dracut to generate initramfs for second kernel. This option
|
|
|
|
allows a user to pass arguments to dracut directly.
|
|
|
|
.RE
|
|
|
|
|
2013-03-11 09:31:25 +00:00
|
|
|
.SH DEPRECATED OPTIONS
|
|
|
|
|
|
|
|
.B net <nfs mount>|<user@server>
|
|
|
|
.RS
|
|
|
|
net option is replaced by nfs and ssh options. Use nfs or ssh options
|
|
|
|
directly.
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.B options <module> <option list>
|
|
|
|
.RS
|
|
|
|
Use KDUMP_COMMANDLINE_APPEND in /etc/sysconfig/kdump to add proper
|
|
|
|
module option as kernel command line params. Such as append loop.max_loop=1
|
|
|
|
to limit maximum loop devices to 1.
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.B link_delay <seconds>
|
|
|
|
.RS
|
|
|
|
link_delay was used to wait a network device to initialize before using it.
|
|
|
|
Now dracut network module take care of this issue automaticlly.
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.B disk_timeout <seconds>
|
|
|
|
.RS
|
|
|
|
Similar to link_delay, dracut ensures disks being ready before kdump uses them.
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.B debug_mem_level <0-3>
|
|
|
|
.RS
|
|
|
|
This was used to turns on debug/verbose output of kdump scripts regarding
|
|
|
|
free/used memory at various points of execution. This feature has been
|
|
|
|
moved to dracut now.
|
|
|
|
Use KDUMP_COMMANDLINE_APPEND in /etc/sysconfig/kdump and
|
|
|
|
append dracut cmdline param rd.memdebug=[0-3] to enable the debug output.
|
|
|
|
|
|
|
|
Higher level means more debugging output.
|
|
|
|
.PP
|
|
|
|
0 - no output
|
|
|
|
.PP
|
|
|
|
1 - partial /proc/meminfo
|
|
|
|
.PP
|
|
|
|
2 - /proc/meminfo
|
|
|
|
.PP
|
|
|
|
3 - /proc/meminfo + /proc/slabinfo
|
|
|
|
.RE
|
|
|
|
|
2013-03-22 03:55:24 +00:00
|
|
|
.B blacklist <list of kernel modules>
|
|
|
|
.RS
|
|
|
|
blacklist option was recently being used to prevent loading modules in
|
|
|
|
initramfs. General terminology for blacklist has been that module is
|
|
|
|
present in initramfs but it is not actually loaded in kernel. Hence
|
|
|
|
retaining blacklist option creates more confusing behavior. It has been
|
|
|
|
deprecated.
|
|
|
|
.PP
|
|
|
|
Instead use rd.driver.blacklist option on second kernel to blacklist
|
|
|
|
a certain module. One can edit /etc/sysconfig/kdump.conf and edit
|
|
|
|
KDUMP_COMMANDLINE_APPEND to pass kernel command line options. Refer
|
|
|
|
to dracut.cmdline man page for more details on module blacklist option.
|
|
|
|
.RE
|
|
|
|
|
2013-03-11 09:31:25 +00:00
|
|
|
.RE
|
|
|
|
|
2010-02-17 16:49:26 +00:00
|
|
|
.SH EXAMPLES
|
2012-06-08 03:38:01 +00:00
|
|
|
Here is some examples for core_collector option:
|
|
|
|
.PP
|
|
|
|
Core collector command format depends on dump target type. Typically for
|
|
|
|
filesystem (local/remote), core_collector should accept two arguments.
|
|
|
|
First one is source file and second one is target file. For ex.
|
|
|
|
.TP
|
|
|
|
ex1.
|
|
|
|
core_collector "cp --sparse=always"
|
|
|
|
|
|
|
|
Above will effectively be translated to:
|
|
|
|
|
|
|
|
cp --sparse=always /proc/vmcore <dest-path>/vmcore
|
|
|
|
.TP
|
|
|
|
ex2.
|
|
|
|
core_collector "makedumpfile -c --message-level 1 -d 31"
|
|
|
|
|
|
|
|
Above will effectively be translated to:
|
|
|
|
|
|
|
|
makedumpfile -c --message-level 1 -d 31 /proc/vmcore <dest-path>/vmcore
|
|
|
|
.PP
|
2012-06-14 01:56:10 +00:00
|
|
|
For dump targets like raw and ssh, in general, core collector should expect
|
2012-06-08 03:38:01 +00:00
|
|
|
one argument (source file) and should output the processed core on standard
|
2012-06-14 01:56:10 +00:00
|
|
|
output (There is one exception of "scp", discussed later). This standard
|
|
|
|
output will be saved to destination using appropriate commands.
|
2012-06-08 03:38:01 +00:00
|
|
|
|
|
|
|
raw dumps examples:
|
|
|
|
.TP
|
|
|
|
ex3.
|
|
|
|
core_collector "cat"
|
|
|
|
|
|
|
|
Above will effectively be translated to.
|
|
|
|
|
|
|
|
cat /proc/vmcore | dd of=<target-device>
|
|
|
|
.TP
|
|
|
|
ex4.
|
|
|
|
core_collector "makedumpfile -F -c --message-level 1 -d 31"
|
|
|
|
|
|
|
|
Above will effectively be translated to.
|
|
|
|
|
|
|
|
makedumpfile -F -c --message-level 1 -d 31 | dd of=<target-device>
|
2012-06-14 01:56:10 +00:00
|
|
|
.PP
|
|
|
|
ssh dumps examples
|
|
|
|
.TP
|
|
|
|
ex5.
|
|
|
|
core_collector "cat"
|
|
|
|
|
|
|
|
Above will effectively be translated to.
|
|
|
|
|
|
|
|
cat /proc/vmcore | ssh <options> <remote-location> "dd of=path/vmcore"
|
|
|
|
.TP
|
|
|
|
ex6.
|
|
|
|
core_collector "makedumpfile -F -c --message-level 1 -d 31"
|
|
|
|
|
|
|
|
Above will effectively be translated to.
|
|
|
|
|
|
|
|
makedumpfile -F -c --message-level 1 -d 31 | ssh <options> <remote-location> "dd of=path/vmcore"
|
|
|
|
|
|
|
|
There is one exception to standard output rule for ssh dumps. And that is
|
|
|
|
scp. As scp can handle ssh destinations for file transfers, one can
|
|
|
|
specify "scp" as core collector for ssh targets (no output on stdout).
|
|
|
|
.TP
|
|
|
|
ex7.
|
|
|
|
core_collector "scp"
|
|
|
|
|
|
|
|
Above will effectively be translated to.
|
|
|
|
|
|
|
|
scp /proc/vmcore <user@host>:path/vmcore
|
|
|
|
|
2012-06-08 03:38:01 +00:00
|
|
|
.PP
|
|
|
|
examples for other options please see
|
2010-02-17 16:49:26 +00:00
|
|
|
.I /etc/kdump.conf
|
|
|
|
|
|
|
|
.SH SEE ALSO
|
|
|
|
|
2013-03-22 03:55:24 +00:00
|
|
|
kexec(8) mkdumprd(8) dracut.cmdline(7)
|