我有一个无头 Debian 服务器已经三年了。最初是 Debian 11 Bullseye amd64,现在则是 Debian 12 Bookworm。我偶尔会使用 进行内核升级。有三次,启动时根文件系统出现磁盘错误。这要求我在 上的控制台上sudo apt-get dist-upgrade
执行。将键盘和屏幕贴在盒子上有点麻烦。最近的问题发生在从 升级到 从 期间 ,但不是从主存储库升级。fsck
/dev/mapper/foobar--vg-root
(2023-07-??)
Linux foobar 6.1.0-11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 GNU/Linux
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
问题:重新启动之前我可以做些什么来避免根文件系统出现磁盘错误?
答案1
Linux ext 文件系统必须离线进行 fsck 才能使检查有效。对于根文件系统而言,这意味着在系统运行时无法检查主副本。
由于您正在运行 LVM,因此可以对 LV 进行快照,对副本进行 fsck,并且无需卸载或重新启动即可知道是否会出现问题。请参阅e2scrube2fsprogs 中的程序,用于编写脚本。这确实不是修复源卷,在卸载时仍需要进行 fsck 才能修复。因此请保留您的崩溃车或带外访问。
更确切地说,fsck 会尝试使文件系统元数据保持一致。它依赖于可靠的块设备,如果这是第三个磁盘错误,您可能没有。监控磁盘,考虑更换,并考虑像 RAID 1 这样的冗余。
看来内核升级并不是问题的征兆。扩展医学比喻,就是按计划去看医生(内核升级),发现疾病(块设备问题)的征兆(文件系统不一致)。