“恢复日志”是否证明是不干净的关闭/卸载?

“恢复日志”是否证明是不干净的关闭/卸载?

我们能否确认日志消息“正在恢复日志”fsck应被解释为表明文件系统上次未完全卸载/关闭?或者,还有其他可能的原因需要注意吗?

May 03 11:52:34 alan-laptop systemd-fsck[461]: /dev/mapper/alan_dell_2016-fedora: recovering journal
May 03 11:52:42 alan-laptop systemd-fsck[461]: /dev/mapper/alan_dell_2016-fedora: clean, 365666/2621440 files, 7297878/10485760 blocks

May 03 11:52:42 alan-laptop systemd[1]: Mounting /sysroot...
May 03 11:52:42 alan-laptop kernel: EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
May 03 11:52:42 alan-laptop systemd[1]: Mounted /sysroot.

比较fsck同一个启动的 /home,没有显示这样的消息:

(忽略-1小时跳跃,这是由于“本地时区的RTC时间”造成的)

May 03 10:52:57 alan-laptop systemd[1]: Starting File System Check on /dev/mapper/alan_dell_2016-home...
May 03 10:52:57 alan-laptop systemd-fsck[743]: /dev/mapper/alan_dell_2016-home: clean, 1469608/19857408 files, 70150487/79429632 blocks
May 03 10:52:57 alan-laptop systemd[1]: Started File System Check on /dev/mapper/alan_dell_2016-home.
May 03 10:52:57 alan-laptop audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsc>
May 03 10:52:57 alan-laptop systemd[1]: Mounting /home...
May 03 10:52:57 alan-laptop systemd[1]: Mounted /boot/efi.
May 03 10:52:57 alan-laptop kernel: EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
May 03 10:52:57 alan-laptop systemd[1]: Mounted /home.
May 03 10:52:57 alan-laptop systemd[1]: Reached target Local File Systems.

版本

$ rpm -q --whatprovides $(which fsck.ext4)
e2fsprogs-1.43.8-2.fc28.x86_64

动机

离线更新后立即发生这种情况;它很可能是由 PackageKit bug 触发的:

Bug 1564462 - 离线更新执行不干净的关闭

它有效地使用的地方systemctl reboot --force。我担心 Fedora 中存在错误,因为 systemd 强制关闭仍然应该杀死所有进程,然后在可能的情况下干净地卸载文件系统。

以上消息来自 Fedora 28 systemd-238-7.fc28.1.x86_64,. Fedora 27 使用了一个有缺陷的 systemd 版本,它可能无法卸载文件系统:

systemd-shutdown[1]:无法解析 /proc/self/mountinfo #6796

但是,那修复应包含在 systemd 235 及更高版本中。所以我担心某个地方还潜伏着另一个错误。

文件系统位于 LVM 上。

我似乎记得关机与屏幕变黑之前几秒钟内的几屏幕重复消息相关。我认为他们来自内部关闭初始化。我不知道这是否代表一个问题。

答案1

“正在恢复日志”消息的输出是e2fsck_run_ext3_journal,这仅被称为ifext2fs_has_feature_journal_needs_recovery表明该日志需要恢复。这个“特征”是一个标志,每当挂载日志式 Ext3/4 文件系统时由内核设置,并清除当文件系统被卸载时,当恢复完成时(当挂载不干净的文件系统或以只读方式重新挂载文件系统时),以及冻结文件系统时(拍摄快照之前)。

忽略快照,这意味着e2fsck仅在遇到尚未完全卸载的文件系统时才打印消息,因此它的存在证明了不干净的卸载(并且可能是关闭,假设卸载应该在关闭期间进行)。

答案2

该日志包含尚未提交的文件系统命令。在干净卸载时,其中的所有内容都会被提交,并且日志会被清除。所以,是的,重播日志意味着不干净的关闭。但反之亦然,当日志中没有任何内容时,可能会发生不干净的关闭。

相关内容