Discussion:
HDD-Fehler aufspüren
Add Reply
Alexander Goetzenstein
2024-11-18 16:58:09 UTC
Antworten
Permalink
Hallo,
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
möchte die Platte intensiv auf mögliche Fehler prüfen, also so richtig
gründlich, Bit für Bit. Wie gehe ich dafür -vorzugsweise unter Linux- am
besten vor?

Die Dauer ist dabei weniger wichtig, das darf gern über Nacht laufen.
--
Gruß
Alex
Ralph Aichinger
2024-11-18 17:05:50 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Was heißt das, wie wirkt sich das aus, was hast du erwartet dass
passiert, was ist tatsächlich passiert?

Was hat dmesg zu diesen Zeitpunkten geschrieben?
Post by Alexander Goetzenstein
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
möchte die Platte intensiv auf mögliche Fehler prüfen, also so richtig
gründlich, Bit für Bit. Wie gehe ich dafür -vorzugsweise unter Linux- am
besten vor?
Ist das eine rotierende Fesptlatte oder eine SSD?

Ich würde mal einen SMART-Test vorschlagen.

Ist ausgeschlossen, dass Kabelprobleme, Wackelkontakte etc. eine Rolle
spielen?

/ralph
Bernd Mayer
2024-11-18 18:08:15 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
möchte die Platte intensiv auf mögliche Fehler prüfen, also so richtig
gründlich, Bit für Bit. Wie gehe ich dafür -vorzugsweise unter Linux- am
besten vor?
Die Dauer ist dabei weniger wichtig, das darf gern über Nacht laufen.
Hallo,

mit badblocks kann man eine HDD zum Test vollständig, Bit für Bit,
Testen durch Schreiben und Auslesen.

Mit den richtigen Parametern geht das auch mit Erhalt der Daten.

Es ist empfehlenswert zuvor die manpage zu lesen.
https://linux.die.net/man/8/badblocks
https://www.geeksforgeeks.org/badblocks-command-in-linux-with-examples/

Die Zeitdauer kann man abschätzen über die Ausgabe von hdparm -I
/dev/wie_auch_immer über die Zeitangabe am Ende in der Art

"380min for SECURITY ERASE UNIT"


Bernd Mayer
Alexander Goetzenstein
2024-11-19 07:22:35 UTC
Antworten
Permalink
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Post by Alexander Goetzenstein
Hallo,
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
möchte die Platte intensiv auf mögliche Fehler prüfen, also so richtig
gründlich, Bit für Bit. Wie gehe ich dafür -vorzugsweise unter Linux- am
besten vor?
Die Dauer ist dabei weniger wichtig, das darf gern über Nacht laufen.
Hallo,
mit badblocks kann man eine HDD zum Test vollständig, Bit für Bit,
Testen durch Schreiben und Auslesen.
Mit den richtigen Parametern geht das auch mit Erhalt der Daten.
Es ist empfehlenswert zuvor die manpage zu lesen.
https://linux.die.net/man/8/badblocks
https://www.geeksforgeeks.org/badblocks-command-in-linux-with-examples/
Die Zeitdauer kann man abschätzen über die Ausgabe von hdparm -I
/dev/wie_auch_immer über die Zeitangabe am Ende in der Art
"380min for SECURITY ERASE UNIT"
Bernd Mayer
--
Gruß
Alex
Bernd Mayer
2024-11-19 07:57:24 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Hallo,

möglicherweise ist Deine Festplatte fehlerhaft partitioniert.
Das würde ich zunächst mit einem fdisk-Programm kontrollieren.

Bei der Anwendung von badblocks hatte ich auch die Option -v genutzt.

Falls da keine wichtigen Daten drauf sind, dann könnte man versuchen die
Festplatte neu einzurichten.

Aus dem end block kann man ja die Grösse der Festplatte bestimmen.
Liegt der möglicherweise außerhalb eines vernünftigen Wertes?

Übliche Blockgrößen sind 512 und 4k.


Bernd Mayer
Bernd Mayer
2024-11-19 08:25:24 UTC
Antworten
Permalink
Am 19.11.24 um 08:22 schrieb Alexander Goetzenstein:
[badblocks Fehleremldung]
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Hallo

was für eine Festplatte ist das?
Was für ein Dateisystem ist auf der Festplatte?
Wurde die auf einem 32-Bit-System eingerichtet und was für ein System
wird zum Test mit badblocks genutzt?

Liegt der end block möglicherweise außerhalb vernünftiger Werte?

Ich würde zunächst die Partitionierung kontrollieren mit einem
fdisk-Programm.

Falls da keine wichtigen Daten drauf sind, dann könnte man die
Festplatte auch neu einrichten.

Bei mk2fs kann man auch die Option -c verwenden zum Überprüfen auf bad
blocks.

Bei badblocks hatte ich auch die -v Option genutzt, die blocksize kann
man auch vorgeben.


