Que signifient ces erreurs de disque dans syslog?

13

Je viens de redémarrer mon serveur de surveillance pour la première fois depuis un certain temps, et les éléments suivants ont commencé à remplir l'écran:

Jul 11 23:52:30 monit kernel: [   25.255908] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Jul 11 23:52:30 monit kernel: [   25.256170] ata1.00: BMDMA stat 0x24
Jul 11 23:52:30 monit kernel: [   25.256278] ata1.00: failed command: READ DMA
Jul 11 23:52:30 monit kernel: [   25.256410] ata1.00: cmd c8/00:c0:20:68:35/00:00:00:00:00/e0 tag 0 dma 98304 in
Jul 11 23:52:30 monit kernel: [   25.256416]          res 51/40:9f:41:68:35/00:00:00:00:00/e0 Emask 0x9 (media error)
Jul 11 23:52:30 monit kernel: [   25.256809] ata1.00: status: { DRDY ERR }
Jul 11 23:52:30 monit kernel: [   25.256933] ata1.00: error: { UNC }
Jul 11 23:52:30 monit kernel: [   25.304388] ata1.00: configured for UDMA/66
Jul 11 23:52:30 monit kernel: [   25.304430] ata1: EH complete

. . . 

Jul 11 23:52:30 monit kernel: [   25.552451] sd 0:0:0:0: [sda] Unhandled sense code
Jul 11 23:52:30 monit kernel: [   25.552462] sd 0:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jul 11 23:52:30 monit kernel: [   25.552475] sd 0:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Jul 11 23:52:30 monit kernel: [   25.552490] Descriptor sense data with sense descriptors (in hex):
Jul 11 23:52:30 monit kernel: [   25.552498]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
Jul 11 23:52:30 monit kernel: [   25.552529]         00 35 68 41 
Jul 11 23:52:30 monit kernel: [   25.552543] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
Jul 11 23:52:30 monit kernel: [   25.552559] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 35 68 20 00 00 c0 00
Jul 11 23:52:30 monit kernel: [   25.552587] end_request: I/O error, dev sda, sector 3500097
Jul 11 23:52:30 monit kernel: [   25.556607] ata1: EH complete

Je sais déjà que je dois remplacer le disque dur (coût des données> coût du disque dur), mais je veux savoir par moi-même ce qui ne va pas.

Oui, notre serveur de surveillance n'a pas de RAID, juste un disque dur ... Ne me regardez pas ...

Soviero
la source
3
"Oui, notre serveur de surveillance n'a pas de RAID, juste un disque dur ... Ne me regardez pas ..." - ne cherchez pas trop, si vous avez de bonnes sauvegardes.
Janne Pikkarainen
2
J'espère que vous avez de bonnes sauvegardes. Vous en aurez probablement besoin. Si le serveur de surveillance est si important, le coût de remplacement du disque dur par au moins un RAID 1 devrait être facilement justifiable.
Michael Hampton
1
Même si vous n'avez pas de RAID, vous devez surveiller les données SMART pour tous vos disques.
James Youngman

Réponses:

16
sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed

Il semble que le lecteur ait des secteurs défectueux et ne puisse pas les réaffecter (peut-être parce qu'il est à court de secteurs de rechange). La sortie de smartctl -a /dev/sdavous donnera plus d'informations sur l'état du lecteur.

mgorven
la source
J'ai également vu cette erreur se produire lors d'une lecture simple (par exemple, en essayant cple fichier). Dans ce cas, les dommages au fichier sur le secteur qui a mal tourné étaient suffisamment graves pour qu'il ne puisse même pas reconstruire les données, de sorte que l'échec de "réallocation" s'est réellement produit avant qu'il ne puisse même essayer de stocker les données ailleurs.
Randall
12

Lassie dit "arf! Arf arf! Arf!". Ce qui est stupide, car cela n'a rien à voir avec Timmy ou des puits. C'est pourquoi vous ne suivez pas les conseils d'administration des chiens.

Le lecteur vous donne une "erreur de lecture non récupérée - échec de la réaffectation automatique", ce qui signifie essentiellement "j'ai essayé de lire, j'ai échoué, j'ai essayé de récupérer (lire le secteur plusieurs fois de plus, appliquer un ECC et déplacer les données vers un secteur qui n'est pas cassé), et ça n'a pas marché ". Cela signifie probablement (comme le dit mgorven) que le disque est déjà plein de secteurs réaffectés, car le disque est en train de mourir depuis un certain temps, mais je pense également que cela peut signifier qu'il n'a pas été en mesure de récupérer le secteur du tout (lectures répétées + ECC n'a pas réussi à obtenir un bloc de données beau).

De toute façon, oui, le lecteur est très, très cactus. Vos données ne semblent pas vraiment saines non plus.

womble
la source
1
À droite - les données SMART peuvent également vous dire combien de secteurs ont déjà été réaffectés.
James Youngman
3

Je sais que c'est vieux, mais juste au cas où quelqu'un lirait encore ce post: "DD essaiera également de lire les secteurs cassés" - gddrescue est utile ici. Ce n'est pas le cas (d'accord, mais une seule fois).

Wolfgang Noichl
la source
1

Faites une image dd ou une copie rsync de ce disque maintenant ++, sauf si vous avez une sauvegarde complète permettant une restauration pratique de cette boîte. Et commencez à chercher un disque de remplacement compatible et fonctionnel.

BTW, UDMA / 66, est-ce un disque PATA de dix ans?

rackandboneman
la source
2
DD tentera également de lire le ou les secteurs cassés.
Hennes
3
Habituellement pas au meilleur effet ... il existe une version avancée appelée ddrescue avec un meilleur contrôle sur le comportement d'erreur.
rackandboneman
Il y en a toujours conv=noerror, mais je ne sais pas dans quelle mesure cela fonctionne sur ce qui deviendra alors un système de fichiers cassé. Probablement pas pire que de lire les données fichier par fichier, mais certainement pas mieux ...
un CVn le
0

Comme déjà mentionné, cela signifie probablement que votre lecteur approche de sa fin de vie, mais pas nécessairement immédiatement - vous devez exécuter un fscksur le disque et essayer de réparer les erreurs (voir wiki smartmontools pour obtenir des conseils sur la réparation des mauvais blocs) et le disque peut être correct pour un Pendant plus longtemps.

Mais vous devez commencer à exécuter smartd(qui fait partie du smartmontoolspackage) et garder un œil sur ses rapports et / ou configurer des notifications par e-mail. Vous pouvez également ajouter vos propres notifications en créant des scripts (in /etc/smartmontools/run.d/) qui sont appelés par le smartd-runner.

Pierz
la source