Ext4-如何启用额外的完整性,校验和,验证,任何形式的测试?


8

我在硬盘驱动器上运行Ext4,说实话,我并不真正相信该驱动器,因为它很旧并且有一些坏块。我的驱动器上没有不必要的数据,所以如果它明天就消失了,那就没什么大不了的了。

但是,我想知道它是否/何时开始消失,并以只读方式重新安装。是否有任何选项可以在Ext4 fs上启用额外的文件检查?(我不在乎它是否会使文件系统变慢。)


1
硬盘具有内部CRC检查,因此即使发生故障和/或有挂起的块,它也应检测到这些错误并将其报告给操作系统。如果由于硬盘块损坏而导致文件损坏,则这些损坏将作为IO错误而显示,没有任何特殊选项。
Martin von Wittich 2014年

@MartinvonWittich驱动器可能会或不会,但如果在驱动器和磁盘控制器之间传输数据时损坏了数据,则驱动器内部CRC检查不会为您带来任何收益...所以,在FS级别的CRC是一个不错的功能有。
Mathieu

Answers:



5

但是,我想知道它是否/何时开始消失,并以只读方式重新安装。

如果问题是坏块,则以只读方式安装将不会为您节省任何费用-请查看此处的第一段,并注意与读取错误相关的问题。

如果没有物理读取磁盘就无法检测到坏块,因此,就像在黑暗的房间中寻找设置的鼠标陷阱一样,也无法避免检查时潜在的问题。如果您认为磁盘出现故障,请定期在所有分区上umount运行e2fsck -c;如果这是您的根文件系统,并且您需要使用例如liveCD来执行此操作,请执行此操作。按照手册页;

-c此选项使e2fsck使用badblocks(8)程序对设备进行只读扫描,以查找任何坏块。 如果找到任何坏块,则将它们添加到坏块inode中,以防止将它们分配给文件或目录。

如果这些数据块包含数据,某个时候可能会/lost+found目录中保存一个挽救的版本,我不确定。

请注意,这可能需要一些时间。如果存在坏块,则扫描可能会触发I / O问题,从而将整个系统锁定数小时,因此,如果您舒适地走了一段时间,就可以这样做。


1
“将鼠标置于暗室中”。好短语。
Faheem Mitha

3

同样,一般而言,某些实用程序可以监视情况的不同方面,并允许您采取适当的措施。

例如,smartctl来自smartmontools软件包的工具将使您可以访问某些驱动器的内置SMART状态。

您还可以使用以下tune2fs命令提高对特定目标进行文件系统检查的频率。例如,似乎tune2fs -c 1 target可以确保每次在启动引导驱动器之前对其进行检查。


1
smartctl也可以执行磁盘的内部自检机制,例如使用smartctl -t long /dev/sdX
Martin von Wittich 2014年

1
@MartinvonWittich SMART的问题是,您需要知道要寻找的原因,而它们不一定告诉您很多Google:“我们的分析从驱动器的自我监控工具(SMART)中识别出与故障高度相关的几个参数。尽管存在如此高的相关性,但我们得出的结论是,仅基于SMART参数的模型不太可能对预测单个驱动器故障有用。”
Mathieu

@Mathieu是的,SMART预测的东西对IMO毫无价值。但是根据我的经验,自测是100%准确的。不幸的是,大多数人不知道它们的存在,因此很少使用它们。
Martin von Wittich

2

illuminÉ的好处。最好使smartd在后台运行并定期检查故障。

除此之外,您可以使用

e2fsck -fvy -c -c -C0 /dev/sda1

-f    Force checking even if the file system seems clean.
-v    Verbose mode.
-y    Assume an answer of `yes' to all questions
-C0   write  completion  information to stdout
-c -c If this option is specified twice, then the 
      bad block scan  will  be  done  using  a  non-destructive
      read-write test.

此非破坏性读写测试(-c -c)可让您知道是否存在读取失败。
但是,这需要很多时间。

因此,在购买新驱动器之前,它应该是一种运输解决方案。


除非你不能这样做,而FS安装及扫描磁盘坏块是慢如糖蜜所以它不是一个真正的可行的选择....
马修
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.