默认情况下,在180天或一定数量的安装后,大多数Linux文件系统都会强制执行文件系统检查(fsck)。当然,可以使用例如ext2或ext3上的tune2fs -c 0 -i 0将其关闭。
在小型文件系统上,此检查仅是一个不便。但是,对于较大的文件系统,此检查可能需要几个小时才能完成。当您的用户依靠此文件系统来提高工作效率时,例如说它正在通过NFS服务其主目录,您是否会禁用计划的文件系统检查?
我问这个问题,因为现在是凌晨2:15,我正在等待很长的fsck来完成(ext3)!
默认情况下,在180天或一定数量的安装后,大多数Linux文件系统都会强制执行文件系统检查(fsck)。当然,可以使用例如ext2或ext3上的tune2fs -c 0 -i 0将其关闭。
在小型文件系统上,此检查仅是一个不便。但是,对于较大的文件系统,此检查可能需要几个小时才能完成。当您的用户依靠此文件系统来提高工作效率时,例如说它正在通过NFS服务其主目录,您是否会禁用计划的文件系统检查?
我问这个问题,因为现在是凌晨2:15,我正在等待很长的fsck来完成(ext3)!
Answers:
180天的默认fsck时间是ext3不支持在线一致性检查的设计缺陷的一种解决方法。真正的解决方案是找到一个支持此功能的文件系统。我不知道是否有任何成熟的文件系统。这是一个真正的悲剧。也许btrfs将为我们节省一天。
作为标准维护的一部分,我通过使用完整的fsck进行预定的重启来解决fsck令人惊讶的多个小时停机问题。这比在生产期间遇到轻微的损坏并使之变成真正的停机要好。
问题的很大一部分是ext3的fsck异常缓慢。尽管xfs的fsck快得多,但是默认情况下,它在分配文件时使用了过多的内存,以鼓励在大型文件系统上使用xfs。但是,在大多数系统上这不是问题。切换到xfs至少会允许相当快的fsck。这可能使在常规维护中运行fsck的计划更加容易。
如果您正在运行RedHat并考虑使用xfs,则必须注意它们强烈不鼓励使用xfs,以及您在运行的内核上很少有人使用xfs的事实。
我的理解是ext4项目的目标是至少在某种程度上提高fsck性能。
视情况而定。例如,我们有一台服务器因运行QMail堆栈的例行维护而停机。随着时间的流逝,QMail创建并杀死了许多文件,这是一个非常繁忙的邮件服务器。fsck花了大约36个小时。并不是说我们从交易中节省了很多性能,但最终我想您可以认为文件系统更健康。尽管真的造成了混乱,这真的值得吗?不。在。所有。