Bernd Mayer
Alexander Goetzenstein
2024-11-19 16:09:57 UTC
Antworten
Permalink
Hallo,
Post by Bernd Mayer
[badblocks Fehleremldung]
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Hallo
was für eine Festplatte ist das?
Eine WD 6TB: WD60EFRX
Post by Bernd Mayer
Was für ein Dateisystem ist auf der Festplatte?
ext4.
Post by Bernd Mayer
Wurde die auf einem 32-Bit-System eingerichtet und was für ein System
wird zum Test mit badblocks genutzt?
Beidesmal openSUSE Tumbleweed, 64-Bit.
Post by Bernd Mayer
Liegt der end block möglicherweise außerhalb vernünftiger Werte?
Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 11721045134 11719994511 5.5T Linux filesystem
Das kommt mir erst einmal nicht verdächtig vor.
Post by Bernd Mayer
Falls da keine wichtigen Daten drauf sind, dann könnte man die
Festplatte auch neu einrichten.
Das ginge zwar schon, wäre aber etwas Arbeit, die ich mir gern sparen würde.
Post by Bernd Mayer
Bei mk2fs kann man auch die Option -c verwenden zum Überprüfen auf bad
blocks.
Notiert. Bislang hatte ich mich der grafischen yast-Umgebung bedient.
Post by Bernd Mayer
Bei badblocks hatte ich auch die -v Option genutzt, die blocksize kann
man auch vorgeben.
Die Antwort von badblocks bleibt dieselbe.
--
Gruß
Alex
Bernd Mayer
2024-11-19 16:29:20 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
Post by Bernd Mayer
[badblocks Fehleremldung]
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Falls da keine wichtigen Daten drauf sind, dann könnte man die
Festplatte auch neu einrichten.
Das ginge zwar schon, wäre aber etwas Arbeit, die ich mir gern sparen würde.
Hallo,

das Einrichten der Festplatte dauert doch nur wenige Minuten und beim
Verwenden von mkfs.xt4 mit der -c Option hat man das doch gleich getestet.

Der Testlauf dauert sicherlich etliche Stunden und da kommt es auf ein
paar Minuten zum Löschen und Partitionieren doch nicht an.

Außerdem ist das doch eine Chance zum Üben auf der Kommandozeile mit
fdisk und mkfs.ext4.

Anders geht es ja offenbar eh nicht weiter.


Berns Mayer
Alexander Goetzenstein
2024-11-19 16:57:30 UTC
Antworten
Permalink
Hallo,
Post by Alexander Goetzenstein
Post by Alexander Goetzenstein
Hallo,
Post by Bernd Mayer
[badblocks Fehleremldung]
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Falls da keine wichtigen Daten drauf sind, dann könnte man die
Festplatte auch neu einrichten.
Das ginge zwar schon, wäre aber etwas Arbeit, die ich mir gern sparen würde.
Hallo,
das Einrichten der Festplatte dauert doch nur wenige Minuten und beim
Verwenden von mkfs.xt4 mit der -c Option hat man das doch gleich getestet.
die Arbeit ist das Einrichten der Daten, die darauf enthalten sein
sollen. Mit einfachem Kopieren ist es leider nicht getan...
Post by Alexander Goetzenstein
Der Testlauf dauert sicherlich etliche Stunden und da kommt es auf ein
paar Minuten zum Löschen und Partitionieren doch nicht an.
...sondern ist im Gegensatz zum einfachen Laufenlassen viel Handarbeit.
Post by Alexander Goetzenstein
Außerdem ist das doch eine Chance zum Üben auf der Kommandozeile mit
fdisk und mkfs.ext4.
Den Spaß gönne ich mir, wenn sich die Platte als defekt herausstellen
sollte. Dann macht es ja auch so richtig Sinn. Aber solange es nicht
nötig ist...
Post by Alexander Goetzenstein
Anders geht es ja offenbar eh nicht weiter.
Noch hoffe ich auf andere Erkenntnisse. Bislang habe ich keine, weder
solche noch solche. Klar: wenn es nicht anders geht, muss ich mir die
Mühe ans Bein binden.
--
Gruß
Alex
Lutz Falke
2024-11-19 22:27:37 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
# badblocks -s -n -o badblock.log /dev/sdb2
badblocks: Value too large for defined data type invalid end block (5859997255): must be 32-bit value
Dasselbe passiert auch bei weglassen einer, mehrerer oder aller
Optionen. Was kann da stören?
Das ist eine Limitierung von badblocks. Der interne Zähler für die zu
testenden Blöcke hat nur 32 Bit. Das hat wahrscheinlich historische
Gründe und es fand noch Niemand wichtig genug, um es zu Überarbeiten.
An der Stelle im Quellcode, der die Fehlermeldung erzeugt, findet sich
der folgende Kommentar:

/* ext2 badblocks file can't handle large values */

Damit bekommst du bei Festplatten/Partitionen mit mehr als 4 TiB
(echte TB, keine Marketing-TB) und der Standard-Blockgrösse von 1024
Byte die obige Meldung.

Als Abhilfe kannst du einfach mit -b eine andere Blockgröße angeben.
4096 Byte sollten reichen. Aufruf dann etwa so:

# badblocks -s -v -n -o badblock.log -b 4096 ...

Bevor du das aber machst, noch ein paar gut gemeinte Ratschläge:

