[kexec-tools] core_collector doc basic fix
Dave Young
yangrr at fedoraproject.org
Mon Jun 11 02:55:16 UTC 2012
commit 2aa51e665fe0b8a7b784379d718f653cba4aa92e
Author: Dave Young <dyoung at redhat.com>
Date: Fri Jun 8 11:38:01 2012 +0800
core_collector doc basic fix
Update core_collector in kdump.conf[.5]:
1. accept <command> not limited to makedumpfile
2. add notes about default core_collector
3. add notes about flattened vmcore
Signed-off-by: Dave Young <dyoung at redhat.com>
Acked-by: Vivek Goyal <vgoyal at redhat.com>
kdump.conf | 26 ++++++++++-----
kdump.conf.5 | 76 +++++++++++++++++++++++++++++++++++++++++-----
kexec-kdump-howto.txt | 80 +++++++++++++++++++++++++++++++++++++++++-------
3 files changed, 152 insertions(+), 30 deletions(-)
---
diff --git a/kdump.conf b/kdump.conf
index a7cc28c..0846ecc 100644
--- a/kdump.conf
+++ b/kdump.conf
@@ -34,14 +34,22 @@
# dumping to. Ignored for raw device dumps.
# If unset, will default to /var/crash.
#
-# core_collector makedumpfile <options>
-# - This directive allows you to use the dump filtering
-# program makedumpfile 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.
+# core_collector <command> <options>
+# - 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.
+# Default core_collector for raw dump is:
+# "makedumpfile -F -c --message-level 1 -d 31".
+# Default core_collector for other targets is:
+# "makedumpfile -c --message-level 1 -d 31".
+# For core_collector format details please refer to
+# kexec-kdump-howto.txt or kdump.conf manpage.
#
# extra_bins <binaries | shell scripts>
# - This directive allows you to specify additional
@@ -82,7 +90,7 @@
#net user at my.server.com
#sshkey /root/.ssh/kdump_id_rsa
path /var/crash
-#core_collector makedumpfile -c
+#core_collector makedumpfile -c --message-level 1 -d 31
#extra_bins /usr/bin/lftp
#extra_modules gfs2
#default shell
diff --git a/kdump.conf.5 b/kdump.conf.5
index 4af939b..a5824c0 100644
--- a/kdump.conf.5
+++ b/kdump.conf.5
@@ -61,14 +61,32 @@ Append path to the filesystem device which you are dumping to.
Ignored for raw device dumps. If unset, will default to /var/crash.
.RE
-.B core_collector makedumpfile <options>
+.B core_collector <command> <options>
.RS
-This directive allows you to use the dump filtering program
-makedumpfile 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.
+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:
+Default core_collector for raw dump is:
+"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"
+
.RE
.B extra_bins <binaries | shell scripts>
@@ -103,8 +121,48 @@ Note: kdump uses bash as the default shell.
.RE
.SH EXAMPLES
-
-see
+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
+For dump targets like raw, in general, core collector should expect
+one argument (source file) and should output the processed core on standard
+output. This standard output will be saved to destination using appropriate
+commands.
+
+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>
+.PP
+examples for other options please see
.I /etc/kdump.conf
.SH SEE ALSO
diff --git a/kexec-kdump-howto.txt b/kexec-kdump-howto.txt
index c5c8cf3..4bab62a 100644
--- a/kexec-kdump-howto.txt
+++ b/kexec-kdump-howto.txt
@@ -440,18 +440,74 @@ is a dump filtering and compression utility provided with kexec-tools. On
some architectures, it can drastically reduce the size of your vmcore files,
which becomes very useful on systems with large amounts of memory.
-A typical setup is 'core_collector makedumpfile -c', but check the output of
-'/sbin/makedumpfile --help' for a list of all available options (-i and -g
-don't need to be specified, they're automatically taken care of). Note that
-use of makedumpfile requires that the kernel-debuginfo package corresponding
-with your running kernel be installed.
-
-Also note that makedumpfile is only used from the initramfs. Saving a
-core from the initscript in the root filesystem is considered a last ditch
-effort, only used when the initramfs has failed to save the core properly.
-As such only the cp utiltiy is used in the initscripts. The implication
-here is that in order to use makedumpfile as your core collector, you must
-specify a dump target in /etc/kdump.conf.
+A typical setup is 'core_collector makedumpfile -F -c --message-level 1 -d 31',
+but check the output of '/sbin/makedumpfile --help' for a list of all available
+options (-i and -g don't need to be specified, they're automatically taken care
+of). Note that use of makedumpfile requires that the kernel-debuginfo package
+corresponding with your running kernel be installed.
+
+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.
+
+ex1.
+---
+core_collector "cp --sparse=always"
+
+Above will effectively be translated to:
+
+cp --sparse=always /proc/vmcore <dest-path>/vmcore
+
+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
+
+
+For dump targets like raw, in general, core collector should expect
+one argument (source file) and should output the processed core on standard
+output. This standard output will be saved to destination using appropriate
+commands.
+
+raw dumps core_collector examples:
+---------
+ex3.
+---
+core_collector "cat"
+
+Above will effectively be translated to.
+
+cat /proc/vmcore | dd of=<target-device>
+
+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>
+
+About default core collector
+----------------------------
+Default core_collector for ssh/raw dump is:
+"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.
+
+Note: 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).
+For example: "makedumpfile -R vmcore < vmcore.flat"
Caveats:
More information about the scm-commits
mailing list