是否需要e2fsck
定期手动运行(用于检查 Linux ext2/ext3/ext4 文件系统)?如果需要,我应该多久运行一次?
或者我可以依靠现有的 SMART(自我监控、分析和报告技术)系统来报告任何错误,然后e2fsck
在报告错误时运行?
答案1
SMART 并e2fsck
检查硬盘的不同方面。SMART 检查硬盘的硬件(例如启动时间、坏块、温度、工作时间等)e2fsck
检查系统的完整性内容你的硬盘。
这里我再介绍两个Linux命令fsck
:(手册页) 和tune2fs
(手册页)。
fsck
是几个文件系统特定检查器的通用包装器,例如e2fsck
。tune2fs
为文件系统设置不同的参数,其中包括检查文件系统的间隔和/或频率。
的手册tune2fs
非常清楚地说明了定期检查文件系统:
强烈建议启用 -c(挂载计数相关)或 -i(时间相关)检查,以强制定期对文件系统进行完整的 e2fsck(8) 检查。不这样做可能会导致文件系统损坏(由于磁盘、电缆、内存或内核错误)未被发现,最终导致数据丢失或损坏。
/dev/sda1
要检查文件系统的当前设置,可以使用以下命令(根据需要编辑设备):
sudo tune2fs -l /dev/sda1 | egrep -h 'Maximum mount count|Check interval|Last checked'
这将返回两个参数,这两个参数可以通过 -c 和 -i 参数设置,tune2fs
以及上次检查文件系统的时间。要将这些参数设置为不同的值,您可以使用以下命令(/dev/sda1
根据需要编辑设备)每 8 次挂载或每月一次(以先到者为准)检查文件系统:
sudo tune2fs -c 8 -i "1m" /dev/sda1