#/var/crash と /var/spool/abrtd にも同じ vmcore が残ってるのでなんとかしたい
マジックSysRqキーを使って kdump の動作確認を実施してたら
vmcore が重複して作成されているようだった。
机上とは言え、計算上はギガを超える無駄な重複データが出来てしまう場合もあるのでなんとかしたい。
次のような手順で動作確認していた。
手順
crashdump を手動で出力する。秘孔を突くコマンドでゲロを吐かせます。
[root@localhost ~]# echo c > /proc/sysrq-trigger
起動後に確認すると
/var/crash と /var/spool/abrtd にも同じ vmcore 残ってる
[root@localhost ~]# ls -l /var/spool/abrt/vmcore-127.0.0.1-2019-10-24-20\:15\:10/vmcore /var/crash/127.0.0.1-2019-10-24-20\:15\:10/vmcore
-rw------- 1 root root 73008040 Oct 24 20:15 /var/crash/127.0.0.1-2019-10-24-20:15:10/vmcore
-rw-r----- 1 root abrt 73008040 Oct 24 20:18 /var/spool/abrt/vmcore-127.0.0.1-2019-10-24-20:15:10/vmcore
パーミッション、グループ、作成時間は若干違うようだがファイルサイズはまったく同じ
[root@localhost ~]# diff --binary /var/spool/abrt/vmcore-127.0.0.1-2019-10-24-20\:15\:10/vmcore /var/crash/127.0.0.1-2019-10-24-20\:15\:10/vmcore
[root@localhost ~]#
念のためバイナリデータで比較してもまったく同じ
[root@localhost ~]# egrep -v "^#|^$" /etc/abrt/abrt.conf
MaxCrashReportsSize = 5000
DeleteUploaded = no
AutoreportingEvent = report_uReport
AutoreportingEnabled = no
PrivateReports = yes
ちなみに abrt.conf には
# Max size for crash storage [MiB] or 0 for unlimited
と記載しているので 5000MiB がデフォルト設定のようだ。
調査
調べると、abrt の BugFix対応として記載されていた。
https://bugzilla.redhat.com/show_bug.cgi?id=847227
なんかmvしたら /var/crash がぶっ壊れたからコピーにしとくね(超意訳)
ってことらしい。
abrt-harvest-vmcore の config に CopyVMcore ってやつを追加したよ、とのことなのだが、man に書いてた。
[root@localhost ~]# man abrt-harvest-vmcore
ABRT-HARVEST-VMCOR(1) ABRT Manual ABRT-HARVEST-VMCOR(1)
NAME
abrt-harvest-vmcore - Converts VMCores to ABRT problems
SYNOPSIS
abrt-harvest-vmcore
DESCRIPTION
This script is meant to be run once at system startup after abrtd is up and running. It
moves all vmcore directories in /var/crash (which are presumably created by kdump) to
abrtd spool directory.
The goal is to let abrtd notice and process them as new problem data dirs.
FILES
/etc/abrt/plugins/vmcore.conf
Configuration file where user can enable copying or moving VMcore to ABRT problem
directory
SEE ALSO
abrt-vmcore.conf(5) abrt.conf(5)
AUTHORS
・ ABRT team
abrt 2.1.11 03/20/2019 ABRT-HARVEST-VMCOR(1)
/etc/abrt/plugins/vmcore.conf が設定ファイルらしい。
[root@localhost ~]# cat /etc/abrt/plugins/vmcore.conf
# Do you want vmcore to be copied, or moved from /var/crash to /var/spool/abrt?
# (default is to copy, but it may duplicate way too much data)
CopyVMcore = yes
いました。
/etc/abrt/plugins/vmcore.conf の設定を no に書き換えます。
CopyVMcore = no
反映させる必要は特にないので、
もう一度crashdump を手動で出力秘孔を突くする。
[root@localhost ~]# echo c > /proc/sysrq-trigger
/var/crash
には作成されなくなった。
[root@localhost ~]# ls -l /var/crash/ /var/spool/abrt/
/var/crash/:
合計 0
/var/spool/abrt/:
合計 8
drwxr-x--- 2 root abrt 4096 Oct 25 15:21 vmcore-127.0.0.1-2019-10-25-15:21:34
これで良しとするか。