OVH Cloud OVH Cloud

raid soft erreur

27 réponses
Avatar
Christophe PEREZ
Bonjour,

Ce qui devait arriver semble être arrivé, mon raid soft m'indique un
problème.
(je ne sais pas si c'est normal, mais j'ai reçu un mail pour chaque
partition du raid 1)
# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdb1[2](F) sda1[0]
24000 blocks [2/1] [U_]
bitmap: 0/3 pages [0KB], 4KB chunk

md2 : active raid1 sdb2[2](F) sda2[0]
20000832 blocks [2/1] [U_]
bitmap: 6/153 pages [24KB], 64KB chunk

md3 : active raid1 sdb3[2](F) sda3[0]
2000000 blocks [2/1] [U_]
bitmap: 0/123 pages [0KB], 8KB chunk

md5 : active raid1 sdb5[2](F) sda5[0]
2995968 blocks [2/1] [U_]
bitmap: 7/183 pages [28KB], 8KB chunk

md6 : active raid1 sdb6[2](F) sda6[0]
30001280 blocks [2/1] [U_]
bitmap: 54/229 pages [216KB], 64KB chunk

md7 : active raid1 sdb7[2](F) sda7[0]
60002624 blocks [2/1] [U_]
bitmap: 36/229 pages [144KB], 128KB chunk

md8 : active raid1 sdb8[2](F) sda8[0]
861734528 blocks [2/1] [U_]
bitmap: 1/206 pages [4KB], 2048KB chunk

unused devices: <none>

Toutes les partitions ont un problème ?!?

