Improves the early-kdump-howto.txt document in several points:
(1) explain early kdump a little clearer in "Introduction" (2) move the notes out to a new "Notes" section for readability and add a note about need of reconfiguration after kernel update (3) change journalctl -x option to -b option because -x is unnecessary and -b will make it very faster if persistent journal is available (4) shorten the example messages for readability (5) add a note to "Limitation" about the earliness of early kdump Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com> Acked-by: Lianbo Jiang <lijiang@redhat.com>
This commit is contained in:
parent
16d2e4274d
commit
b229a9773c
@ -3,12 +3,17 @@ Early Kdump HOWTO
|
|||||||
Introduction
|
Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Kdump service starts too late, so early crashes will have no chance to get
|
Early kdump is a mechanism to make kdump operational earlier than normal kdump
|
||||||
kdump kernel booting, this will cause crash information to be lost. It is
|
service. The kdump service starts early enough for general crash cases, but
|
||||||
necessary to add a dracut module in order to load crash kernel and initramfs
|
there are some cases where it has no chance to make kdump operational in boot
|
||||||
as early as possible. You can provide "rd.earlykdump" in grub commandline
|
sequence, such as detecting devices and starting early services. If you hit
|
||||||
to enable, then the early kdump will load those files like the normal kdump,
|
such a case, early kdump may allow you to get more information of it.
|
||||||
which is disabled by default.
|
|
||||||
|
Early kdump is implemented as a dracut module. It adds a kernel (vmlinuz) and
|
||||||
|
initramfs for kdump to your system's initramfs in order to load them as early
|
||||||
|
as possible. After that, if you provide "rd.earlykdump" in kernel command line,
|
||||||
|
then in the initramfs, early kdump will load those files like the normal kdump
|
||||||
|
service. This is disabled by default.
|
||||||
|
|
||||||
For the normal kdump service, it can check whether the early kdump has loaded
|
For the normal kdump service, it can check whether the early kdump has loaded
|
||||||
the crash kernel and initramfs. It has no conflict with the early kdump.
|
the crash kernel and initramfs. It has no conflict with the early kdump.
|
||||||
@ -20,7 +25,9 @@ We assume if you're reading this document, you should already have kexec-tools
|
|||||||
installed.
|
installed.
|
||||||
|
|
||||||
You can rebuild the initramfs with earlykdump support with below steps:
|
You can rebuild the initramfs with earlykdump support with below steps:
|
||||||
|
|
||||||
1. start kdump service to make sure kdump initramfs is created.
|
1. start kdump service to make sure kdump initramfs is created.
|
||||||
|
|
||||||
# systemctl start kdump
|
# systemctl start kdump
|
||||||
|
|
||||||
NOTE: If a crash occurs during boot process, early kdump captures a vmcore
|
NOTE: If a crash occurs during boot process, early kdump captures a vmcore
|
||||||
@ -34,6 +41,7 @@ You can rebuild the initramfs with earlykdump support with below steps:
|
|||||||
For the failure_action, you can choose anything other than "reboot".
|
For the failure_action, you can choose anything other than "reboot".
|
||||||
|
|
||||||
2. rebuild system initramfs with earlykdump support.
|
2. rebuild system initramfs with earlykdump support.
|
||||||
|
|
||||||
# dracut --force --add earlykdump
|
# dracut --force --add earlykdump
|
||||||
|
|
||||||
NOTE: Recommend to backup the original system initramfs before performing
|
NOTE: Recommend to backup the original system initramfs before performing
|
||||||
@ -41,16 +49,6 @@ You can rebuild the initramfs with earlykdump support with below steps:
|
|||||||
|
|
||||||
3. add rd.earlykdump in grub kernel command line.
|
3. add rd.earlykdump in grub kernel command line.
|
||||||
|
|
||||||
Note:
|
|
||||||
[1]. Early kdump initramfs size will be large because it includes vmlinuz and
|
|
||||||
kdump initramfs.
|
|
||||||
|
|
||||||
[2]. Early kdump inherits the settings of normal kdump, so any changes that
|
|
||||||
caused normal kdump rebuilding also require rebuilding the system initramfs
|
|
||||||
to make sure that the changes take effect for early kdump. Therefore, after
|
|
||||||
the rebuilding of kdump initramfs is completed, provide a prompt message to
|
|
||||||
tell the fact.
|
|
||||||
|
|
||||||
After making said changes, reboot your system to take effect. Of course, if you
|
After making said changes, reboot your system to take effect. Of course, if you
|
||||||
want to disable early kdump, you can simply remove "rd.earlykdump" from kernel
|
want to disable early kdump, you can simply remove "rd.earlykdump" from kernel
|
||||||
boot parameters in grub, and reboot system like above.
|
boot parameters in grub, and reboot system like above.
|
||||||
@ -58,19 +56,40 @@ boot parameters in grub, and reboot system like above.
|
|||||||
Once the boot is completed, you can check the status of the early kdump support
|
Once the boot is completed, you can check the status of the early kdump support
|
||||||
on the command prompt:
|
on the command prompt:
|
||||||
|
|
||||||
# journalctl -x|grep early-kdump
|
# journalctl -b | grep early-kdump
|
||||||
|
|
||||||
Then, you will see some useful logs, for example:
|
Then, you will see some useful logs, for example:
|
||||||
|
|
||||||
1. if early kdump is successful.
|
- if early kdump is successful.
|
||||||
Mar 09 09:57:56 localhost.localdomain dracut-cmdline[190]: early-kdump is enabled.
|
|
||||||
Mar 09 09:57:56 localhost.localdomain dracut-cmdline[190]: kexec: loaded early-
|
|
||||||
kdump kernel
|
|
||||||
|
|
||||||
2. if early kdump is disabled.
|
Mar 09 09:57:56 localhost dracut-cmdline[190]: early-kdump is enabled.
|
||||||
Mar 09 10:02:47 localhost.localdomain dracut-cmdline[189]: early-kdump is disabled.
|
Mar 09 09:57:56 localhost dracut-cmdline[190]: kexec: loaded early-kdump kernel
|
||||||
|
|
||||||
|
- if early kdump is disabled.
|
||||||
|
|
||||||
|
Mar 09 10:02:47 localhost dracut-cmdline[189]: early-kdump is disabled.
|
||||||
|
|
||||||
|
Notes
|
||||||
|
-----
|
||||||
|
|
||||||
|
- The size of early kdump initramfs will be large because it includes vmlinuz
|
||||||
|
and kdump initramfs.
|
||||||
|
|
||||||
|
- Early kdump inherits the settings of normal kdump, so any changes that
|
||||||
|
caused normal kdump rebuilding also require rebuilding the system initramfs
|
||||||
|
to make sure that the changes take effect for early kdump. Therefore, after
|
||||||
|
the rebuilding of kdump initramfs is completed, provide a prompt message to
|
||||||
|
tell the fact.
|
||||||
|
|
||||||
|
- If you install an updated kernel and reboot the system with it, the early
|
||||||
|
kdump will be disabled by default. To enable it with the new kernel, you
|
||||||
|
need to take the above steps again.
|
||||||
|
|
||||||
Limitation
|
Limitation
|
||||||
----------
|
----------
|
||||||
|
|
||||||
At present, early kdump doesn't support fadump.
|
- At present, early kdump doesn't support fadump.
|
||||||
|
|
||||||
|
- Early kdump loads a crash kernel and initramfs at the beginning of the
|
||||||
|
process in system's initramfs, so a crash at earlier than that (e.g. in
|
||||||
|
kernel initialization) cannot be captured even with the early kdump.
|
||||||
|
Loading…
Reference in New Issue
Block a user