OpenEuler 22.03中,在使用echo 1 > /proc/sys/kernel/sysrq
和echo c > /proc/sysrq-trigger
触发内核crash后,系统会自动重启,但是重启后journal日志只保留了本次启动后的日志。journald的配置项也修改为了持久化存储:Storage=persistent
,正常的重启可以保留以前的日志。请问异常重启后日志丢失是固有的逻辑吗?是否可以通过一些配置项来保证日志不丢失呢?
你是测试了内核crash的情况吗?
谢谢,我再试试
因为没有执行正常的关机,journald 没有机会将缓冲区中的日志写入到磁盘上,导致重启前的部分日志丢失,启动的时候发现system.journal的日志已损坏或不干净地关闭,正在重命名和替换,所以它就空掉了
所以说这个日志丢失是属于正常的情况?
是的,可以参考下面这个issue
好的,感谢
openeuler systemd 这个patch会导致crash或者hard reboot后日志全部清空:
Patch9052: delete-journal-files-except-system.journal-when-jour.patch
日志切分以后还会导致这种日志丢失的情况完全不正常