# smartctl -a /dev/sdb
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-openvz-feoktistov.1]
(local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

Short INQUIRY response, skip product id
A mandatory SMART command failed: exiting. To continue, add one or more '-
T permissive' options.

# smartctl -a -T permissive /dev/sdb
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-openvz-feoktistov.1]
(local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

Short INQUIRY response, skip product id
SMART Health Status: OK
Read defect list: asked for grown list but didn't get it

Error Counter logging not supported
scsiModePageOffset: response length too short, resp_len=47 offset=50
bd_len=46
Device does not support Self Test logging

Par contre :
# smartctl -a /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-openvz-feoktistov.1]
(local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.12
Device Model: ST31000528AS
Serial Number: 9VP0G8JR
LU WWN Device Id: 5 000c50 014ef5ce3
Firmware Version: CC34
User Capacity: 1 000 204 886 016 bytes [1,00 TB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Mon Apr 1 18:57:59 2013 AST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine
completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 609) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off
support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 198) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

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 119 099 006 Pre-fail
Always - 234830234
3 Spin_Up_Time 0x0003 095 095 000 Pre-fail
Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age
Always - 184
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail
Always - 13
7 Seek_Error_Rate 0x000f 083 060 030 Pre-fail
Always - 233811271
9 Power_On_Hours 0x0032 089 089 000 Old_age
Always - 10345
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail
Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age
Always - 184
183 Runtime_Bad_Block 0x0000 100 100 000 Old_age
Offline - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age
Always - 0
187 Reported_Uncorrect 0x0032 099 099 000 Old_age
Always - 1
188 Command_Timeout 0x0032 100 092 000 Old_age
Always - 65931
189 High_Fly_Writes 0x003a 100 100 000 Old_age
Always - 0
190 Airflow_Temperature_Cel 0x0022 067 058 045 Old_age
Always - 33 (Min/Max 30/37)
194 Temperature_Celsius 0x0022 033 042 000 Old_age
Always - 33 (0 20 0 0 0)
195 Hardware_ECC_Recovered 0x001a 044 020 000 Old_age
Always - 234830234
197 Current_Pending_Sector 0x0012 100 100 000 Old_age
Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age
Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age
Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age
Offline - 178168128350801
241 Total_LBAs_Written 0x0000 100 253 000 Old_age
Offline - 894359103
242 Total_LBAs_Read 0x0000 100 253 000 Old_age
Offline - 2947947955

SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1 occurred at disk power-on lifetime: 6173 hours (257 days + 5
hours)
When the command that caused the error occurred, the device was doing
SMART Offline or Self-test.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 33 31 b6 0d Error: UNC at LBA = 0x0db63133 = 230043955

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 80 01 3f b6 4d 00 21d+11:26:20.618 READ FPDMA QUEUED
60 00 80 81 3e b6 4d 00 21d+11:26:20.617 READ FPDMA QUEUED
60 00 00 81 3d b6 4d 00 21d+11:26:20.600 READ FPDMA QUEUED
60 00 00 81 3c b6 4d 00 21d+11:26:20.599 READ FPDMA QUEUED
60 00 00 81 3b b6 4d 00 21d+11:26:20.597 READ FPDMA QUEUED

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%
8077 -
# 2 Short offline Completed without error 00%
8053 -
# 3 Short offline Completed without error 00%
8029 -
# 4 Short offline Completed without error 00%
8014 -
# 5 Short offline Completed without error 00%
8004 -
# 6 Short offline Completed without error 00%
7978 -
# 7 Short offline Completed without error 00%
7954 -
# 8 Short offline Completed without error 00%
7930 -
# 9 Short offline Completed without error 00%
7896 -
#10 Short offline Completed without error 00%
7872 -
#11 Short offline Completed without error 00%
7854 -
#12 Short offline Completed without error 00%
7830 -
#13 Short offline Completed without error 00%
7806 -
#14 Short offline Completed without error 00%
7782 -
#15 Short offline Completed without error 00%
7758 -
#16 Short offline Completed without error 00%
7738 -
#17 Short offline Completed without error 00%
7700 -
#18 Short offline Completed without error 00%
7676 -
#19 Short offline Completed without error 00%
7652 -
#20 Short offline Completed without error 00%
7628 -
#21 Short offline Completed without error 00%
7604 -

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute
delay.

Les 2 disques sont du même modèle.
C'est mon sdb qui est totalement mort comme ça subitement ?
Je n'ai jamais eu de remontée d'erreur de smart...
J'avoue que je n'y connais vraiment pas grand chose à tout ça, et qu'en
plus le hard n'est pas mon fort.

Si ça vous parle, tant mieux... et merci d'avance.

7 réponses

1 2 3
Avatar
Christophe PEREZ
Le Tue, 16 Apr 2013 20:31:21 +0200, Pascal Hambourg a écrit :

A mon avis, rien n'oblige à commencer la première partition au secteur
2048. En tout cas je n'en vois pas l'intérêt, sauf si tu dois loger un
chargeur d'amorçage dans l'intervalle.



Je dois évidemment insérer mon grub oui.

Sur le premier disque la première
partition commence au secteur 63, tu peux commencer au secteur 8 et avec
l'espace gagné tu devrais avoir de quoi aligner les autres partitions (8
partitions avec 3 secteurs d'alignement maximum chacune, soit 24
secteurs maximum en tout).



J'attends ta réaction au fait de devoir insérer grub parce que j'avoue
que je nage un peu sur le reste

Je dois me rouiller car je n'ai pas été capable de trouver un
spécification détaillée de ce disque avec les jumpers... J'ai bien
trouvé un jumper 7-8 pour régler l'Advanced Format, mais d'après la
documentation de WD que j'ai trouvée (non spécifique à ce disque) son
efficacité se limite à la situation où le disque ne contient qu'une
seule partition, et il faut repartitionner après. Je soupçonne que cela
décale d'une façon ou d'une autre les secteurs logiques de 1, ce qui
fait que le secteur logique 63 où débute la première partition devient
le secteur 64 qui est aligné sur une frontière de secteur physique de
4096 octets. Mais cela ne marche pas forcément pour les partitions
suivantes : dans ton partitionnement, la dernière partition logique est
alignée si on ajoute 1 à son offset, mais pas les autres.



