内核崩溃后系统journal日志丢失

OpenEuler 22.03中,在使用echo 1 > /proc/sys/kernel/sysrqecho c > /proc/sysrq-trigger触发内核crash后,系统会自动重启,但是重启后journal日志只保留了本次启动后的日志。journald的配置项也修改为了持久化存储:Storage=persistent,正常的重启可以保留以前的日志。请问异常重启后日志丢失是固有的逻辑吗?是否可以通过一些配置项来保证日志不丢失呢?

你是测试了内核crash的情况吗?

谢谢,我再试试

我重新安装试了一下还是不行,可以分享一下sudo journalctl | grep journal命令打印的日志吗?我的就是只显示本次启动的日志,上次启动的日志都看不到了。

因为没有执行正常的关机,journald 没有机会将缓冲区中的日志写入到磁盘上,导致重启前的部分日志丢失,启动的时候发现system.journal的日志已损坏或不干净地关闭,正在重命名和替换,所以它就空掉了

所以说这个日志丢失是属于正常的情况?

是的,可以参考下面这个issue

好的,感谢

openeuler systemd 这个patch会导致crash或者hard reboot后日志全部清空:
Patch9052: delete-journal-files-except-system.journal-when-jour.patch
日志切分以后还会导致这种日志丢失的情况完全不正常