Fiabilitat d’un disc dur amb S.M.A.R.T. a Linux

maig 25th, 2014 by Tempesta48
  • catalan
  • spanish

Ahir vaig fer una repassada a l’estat del disc dur del servidor. Ja que aquest no és un disc dur nou i ja té moltes hores d’ús, vaig fer servir SMART per veure la seva fiabilitat. Això està fet sobre una plataforma CentOS 6.5. Primer farem un test curt per veure si hi ha alguna errada sense haver de fer un test llarg, que pot trigar hores.

En aquest exemple suposem que el disc dur és SATA i es troba a /dev/sda.

# smartctl -t short /dev/sda

Aquesta comanda ens respondrà amb el temps aproximat per a la finalització del test. Per veure les dades resumides del resultat executarem la següent comanda:

# smartctl -l selftest /dev/sda

Obtindrem un resultat similar a aquest:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 1721 -

En aquest cas, veiem que l’Status és “Completed”. També ho veiem a “Remaining 00%”. Si obtenim aquest resultat, tot està bé. Per contra, si obtenim un resultat com el següent, tenim un, o més problemes:

=== START OF READ SMART DATA SECTION ===
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 20% 1596 44724966

Aquest missatge ens indica que el test ha finalitzat “Status Completed” però amb errors “Remaining 20%”. Ens està indicant que el l’adreçament de blocs lògics (LBA) està fallant a l’adreça 44724966.

Prenem doncs aquest valor (44724966) i el multipliquem per (512/4096). És a dir, el dividim per 8.

44724966 / 8 = 5590620.75

Arrodonim aquest valor a 5590620 i executem la següent comanda per omplir aquest sector de zeros.

# dd if=/dev/zero of=/dev/sda conv=sync bs=4096 count=1 seek=5590620
1+0 records in
1+0 records out
# sync

Un cop fet això, tornarem a executar el test curt i si torna a sortir un altre error, el corregirem repetint el procés. Si aquest sector es troba al mig d’un fitxer però, aquest procés el corromprà.

Si el test curt no ens retorna cap error, procedirem a realitzar un test llarg per a major seguretat executant la següent comanda:

# smartctl -t long /dev/sda

Agraeixo la informació publicada aquí: http://www.linuxquestions.org/questions/linux-newbie-8/smartctl-read-failure%3B-is-my-hd-failing-920243/#post4675817


0 Responses to this post

  1. No Comments

Leave a Response