Ouais, donc je me suis réjouis trop tôt...
Sinon, concernant ma question, pour en voir le résultat, il faudrait
refaire le partitionnement du disque ? C'est à dire écraser mon raid pour
le refaire ?
Avatar
Christophe PEREZ
Le Wed, 17 Apr 2013 10:46:56 +0200, Pascal Hambourg a écrit :

Dans ce cas, et si l'image core de grub est installée dans l'intervalle
entre le MBR et le début de la première partition (recommandé), la doc
de grub dit qu'il faut au moins 62 secteurs. Tu peux faire commencer la
première partition au secteur 64.



Jusque là, ça va ;)

J'observe dans la sortie de fdisk qu'il y a aussi un intervalle de 62
secteurs avant le début de chaque partition logique. Tu pourrais donc
diminuer légèrement ces intervalles pour aligner les partitions sans te
retrouver à court d'espace à la fin.



C'est à partir de là que je suis un peu paumé, et surtout, craintif.
Le fdisk ne me parle pas comme à toi.
C'est peut-être abusé, mais ça ne te serait pas possible de me fournir un
vrai pas-à-pas pour ce partitionnement ?
Et surtout, es-tu sur qu'il y a la place pour remplir les 2 conditions,
aligner les partitions, et reproduire les mêmes tailles que l'autre
disque ?
Si oui, je veux bien tenter le coup qui me sauverait la mise, si tu me
guides précisément.

D'après la doc de WD, oui. Mais si c'est bien ce que fait ce jumper (à
vérifier) alors il est inutile de suivre cette piste.



Ah, donc faut que je le vire... Mais au moins, c'est clair.
Avatar
Christophe PEREZ
Le Wed, 17 Apr 2013 17:48:17 +0200, Pascal Hambourg a écrit :

Et après alignement :
Périphérique Début aligné Fin Secteurs /dev/sdb1


64 48195 48132
/dev/sdb2 48200 40050049 40001850
/dev/sdb3 40050056 44050240 4000185
/dev/sdb4 44050241 1953519841 1909469601 /dev/sdb5


44050248 50042429
5992182
/dev/sdb6 50042432 110045143 60002712 /dev/sdb7


110045152 230050638
120005487 /dev/sdb8 230050640 1953519841 1723469202

Il reste même de la place !



wha, quel boulot !
Merci 1000 fois.
J'arrête le serveur un peu plus tard pour virer le cavalier, et je tente
de mettre tout ça en place. Je reviens lorsque j'ai du nouveau, soit le
résultat convainquant espéré, soit un blocage.
Merci encore.
Avatar
Christophe PEREZ
Le Wed, 17 Apr 2013 17:48:17 +0200, Pascal Hambourg a écrit :

Périphérique Début aligné Fin Secteurs /dev/sdb1


64 48195 48132
/dev/sdb2 48200 40050049 40001850 /dev/sdb3


40050056 44050240 4000185
/dev/sdb4 44050241 1953519841 1909469601 /dev/sdb5


44050248 50042429
5992182 /dev/sdb6 50042432 110045143 60002712 /dev/


sdb7 110045152
230050638 120005487 /dev/sdb8 230050640 1953519841


1723469202

Bon, ben, bien honteux, mais je ne m'en sors pas.
Je ne sais même pas quel outil utiliser.
A priori, pas cfdisk.
fdisk lui refuse le 64 et veut commencer à 2048.
Quant à sfdisk, je ne sais pas l'utiliser, et j'ai beau chercher, je ne
trouve pas le moyen de lui faire produire ce partitionnement.
Je vais continuer à chercher de mon côté.
Avatar
Christophe PEREZ
Le Thu, 18 Apr 2013 06:00:32 +0000, Christophe PEREZ a écrit :

Je vais continuer à chercher de mon côté.



