Noticia ¿Cómo saber si tu HDD tiene sectores dañados o está mal de salud?

Hace no mucho les hablé sobre cómo medir el rendimiento de un HDD en Linux, es lógico que si la escritura es muy lenta (800kb o algo así) el HDD tiene definitivamente algún problema, pero esta no es la única forma de saberlo.

S.M.A.R.T


¿Qué es en realidad S.M.A.R.T?, bien, según Wikipedia:


La tecnología S.M.A.R.T., siglas de Self Monitoring Analysis and Reporting Technology, consiste en la capacidad de detección de fallos del disco duro. La detección con anticipación de los fallos en la superficie permite al usuario el poder realizar una copia de su contenido, o reemplazar el disco, antes de que se produzca una pérdida de datos irrecuperable.

O sea, que hace años atrás sabíamos que un HDD tenía problemas cuando dejaba de funcionar, cuando ya era tarde y perdíamos información, pero hoy en día afortunadamente no necesitamos llegar a tanto, podemos saber cuando el disco empieza a fallar, para entonces hacer salvas de la información.

¿Cómo trabajar con SMART en Linux?


Los que usamos Linux tenemos una herramienta perfecta para la terminal: smartmontools

Para instalarlo en ArchLinux sería:

sudo pacman -S smartmontools

En distros como Debian, Ubuntu o derivados:

sudo apt-get install smartmoontools

Una vez instalado debemos verificar si está activado el SMART en el HDD:

sudo smartctl -i /dev/sda

Esto lo revisará para el HDD principal o primero, o sea, /dev/sda … Si tienen otro HDD que también quieran verificar ejecuten el comando otra vez pero con sdb en vez de sda

Les debe salir algo como esto:



Esto significa que está habilitado.

En caso de que NO salga Enabled, o sea, que no esté habilitado, lo pueden habilitar así:

sudo smartctl -s on -d ata /dev/sda

Sí pero, ¿cómo verificar la salud del HDD con datos de SMART?


La idea es hacer una prueba (una corta y otra larga) al HDD, luego revisar el log de errores, así sabremos si tiene errores, cuáles son, y si debemos apurarnos a salvar los datos.

Para hacer una prueba corta (demora 1 minuto aproximadamente) es:

sudo smartctl -t short /dev/sda

Para hacer la prueba larga:

sudo smartctl -t long /dev/sda

Les recomiendo entre cada prueba revisar el log de errores, para ello sería:

sudo smartctl -l error /dev/sda

Si el disco duro está completamente sano les saldrá esto:



¿Cómo se vería si el HDD tiene problemas?


Si el disco duro tiene problemas entonces al ejecutar el comando anterior, el output sería similar a este:

smartctl 6.3 2014-07-26 r3976 [x86_64-linux-3.18.5-1-ARCH] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022 044 033 045 Old_age Always FAILING_NOW 56 (96 110 58 25)

Para más detalles pueden usar este otro comando:

sudo smartctl --attributes --log=selftest /dev/sda

Lo cual les mostraría un output similar a este, digo similar y no igual porque evidentemente es algo difícil que dos discos duros fallen exactamente igual jeje:

smartctl 6.3 2014-07-26 r3976 [x86_64-linux-3.18.5-1-ARCH] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 098 092 006 Pre-fail Always - 238320363
3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 587
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 9
7 Seek_Error_Rate 0x000f 077 060 030 Pre-fail Always - 51672328
9 Power_On_Hours 0x0032 095 095 000 Old_age Always - 4805
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 586
184 Unknown_Attribute 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 417
188 Unknown_Attribute 0x0032 100 099 000 Old_age Always - 4295032833
189 High_Fly_Writes 0x003a 094 094 000 Old_age Always - 6
190 Airflow_Temperature_Cel 0x0022 044 033 045 Old_age Always FAILING_NOW 56 (96 122 58 25)
194 Temperature_Celsius 0x0022 056 067 000 Old_age Always - 56 (0 23 0 0)
195 Hardware_ECC_Recovered 0x001a 043 026 000 Old_age Always - 238320363
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 49
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 49
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 172082159686339
241 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 2155546016
242 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 3048586928
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 4789 1746972641

Si quieren aún leer mucha más información, el comando para que les muestre un output completo, casi que un debug detallado es:

sudo smartctl -d ata -a /dev/sda

Fin!


Bueno nada, ha sido todo… otro artículo más sobre HDDs ;)


tkw7uEPgtgY


Continúar leyendo...