我在启动 CentOS 6 时不断收到“超级块上次挂载时间是将来的时间”错误。我看到过其他询问如何解决此错误的问题,但我确切地知道它发生的原因:我们的开发/测试虚拟机的日期经常设置为远离现在的时间,并且所有文件系统都已重新挂载。
我想知道的是:如何在 centOS 中禁用超级块挂载时间的所有一致性检查?
我已尝试tune2fs -i 0 <device>
并设置buggy_init_scripts=1
,/etc/e2fsck.conf
但均无作用;问题仍然存在。
答案1
buggy_init_scripts=1
仅当时差小于 1 小时时才有效。
尝试一下 int /etc/e2fsck.conf:
[问题]
# Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
0x000031 = {
preen_ok = true
preen_nomessage = true
}
# Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).
0x000032 = {
preen_ok = true
preen_nomessage = true
}
这应该会删除该消息并更正数据。
答案2
最好修复 vm 日期时间。如果您所说的 vm 指的是 vmware,那么这实际上是一个非常复杂的问题。
http://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf
如果是其他虚拟机系统,我认为问题会类似。
关闭一致性检查等是不可取的,因为它们的存在是有原因的。时间不一致的系统会以许多其他方式影响完整性。
答案3
将 hwclock 时间设置纳入你的 kickstart/build 进程。