badblocks与SMART扩展自测


14

“坏块”进行的完整读/写表面扫描与内置的SMART Extended自检有何区别?

似乎它们都是全盘扫描,为什么要花badblocks -vws3天的时间来测试1TB驱动器,而SMART却需要2 1/2小时(至少那是smartmon给我的时间估计)?


遍及整个领域,您是否考虑过使用badblocks“ last-block”“ first-block”参数并每天进行一些测试?
水瓶座力量

Answers:


12

SMART表面测试几乎可以肯定是一次读取,并且肯定是非破坏性的。如前所述,它也位于驱动器内部。除次要控制数据外,在测试过程中不会向主机传递任何数据。

另一方面,badblocks -w在驱动器上进行四次传递,每次传递一次写入和一次读取。仅此一项就占了测试时间的8倍差异,加上旋转等待时间。由于它是在主机上运行的软件,因此所有数据都需要通过磁盘接口连接到RAM并由软件处理(在我们的示例中为坏块)。

如果我们将最坏情况下的旋转延迟设为1倍(磁盘在写入数据后需要旋转一整圈才能读取回去,这几乎就像您会看到坏块先填满整个块一样磁盘,然后全部读回,而不是一次只进行一次I / O物理跟踪(使用LBA几乎不可能),我们最终会遇到最坏的情况(1 + 1)×8×= 16×完成操作。16×2.5h = 40h,这当然与您的数字一致,并且仍然假设我们只处理驱动器上的数据存储,并且发生速度与驱动器可以支持顺序I / O一样快。


5

SMART短期和长期测试仅对扇区执行(本地化)读取。这对数据也没有破坏性。读取的数据仅传输到板载控制器,而不传输到主机PC。在测试过程中,SATA接口实际上处于空闲状态,并且PC上的HDD活动指示灯不应亮起。

badblocks -vws正在请求写入扇区,然后进行读取和验证操作。每次写入和读取都会增加每次操作的磁盘转数,以及通过SATA接口进行数据传输的时间以及主机PC的处理时间。HDD活动指示灯在大多数时候都应亮着。


0

https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs

需要注意的是,一些制造商的测试程序不能打印完整的测试结果,并且允许一定数量的坏扇区仅在通过或不通过时才说出来。但是,制造商程序通常比坏块要快,有时也要快很多。

因此,尽可能使用badblocks的破坏性彻底测试。

编辑:具有破坏性,我的意思是许多现代硬盘驱动器的年工作负载为180TB /年,也就是说,在12TB的高清硬盘上,如果要运行全套的坏块测试以进行测试,则您将承担96TB的工作负载。如果按工作负载,它们仅表示写入,则可能为48TB,可能是这种情况,但没有充分记录。

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.