我有一个USB硬盘与外部3文件系统(它是 Plex 服务器媒体驱动器),连接到我的树莓派,并且断电后它不会自动安装并且存在超级块读取问题。在驱动器上执行操作后fsck
,它会恢复到完全工作状态。
问题是——我的覆盆子是无头服务器,我现在住的地方几乎每天都会断电,所以我ssh
每次都需要fsck
让磁盘重新运行。有什么办法可以:
自动执行
fsck
(包括回答“是的“ 问题)?检测到电源故障,以便它会在启动时执行此操作?
答案1
要在每次启动时强制进行 fsck,请在根文件系统中将倒计时设置为 1:
tune2fs -c 1 /dev/mmcblk0p2
如果tune2fs
没有安装,可以在压缩e2fsprogs
包中找到。
答案2
另一种方法是添加命令
touch /forcefsck
在你的/etc/rc.local
。
这会在每次机器启动时在根目录中创建一个文件forcefsck
,告诉 fsck 在下次重新启动时运行。
请注意,fsck 将在检查文件系统后删除该文件 - 这就是您每次都需要重新创建它的原因。
答案3
基于该系统是外部3用于 Plex 服务器媒体存储的文件系统,最好的办法可能是从外部3文件系统的默认日志模式data=ordered
到最安全的模式data=journal
。在媒体服务器上,写入速度的影响不应该是一个大问题,并且数据日志应该消除对任何fsck
.
根据硬件的不同,可能需要进行其他调整才能使其更好地工作,例如禁用 USB 驱动器的缓存,(如果结果证明这是一个问题),或者将数据日志放在单独的设备上(例如小型 SSD)。