Mein Ubuntu 13.10-System hat in den letzten Tagen eine sehr schlechte Leistung gezeigt. In den Kernel-Protokollen sieht es so aus, als ob die <1 Jahr alte 3-TB-SATA-Festplatte Probleme mit einem bestimmten Sektor hat:
Nov 4 20:54:04 mediaserver kernel: [10893.039180] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Nov 4 20:54:04 mediaserver kernel: [10893.039187] ata4.01: BMDMA stat 0x65
Nov 4 20:54:04 mediaserver kernel: [10893.039193] ata4.01: failed command: READ DMA EXT
Nov 4 20:54:04 mediaserver kernel: [10893.039202] ata4.01: cmd 25/00:08:f8:3f:83/00:00:af:00:00/f0 tag 0 dma 4096 in
Nov 4 20:54:04 mediaserver kernel: [10893.039202] res 51/40:00:f8:3f:83/40:00:af:00:00/10 Emask 0x9 (media error)
Nov 4 20:54:04 mediaserver kernel: [10893.039207] ata4.01: status: { DRDY ERR }
Nov 4 20:54:04 mediaserver kernel: [10893.039211] ata4.01: error: { UNC }
Nov 4 20:54:04 mediaserver kernel: [10893.148527] ata4.00: configured for UDMA/133
Nov 4 20:54:04 mediaserver kernel: [10893.180322] ata4.01: configured for UDMA/133
Nov 4 20:54:04 mediaserver kernel: [10893.180345] sd 3:0:1:0: [sdc] Unhandled sense code
Nov 4 20:54:04 mediaserver kernel: [10893.180349] sd 3:0:1:0: [sdc]
Nov 4 20:54:04 mediaserver kernel: [10893.180353] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 4 20:54:04 mediaserver kernel: [10893.180356] sd 3:0:1:0: [sdc]
Nov 4 20:54:04 mediaserver kernel: [10893.180359] Sense Key : Medium Error [current] [descriptor]
Nov 4 20:54:04 mediaserver kernel: [10893.180371] Descriptor sense data with sense descriptors (in hex):
Nov 4 20:54:04 mediaserver kernel: [10893.180373] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
Nov 4 20:54:04 mediaserver kernel: [10893.180384] af 83 3f f8
Nov 4 20:54:04 mediaserver kernel: [10893.180389] sd 3:0:1:0: [sdc]
Nov 4 20:54:04 mediaserver kernel: [10893.180393] Add. Sense: Unrecovered read error - auto reallocate failed
Nov 4 20:54:04 mediaserver kernel: [10893.180396] sd 3:0:1:0: [sdc] CDB:
Nov 4 20:54:04 mediaserver kernel: [10893.180398] Read(16): 88 00 00 00 00 00 af 83 3f f8 00 00 00 08 00 00
Nov 4 20:54:04 mediaserver kernel: [10893.180412] end_request: I/O error, dev sdc, sector 2944614392
Nov 4 20:54:04 mediaserver kernel: [10893.180431] ata4: EH complete
Die kern.log
Datei ist ungefähr 33MB groß, meistens voll mit dem oben genannten Fehler, und der Sektor scheint in den wiederholten Nachrichten nicht anders zu sein.
Ich führe zurzeit den folgenden Befehl auf der jetzt nicht bereitgestellten Festplatte aus, um zu testen und zu versuchen, etwaige Probleme auf der Festplatte zu beheben. Ich bin ungefähr 12 Stunden in und erwarte, dass es weitere 24/48 Stunden dauern wird, da die Festplatte so groß ist:
e2fsck -c -c -p -v /dev/sdc1
Meine Frage lautet: Fällt dieses Laufwerk aus, oder sehe ich hier ein häufiges Problem? Ich frage mich, ob es sinnvoll ist, fehlerhafte Sektoren zu reparieren oder zu ignorieren und ob ich die Festplatte im Rahmen der Garantie ersetzen soll, solange sie noch abgedeckt ist. Mein Wissen über den obigen Befehl ist etwas mangelhaft, daher bin ich skeptisch, ob er helfen wird oder nicht.
Schnelles Update!
e2fsck endete nach 2 Tagen mit vielen mehrfach beanspruchten Blöcken in Inode. Beim Versuch, das Dateisystem bereitzustellen, ist ein Fehler aufgetreten, der dazu geführt hat, dass das Dateisystem wieder schreibgeschützt ist:
Nov 11 08:29:05 mediaserver kernel: [211822.287758] EXT4-fs (sdc1): warning: mounting fs with errors, running e2fsck is recommended
Nov 11 08:29:05 mediaserver kernel: [211822.301699] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: errors=remount-ro
Versuchen Sie den Sektor manuell zu lesen:
sudo dd count=1 if=/dev/sdc of=/dev/null skip=2944614392
dd: reading ‘/dev/sdc’: Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 5.73077 s, 0.0 kB/s
Ich versuche, ihm zu schreiben:
sudo dd count=1 if=/dev/zero of=/dev/sdc seek=2944614392
dd: writing to ‘/dev/sdc’: Input/output error
1+0 records in
0+0 records out
0 bytes (0 B) copied, 2.87869 s, 0.0 kB/s
In beiden Punkten Reallocated_Sector_Ct
blieb der 0.
Das Laufwerk geht ziemlich oft in den Ruhezustand. Ich denke jetzt, dass dies ein Dateisystemproblem sein könnte? Ich bin nicht 100%.
Antworten:
Fehlerhafte Sektoren sind immer ein Hinweis auf eine fehlerhafte Festplatte. In der Tat haben Sie in dem Moment, in dem Sie einen E / A-Fehler wie diesen sehen, wahrscheinlich bereits einige Daten verloren oder beschädigt. Erstellen Sie ein Backup, falls noch keines vorhanden ist, führen Sie einen Selbsttest durch
smartctl -t long /dev/disk
und überprüfen Sie die SMART-Datensmartctl -a /dev/disk
. Holen Sie sich einen Ersatz, wenn Sie können.Fehlerhafte Sektoren können nicht repariert, sondern nur durch Reservesektoren ersetzt werden, was die Festplattenleistung beeinträchtigt, da bei jedem Zugriff zusätzliche Suchvorgänge für die Reservesektoren erforderlich sind. Das Markieren solcher Sektoren als fehlerhaft auf der Dateisystemebene hilft, da dann niemals auf sie zugegriffen werden kann. Es ist jedoch schwierig zu bestimmen, welche Sektoren bereits von der Festplatte neu zugeordnet wurden, sodass das Dateisystem möglicherweise nicht weiß, welche Region betroffen ist.
quelle
Get a replacement if you can.
? Meinen Sie, ersetzen Sie die Festplatte?Damit das Laufwerk die Sektoren neu zuordnet, müssen Sie normalerweise etwas in sie schreiben. Allerdings
dd
( D isk D estroyer) funktioniert nicht immer, und ist sehr unsicher: wenn Sie die verwirrenskip
undseek
Optionen, Sie leicht selbst in den Fuß von schießen kannskip
ping dieN
ersten Blöcke/dev/zero
von dem „Offset“ und das Schreiben eines Blocks über die Sektor 0 Ihrer Festplatte .Wenn Sie wirklich wissen, dass der Sektor mit Nullen überschrieben werden soll, sollten Sie Folgendes verwenden
hdparm
:Ja, der Sektor 833192656 hat auch bei Smart-Tests versagt. Verwenden Sie zum Schreiben von Nullen
--write-sector
:hdparm
Schreiben Sie aus Sicherheitsgründen nichts, es sei denn, Sie übergeben den--yes-i-know-what-i-am-doing
Schalter anhdparm
:quelle
Nein, fehlerhafte Sektoren sind nicht immer ein Hinweis auf ein fehlerhaftes Laufwerk. Wenn zum Zeitpunkt eines Stromausfalls ein Schreibvorgang ausgeführt wird, sind die Daten im Sektor manchmal beschädigt, was zu einem Fehler führt, wenn Sie versuchen, sie zu lesen. Der Versuch, neue Daten in den Sektor zu schreiben, funktioniert möglicherweise einwandfrei, da physikalisch nichts daran falsch ist.
badblocks -n
Auf dem Laufwerk können Sie jeden Sektor lesen und neu schreiben. In Ihrem Fall können Siedd
auch Nullen schreiben, da Sie die Nummer des betreffenden Sektors bereits kennen . Sie können die SMART-Statistiken mit überprüfensmartctl -a
. Sie sollten sehen, dass die ausstehende neu zugewiesene Anzahl angibt, wie viele Sektoren nicht gelesen werden konnten. Nach dem Versuch, den Sektor zu schreiben, sinkt diese Anzahl. Die neu zugewiesene Anzahl von Sektoren steigt möglicherweise an. In diesem Fall war sie physisch fehlerhaft und wurde dem Ersatzpool erneut zugeordnet. Dies kann ein Zeichen dafür sein, dass das Laufwerk auf dem Weg nach draußen ist. Wenn nicht, dann war es nur durcheinander und sollte jetzt in Ordnung sein.Versuchen Sie zuerst, den Sektor zu lesen:
Wenn das fehlschlägt, dann haben Sie die richtige Nummer, dann können Sie es mit nullen:
Stellen Sie sicher, dass Sie den Befehl genau eingegeben haben, bevor Sie die Eingabetaste drücken.
quelle
smartctl -a
Ihrer Frage die vollständige Ausgabe hinzu.