Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
25 mars 2012 7 25 /03 /mars /2012 11:25

Un check du disque indique une erreur physique :

 root@freenas:~# smartctl -l selftest /dev/sdc
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== 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: read failure 90% 2675 821561257

On relance le test pour avoir une information recente :

 

 root@freenas:/var/lib/ntp# smartctl -t short /dev/sdc
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Sun Mar 25 11:49:00 2012

Use smartctl -X to abort test

 

Quelques minutes après

 

 root@freenas:/var/lib/ntp# smartctl -l selftest /dev/sdc
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== 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: read failure 90% 2677 821561257
# 2 Short offline Completed: read failure 90% 2675 821561257

 

 

On verifie si les espace on déjà été réalloués :ici ce n'est pas le cas, les valeurs son à 0

 

 root@freenas:~# smartctl -A /dev/sdc |grep Reallocated 
 ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 
 
5 Reallocated_Sector_Ct 0x0033 252 252 010 Pre-fail Always - 0
196 Reallocated_Event_Count 0x0032 252 252 000 Old_age Always - 0

On Verifie sur quelle partition : ici /dev/sdc5

 root@freenas:~# fdisk -lu /dev/sdc

Disque /dev/sdc: 1000.2 Go, 1000204886016 octets
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000c9c9b

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdc1 2048 4196351 2097152 82 Linux swap / Solaris
La partition 1 ne se termine pas sur une frontière de cylindre.
/dev/sdc2 30371840 1953523711 961575936 5 Étendue
/dev/sdc3 * 4196352 30371839 13087744 83 Linux
/dev/sdc5 30373888 1953523711 961574912 83 Linux

 

On verifie le type de formatage

 

root@freenas:~# blkid | grep /dev/sdc5
/dev/sdc5: UUID="d970d235-6438-43d9-b6dc-8904c67ca05e" TYPE="reiserfs"

 

On demonte la paritition et on effectue un check "rapide" en lecture

 

 root@freenas:~# umount /dev/sdc5
root@freWill read-only check consistency of the filesystem on /dev/sdc5
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
enas:~# reiserfsck /dev/sdc5
 ###########
reiserfsck --check started at Sun Mar 25 11:03:39 2012
###########
Replaying journal: Done.
Reiserfs journal '/dev/sdc5' in blocks [18..8211]: 0 transactions replayed
Checking internal tree.. finished
Comparing bitmaps..finished
Checking Semantic tree:
finished
No corruptions found
There are on the filesystem:
Leaves 164119
Internal nodes 987
Directories 190
Other files 1810
Data block pointers 165948281 (70011999 of them are zero)
Safe links 0
###########
reiserfsck finished at Sun Mar 25 11:20:05 2012
###########

 

Reparation

source : http://smartmontools.sourceforge.net/badblockhowto.html

[Step 1] On recupere la taille des secteurs

 root@freenas:~# debugreiserfs /dev/sdc5 | grep '^Blocksize'
debugreiserfs 3.6.21 (2009 www.namesys.com)
Blocksize: 4096

[Step 2] On calcul le nombre de secteurs

Le debut de la partition : 30373888

Le secteur en erreur : 821561257

Taille des block : 4096

 # echo "(821561257-30373888)*512/4096" | bc -l
98898421.12500000000000000000

On Verifie que cette valeur est plus petite que le nombre de block de la partition (98 898 421<=240 393 728)

 
root@freenas:~# debugreiserfs /dev/sdc5 | grep "Count of blocks on the device"
debugreiserfs 3.6.21 (2009 www.namesys.com)

Count of blocks on the device: 240393728

[Step 3] On cherche des infos sur ce block

root@freenas:~# debugreiserfs -l 98898421 /dev/sdc5
debugreiserfs 3.6.21 (2009 www.namesys.com)

Filesystem state: consistent

 

Ici il semble qe le block ne soit pas alloué.

 

Alors on fait une recherche autour en mode non destructif :

 

 root@freenas:~# badblocks -b 4096 -p 3 -s -v -n /dev/sdc5 `expr 98898421 + 100` `expr 98898421 - 100`
Vérification des blocs défectueux dans un mode non destructif de lecture-écriture
Du bloc 98898321 au bloc 98898521

[Step 4-A] Reallocation

 On trouve aucun secteur defectuex, alors on force la ré-alloction : 
root@freenas:/var/lib/ntp# dd if=/dev/zero of=/dev/sdc5 count=1 bs=4096 seek=98898421
1+0 enregistrements lus
1+0 enregistrements écrits
4096 octets (4,1 kB) copiés, 0,000565237 s, 7,2 MB/s


[Step 4-A] Error

 root@freenas:~# badblocks -b 4096 -p 3 -s -v -n /dev/sdc5 $((98982613+10)) $((98982613-10))
Vérification des blocs défectueux dans un mode non destructif de lecture-
écriture
Du bloc 98982603 au bloc 98982623
Vérification des blocs défectueux (test non destructif de lecture-écriture)
Test en cours avec un motif aléato989826130% effectué, 0:19 écouléulé
complété
Passe complétée, 1 blocs défectueux repérés.

debugreiserfs -1 98982613 /dev/sdc5
debugreiserfs 3.6.21 (2009 www.namesys.com)

98982613 is used in ondisk bitmap

bread: Cannot read the block (98982613): (Input/output error).

Abandon



Partager cet article

Repost 0
Published by nitocris - dans Linux
commenter cet article

commentaires