在 2020年02月18日 05:47, HAGIO KAZUHITO(萩尾 一仁) 写道:
> Hi Lianbo, all,
>
> Early kdump is now supported in RHEL8 and general users can start to use
> it, but I think the document still has some points that we can make better.
> How about this patch?
>
Thanks for your improvement, Kazu. Looks better to me.
Lianbo
> Thanks,
> Kazu
>
> From 095376482c6f970c4b66d65fd05f274036087826 Mon Sep 17 00:00:00 2001
> From: Kazuhito Hagio <k-hagio-ab(a)nec.com>
> Date: Mon, 17 Feb 2020 14:22:28 -0500
> Subject: [PATCH] Several improvements to early-kdump-howto.txt
>
> 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(a)nec.com>
> ---
> early-kdump-howto.txt | 67 +++++++++++++++++++++++++++----------------
> 1 file changed, 43 insertions(+), 24 deletions(-)
>
> diff --git a/early-kdump-howto.txt b/early-kdump-howto.txt
> index c29557e19403..68b23c7d1f2d 100644
> --- a/early-kdump-howto.txt
> +++ b/early-kdump-howto.txt
> @@ -3,12 +3,17 @@ Early Kdump HOWTO
> Introduction
> ------------
>
> -Kdump service starts too late, so early crashes will have no chance to get
> -kdump kernel booting, this will cause crash information to be lost. It is
> -necessary to add a dracut module in order to load crash kernel and initramfs
> -as early as possible. You can provide "rd.earlykdump" in grub commandline
> -to enable, then the early kdump will load those files like the normal kdump,
> -which is disabled by default.
> +Early kdump is a mechanism to make kdump operational earlier than normal kdump
> +service. The kdump service starts early enough for general crash cases, but
> +there are some cases where it has no chance to make kdump operational in boot
> +sequence, such as detecting devices and starting early services. If you hit
> +such a case, early kdump may allow you to get more information of it.
> +
> +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
> 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.
>
> You can rebuild the initramfs with earlykdump support with below steps:
> +
> 1. start kdump service to make sure kdump initramfs is created.
> +
> # systemctl start kdump
>
> 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".
>
> 2. rebuild system initramfs with earlykdump support.
> +
> # dracut --force --add earlykdump
>
> 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.
>
> -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
> want to disable early kdump, you can simply remove "rd.earlykdump" from kernel
> 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
> on the command prompt:
>
> - # journalctl -x|grep early-kdump
> + # journalctl -b | grep early-kdump
>
> Then, you will see some useful logs, for example:
>
> -1. 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
> +- if early kdump is successful.
> +
> +Mar 09 09:57:56 localhost dracut-cmdline[190]: early-kdump is enabled.
> +Mar 09 09:57:56 localhost dracut-cmdline[190]: kexec: loaded early-kdump kernel
>
> -2. if early kdump is disabled.
> -Mar 09 10:02:47 localhost.localdomain dracut-cmdline[189]: early-kdump is disabled.
> +- 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
> ----------
>
> -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.
>