Bon, avec sfdisk, je parviens à quelque chose (j'avais du mal
à comprendre les options, sans doute le stress n'aidant pas) sur
lequel fdisk ne gueule pas, mais sfdisk lui se plaint :

# sfdisk -uS /dev/sdb << EOF
64,48132,fd
48200,40001850,fd
40050056,4000185,fd
44050241,1909469601,E
44050248,5992182,fd
50042432,60002712,fd
110045152,120005487,fd
230050640,1723469202,fd
EOF


Vérification qu'aucun autre n'utilise le disque en ce moment
OK

Disque /dev/sdb : 121601 cylindres, 255 têtes, 63 secteurs/piste
Précédente situation :
sfdisk: Avertissement : la table de partitions semble avoir été créée
pour C/H/S=*/1/1 (au lieu de 121601/255/63).
Pour ce rapport, cette géométrie sera supposée telle.

Unités : secteurs de 512 octets, décompte à partir de 0

Périph Amorce Début Fin #secteurs Id Système
/dev/sdb1 64 48195 48132 fd RAID Linux autodétecté
sfdisk: début : (c,h,s) attendu (64,0,1) trouvé (0,1,2)

sfdisk: fin : (c,h,s) attendu (1023,0,1) trouvé (3,0,1)

/dev/sdb2 0 - 0 0 Vide
/dev/sdb3 0 - 0 0 Vide
/dev/sdb4 0 - 0 0 Vide
Nouvelle situation :
Unités : secteurs de 512 octets, décompte à partir de 0

Périph Amorce Début Fin #secteurs Id Système
/dev/sdb1 64 48195 48132 fd RAID Linux autodétecté
/dev/sdb2 48200 40050049 40001850 fd RAID Linux autodétecté
/dev/sdb3 40050056 44050240 4000185 fd RAID Linux autodétecté
/dev/sdb4 44050241 1953519841 1909469601 5 Étendue
/dev/sdb5 44050248 50042429 5992182 fd RAID Linux autodétecté
/dev/sdb6 50042432 110045143 60002712 fd RAID Linux autodétecté
/dev/sdb7 110045152 230050638 120005487 fd RAID Linux autodétecté
/dev/sdb8 230050640 1953519841 1723469202 fd RAID Linux autodétecté
Avertissement : la partition 1 ne se termine pas sur une frontière de cylindre
Avertissement : la partition 2 ne commence pas sur une frontière de cylindre
Avertissement : la partition 2 ne se termine pas sur une frontière de cylindre
Avertissement : la partition 3 ne commence pas sur une frontière de cylindre
Avertissement : la partition 3 ne se termine pas sur une frontière de cylindre
Avertissement : la partition 4 ne commence pas sur une frontière de cylindre
Avertissement : la partition 4 ne se termine pas sur une frontière de cylindre
Avertissement : la partition 5 ne se termine pas sur une frontière de cylindre
Avertissement : la partition [6] ne commence pas sur une frontière de cylindre
Avertissement : la partition [6] ne se termine pas sur une frontière de cylindre
Avertissement : la partition 6 ne se termine pas sur une frontière de cylindre
Avertissement : la partition [7] ne commence pas sur une frontière de cylindre
Avertissement : la partition [7] ne se termine pas sur une frontière de cylindre
Avertissement : la partition 7 ne se termine pas sur une frontière de cylindre
Avertissement : la partition [8] ne commence pas sur une frontière de cylindre
Avertissement : la partition [8] ne se termine pas sur une frontière de cylindre
Avertissement : la partition 8 ne se termine pas sur une frontière de cylindre
Avertissement : aucune partition primaire marquée amorçable (active)
Peu important pour LILO, mais DOS MBR n'amorcera pas ce disque.
Écriture de la nouvelle table de partitions réussie

Relecture de la table de partitions...

Si vous créez ou modifiez une partition DOS, /dev/foo7 par exemple,
alors utilisez dd(1) pour mettre à zéro les 512 premiers octets :
dd if=/dev/zero of=/dev/foo7 bsQ2 count=1
(consultez fdisk(8)).


Par contre, fdisk lui ne dit plus rien, et tout semble bien correspondre, à part la taille de la partition étendue mais on s'en fout probablement :
fdisk -l /dev/sdb

Disque /dev/sdb : 1000.2 Go, 1000204886016 octets, 1953525168 secteurs
Unités = secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Identifiant de disque : 0x00000000

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 64 48195 24066 fd RAID Linux autodétecté
/dev/sdb2 48200 40050049 20000925 fd RAID Linux autodétecté
/dev/sdb3 40050056 44050240 2000092+ fd RAID Linux autodétecté
/dev/sdb4 44050241 1953519841 954734800+ 5 Étendue
La partition 4 ne commence pas sur une frontière de cylindre physique.
/dev/sdb5 44050248 50042429 2996091 fd RAID Linux autodétecté
/dev/sdb6 50042432 110045143 30001356 fd RAID Linux autodétecté
/dev/sdb7 110045152 230050638 60002743+ fd RAID Linux autodétecté
/dev/sdb8 230050640 1953519841 861734601 fd RAID Linux autodétecté

Pour mémoire :
fdisk -l /dev/sda

Disque /dev/sda : 1000.2 Go, 1000204886016 octets, 1953525168 secteurs
Unités = secteur 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 : 0x00000000

Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 63 48194 24066 fd RAID Linux autodétecté
/dev/sda2 48195 40050044 20000925 fd RAID Linux autodétecté
/dev/sda3 40050045 44050229 2000092+ fd RAID Linux autodétecté
/dev/sda4 44050230 1953520064 954734917+ 5 Étendue
/dev/sda5 44050293 50042474 2996091 fd RAID Linux autodétecté
/dev/sda6 50042538 110045249 30001356 fd RAID Linux autodétecté
/dev/sda7 110045313 230050799 60002743+ fd RAID Linux autodétecté
/dev/sda8 230050863 1953520064 861734601 fd RAID Linux autodétecté

Je remonte mon raid, ça ne mange pas de pain, et je verrai bien ce que tu en dis...
Pour l'instant, sur la reconstruction, je ne note pas de différence de vitesse particulière.
Avatar
Christophe PEREZ
Le Thu, 18 Apr 2013 09:43:42 +0200, Pascal Hambourg a écrit :

Pas grand-chose à dire. Les positions de début des partitions RAID sont
alignées et les tailles correspondent, donc md devrait être content lors
de leur intégration dans les ensembles RAID.



Alors on va dire que la discussion est close (je croise les doigts).
Je te remercie encore vivement pour ton aide, toutes explications, et ta
disponibilité.
Je suis loin d'avoir tout compris, mais j'ai découvert des choses, et
surtout, résolu un problème bien épineux pour moi.

Si la reconstruction se fait par gros blocs de secteurs consécutifs, on
peut supposer que la vitesse d'écriture ne devait pas être trop impactée
même si les partitions ne sont pas alignées, l'écriture partielle
n'étant nécessaire qu'au début et à la fin de chaque bloc.



Alors wait & see...
Avatar
Christophe PEREZ
Le Thu, 18 Apr 2013 20:00:58 +0200, Pascal Hambourg a écrit :

Et je n'ai même pas eu l'idée de vérifier si c'était vrai...
Je n'ai même pas remarqué que la dernière partition n'arrivait pas à la
fin du disque et qu'il restait un peu plus de 5000 secteurs libres,
largement suffisants pour les 2048 réclamés par fdisk et l'alignement
des partitions. En fait il n'y avait nul besoin de comprimer les espaces
libres...



Ben oui, mais en fait, avec le recul, je me rends compte que j'avais eu à
peu près la bonne démarche initialement, mais je n'ai pas utilisé le bon
outil, ou alors je ne sais pas utiliser correctement fdisk (ce qui est
une certitude).
M'enfin bon... tout est bien qui finit bien, et ça me suffira ;)
1 2 3