0. Bei Operationen mit der fragwürdigen Festplatte immer ein dmesg im
Follow-Modus (dmesg -w) irgendwo sichtbar mitlaufen lassen, damit
man sofort sieht, wenn irgendwelche Fehler geworfen werden.

1. Falls du noch keine Sicherung der Daten hast, wäre JETZT ein guter
Zeitpunkt dafür. Das wäre auch gleichzeitig ein Lesetest für die
Festplatte.

2. Solange du noch nicht weißt, dass der USB-Teil OK ist, würde ich
Schreiboperationen (auch das nicht-destruktive Scheiben von
badblocks ist eine Schreiboperation) vermeiden. Das kann dir im
schlimmsten Fall die Daten unbemerkt kaputtmachen. (Ich hatte schon
USB-Kartenleser, die manchmal falsche Daten geliefert haben. Wenn
man die dann zurückschreibt, sind die Originaldaten halt kaputt.)

3. Ich würde deshalb erstmal einen erweiterten SMART-Test mittels

# smartctl -t long ...

machen. Dabei wird im Wesentlichen die Platte einmal gelesen. Wenn
das fertig ist (dauert bei einer 6TB Festplatte mehrere Stunden,
die erwartete Zeit wird bei "smartctl -a ..." in der Übersicht mit
ausgegeben), kann man das Ergebnis im SMART "Self-test log" ablesen.

4. Man kann die Festplatte auch mit

# dd if=... of=/dev/null bs=1M status=progress

oder mit badblocks ohne die Option "-n" einmal komplett lesen
lassen und schauen, wass passiert.

5. Wenn immernoch keine Fehler aufgetreten sind, kannst du ja mal den
Schreibtest wagen. Ich würde aber immer die ganze Platte (also in
deinem Fall /dev/sdb) testen und nicht nur eine Partition.

6. Und wenn du das jetzt mit dem Stundensatz für deine Freizeit
verrechnest, bekommst du wahrscheinlich mindestens 2 neue Platten
und ein neues Dock. ;)

Lutz
Thorsten Albrecht
2024-11-19 09:39:22 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
möchte die Platte intensiv auf mögliche Fehler prüfen, also so richtig
gründlich, Bit für Bit. Wie gehe ich dafür -vorzugsweise unter Linux- am
besten vor?
Die Dauer ist dabei weniger wichtig, das darf gern über Nacht laufen.
Du kannst der Platte "sagen", dass sie einen extended self test machen
soll. Das kann man in Windows z. B. via GSmartControl bequem triggern.
Ansonsten würde ich den Inhalt dieser Platte auf eine andere Platte
schaufeln und sie ein Weilchen nicht mehr benutzen. Dann wieder
zurück: Wenn das Problem erneut auftaucht, Platte wegschmeissen. Wenn
eine Platte Ärger macht, ist eine "Reparatur" in den meisten Fällen
unmöglich und vertanene Zeit.

Denkbar ist auch, dass die Platte eigentlich in Ordnung ist, und nur
die USB-Verbindung bzw. das USB-Gehäuse einen "Knacks" hat. Das halte
ich im Übrigen für ziemlich wahrscheinlich. Ist halt die Frage, ob Du
die Platte in ein anderes USB-Geäuse verfrachten kannst, oder ob sie
fest verlötet ist und ein Austausch damit unmöglich ist.. Auch hier
gilt: sofortiger Austausch der USB-Platte ist am sinnvollsten; alles
andere ist Zeitverschwendung.

Thorsten
Alexander Goetzenstein
2024-11-19 15:53:35 UTC
Antworten
Permalink
Hallo,
Post by Thorsten Albrecht
Denkbar ist auch, dass die Platte eigentlich in Ordnung ist, und nur
die USB-Verbindung bzw. das USB-Gehäuse einen "Knacks" hat. Das halte
ich im Übrigen für ziemlich wahrscheinlich.
deswegen möchte ich ja die Platte testen. Davon erhoffe ich mir
Aufschluss, welche Komponente (HDD oder USB) kaputt ist.
Post by Thorsten Albrecht
Ist halt die Frage, ob Du
die Platte in ein anderes USB-Geäuse verfrachten kannst
Ist ein offenes Dock. Zur Zeit habe ich kein anders zur Verfügung,
weshalb ich es erst einmal mit Software prüfen will.
--
Gruß
Alex
Stephan Elinghaus
2024-11-21 12:42:45 UTC
Antworten
Permalink
Post by Alexander Goetzenstein
Hallo,
gelegentlich steigt der Rechner beim Schreiben auf eine USB-Platte aus.
Kann auch die USB-SATA-bridge sein. Steckt die Platte an einem
USB2 oder USB3-Port?
Was sagt ein parallel laufendes "journalctl -f", wenn die Platte
aussteigt?
Post by Alexander Goetzenstein
Obwohl SMART und fsck keine Fehler anzeigen, bin ich misstrauisch und
SMART über USB setzt voraus, daß Dein USB-Adapter das kann:
Stichwort "UASP".
Dein Problem könnte durchaus auch davon kommen.
--
[signature is on holiday]
Lesen Sie weiter auf narkive:
Loading...