badblocks vs. SMART Extended Self Test

14

¿En qué se diferencia una exploración completa de superficie de lectura / escritura por 'bloques defectuosos' de la autocomprobación SMART Extended incorporada ?

Parece que ambos son escaneos de superficie completa, entonces ¿por qué lleva badblocks -vws3 días probar una unidad de 1TB, mientras que SMART lo hace en 2 1/2 horas (al menos esa es la estimación de tiempo que me dio smartmon)?

Robert S. Barnes
fuente
siendo más completo, ¿ha considerado usar los badblocksparámetros "último bloque" "primer bloque" y realizar las pruebas un poco por día?
Acuario Power

Respuestas:

12

La prueba de superficie SMART es casi seguramente un pase de lectura único y ciertamente no destructivo. Como se ha señalado, también es interno de la unidad; con la posible excepción de datos de control menores, no se pasan datos hacia o desde el host durante la prueba.

Por otro lado, badblocks -wrealiza cuatro pases sobre el disco, cada uno con una escritura y una lectura. Eso solo explica una diferencia de 8 veces en el tiempo necesario para la prueba, más la latencia rotacional. Dado que se trata de un software que se ejecuta en el host, todos los datos deben ser mezclados a través de la interfaz del disco a la RAM y manejados por el software (bloques defectuosos, en nuestro caso).

Si tomamos una latencia rotacional en el peor de los casos de 1 × (el disco necesita hacer una revolución completa después de escribir los datos para volver a leerlos, que es más o menos lo que verá si le gustan los bloques defectuosos que primero llenan todo disco y luego leerlo todo, en lugar de hacer E / S una pista física a la vez que con LBA es casi imposible), terminamos con el peor de los casos (1 + 1) × 8 × = 16 × el tiempo necesario para Completa la operación. 16 × 2.5h = 40h, que ciertamente está en línea con sus números y aún asume que solo estamos tratando con el almacenamiento de datos en el disco y que está sucediendo tan rápido como el disco puede soportar E / S secuenciales.

un CVn
fuente
5

Las pruebas SMART cortas y largas solo realizan lecturas (localizadas) de los sectores; Tampoco es destructivo para los datos. Los datos leídos solo se transfieren al controlador integrado, no a la PC host. La interfaz SATA está esencialmente inactiva durante la prueba, y la luz de actividad del HDD en la PC no debe encenderse.

badblocks -vwssolicita un sector de escritura y luego lee y verifica la operación. Cada escritura y lectura agrega una revolución de disco por operación más tiempo para transferencias de datos a través de la interfaz SATA más procesamiento de PC host. La luz de actividad del HDD debería estar encendida la mayor parte del tiempo.

serrín
fuente
0

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

La advertencia aquí es que algunos programas de prueba de fabricantes no imprimen los resultados completos de la prueba y permiten que un cierto número de sectores defectuosos digan solo si pasan o no. Sin embargo, los programas del fabricante son generalmente más rápidos que los bloques defectuosos, a veces una cantidad justa.

Por lo tanto, use pruebas exhaustivas destructivas de badblocks cuando sea posible.

Editar: Por destructivo quise decir que muchos discos duros modernos tienen una carga de trabajo de 180TB / a, lo que significa que en un disco duro de 12TB, estaría tomando 96TB de carga de trabajo, si ejecuta el conjunto completo de pruebas de bloques defectuosos solo para probarlo. Eso podría ser 48 TB si por carga de trabajo solo se refieren a escrituras, lo que podría ser el caso, pero no está bien documentado.

Ray Foss
fuente