On Tue, May 24, 2022 at 10:12:40PM +0800, Tao Liu wrote:
Thin provision is a mechanism that you can allocate a lvm volume
which has
a large virtual size for file systems but actually in a small physical
size. The physical size can be autoextended in use if thin pool reached a
threshold specified in /etc/lvm/lvm.conf.
There are 3 works should be handled when enable lvm2 thinp for kdump:
1) Check if the dump target device or directory is thinp device.
2) Monitor the thin pool and autoextend its size when it reached the threshold
during kdump.
Have you tested that auto-extend logic is working fine?
Secondly, can you please also test what happens if thin pool gets full
and there is no more space for extension. Is system hanging? If yes,
that's not a good situation. We want to reboot back after saving dump
automatically.
If it does hang, We need to add logic to configure xfs error handling so
that it does not retry infinitely.
3) If thin pool size-autoextend fails, the user space program will
not know due to
buffered IO. So "sync -f vmcore" is used during kdump in 2nd kernel,
to force sync vmcore data into disk.
It would be good if this "sync -f vmcore" fix is sent as a separate patch.
This is needed anyway irrespective of thin pool support.
Thanks
Vivek
According to my testing, the memory consumption procedure for lvm2 thinp is the thin
pool
size-autoextend phase. For fedora and rhel9, the default crashkernel value is enough.
But
for rhel8, the default crashkernel value 1G-4G:160M is not enough, so it should
be handled particularly.
v1 -> v2:
1) Modified the usage of lvs cmd when check if target is lvm2 thinp
device.
2) Removed the sync flag way of mounting for lvm2 thinp target
during kdump, use "sync -f vmcore" to force sync data, and handle
the error if fails.
Tao Liu (4):
Add lvm2 thin provision dump target checker
Add lvm2-monitor.service for kdump when lvm2 thinp enabled
lvm.conf should be check modified if lvm2 thinp enabled
Fix the sync issue for dump_fs
dracut-kdump.sh | 10 ++++++++--
dracut-lvm2-monitor.service | 15 +++++++++++++++
dracut-module-setup.sh | 16 ++++++++++++++++
kdump-lib-initramfs.sh | 20 ++++++++++++++++++++
kdumpctl | 1 +
kexec-tools.spec | 2 ++
6 files changed, 62 insertions(+), 2 deletions(-)
create mode 100644 dracut-lvm2-monitor.service
--
2.33.1