使用基于 Debian 的无风扇机器。所有文件系统都位于 SD 卡上。
这/var分区是一个单独的 ext2 fs 条目/etc/fstab。
该系统没有“开/关”开关,因此人们往往会拔掉插头来重新启动它。这会导致腐败/var分割。
我想强制系统运行e2fsck每次启动时。
我尝试过的:
不要在启动时挂载 /var。添加脚本于/etc/rc2.d运行 e2fsck 然后安装驱动器。问题:这给了我一个认为它卡在运行级别 6 的系统。参见这里。
使用调2fs将 fsck 周期设置为一次安装。
问题:系统在启动过程中经常挂起,请注意/var已安装并落入维护外壳。设置第 6 位/etc/fstab2. 运行
touch /forcefsck
。
问题:两者都没有任何明显的效果。未检查磁盘。添加不自动到/etc/fstab(参见上面#1)。
问题:系统仍然挂载分区,因此仍然弹出错误消息。
关于其他尝试的建议?
编辑:
一些背景:
- 我们在偏远地区部署了 150 多个此类系统
- 相关系统没有电源开关
- 系统经常(错误地)使用开关电源(墙壁开关或其他)
- 相关地点断电的情况并不少见
答案1
这个问题已经有了答案:
如何在每次启动时强制进行 fsck - 所有(相关)文件系统?
那里没有人指出真正的问题是人们拉扯电缆。我认真地认为对这两个问题的关注都是错误的;您需要解决用户问题,而不是服务器文件系统问题。
老实说,考虑到这个文件系统对机器的基本功能有多重要,你最好的选择是摆脱像系统管理员一样思考这个问题,而开始像经理一样思考它。
换句话说:
- 教您的用户如何正确重新启动此系统,以防止 /var 损坏问题。正如他们所说,文档是你的朋友。由于多种原因,这不是一个理想的解决方案,但至少它可以防止它们破坏文件系统。如果不出意外的话,如果你的工作是让这个该死的东西保持运行,那么他们根本不应该碰它。
- 把它锁在他们拿不到的地方。说真的,如果这是一个存储重要数据的服务器,为什么现在还没有这样呢?这是一个开发系统吗?开发人员只是不知道他们在做什么,也不知道这会造成多大的破坏?如果是这样,请再次教导他们。你的工作不是纠正愚蠢,而是预防愚蠢。
- 告诉他们别管这件事,如果有问题就来找你谈谈。 :)
- 技术含量低,但可能有帮助(尽管肯定有火灾危险):用胶带将电源线两端的东西粘住,这样他们就得花 15 分钟才能把它拆开。希望五分钟后,在第 26 层磁带上,他们会感到沮丧,并做他们应该做的事情:与您交谈以解决促使他们首先拔掉插头的实际问题。
这台机器为何如此不稳定以至于他们认为有必要重新启动它?这是一个 debian 系统。他们不需要“重新启动”,那么还有什么问题吗?他们是否担心功耗,或者是否有服务损坏且不稳定,只有重新启动才能解决?如果是后者,那么你的问题是无关紧要的,你还有其他工作要做,很抱歉。
如果没有别的事,你可以按照你的建议去做,而不是通过拉电缆来重新启动,作为节能的练习。您是否真的想从办公桌上站起来拉电源线,而不是坐在那里,登录并在命令行上重新启动它?这样做大约需要 2 秒钟的时间,而不是起身,一直抱怨到设备,拔下电缆,重新插入,等待它恢复损坏,然后必须等待 /var 进行 fscked 的时间更长。
拔下电缆等待 /var 自行修复的周期需要更长的时间,从长远来看维护起来要复杂得多,会给您带来各种痛苦,已经促使您提出错误的问题,并最终将带你到钟楼的顶端,带着爱情武器和死亡愿望。
通过修复你的用户来正确修复问题,或者通过让他们很难做出愚蠢的事情来减轻损害。我对这一点的重要性再清楚不过了。