September 2021, Nov. 2022

Defekte Festplatten

Alte HDD: 37800 h (2006) · UDMA_CRC_Error_Count
Alte HDD: 36800 h (2008) · Seek, Sector

Nun ist es passiert: Eine von zwei Festplatten ist defekt gegangen! Es war ein Backup-Medium, 500 GB groß. Verwendet seit 2006, etwa 37800 Betriebsstunden. Glücklicherweise hat die Festplatte ihre Funktion nicht schlagartig von einer zur nächsten Sekunde eingestellt, sondern sie wurde allmählich madig. Die Haupt-Festplatte hat etwa 32600 Betriebsstunden und ist 1 TB groß. Sie wurde später angeschafft. Es wurde nun eine neue HDD 2 TB als Ersatz gekauft. Alle Festplatten sind WD Gold Enterprise 24/7. Der betroffene alte PC muß noch etwa 1 Jahr benutzt werden, bevor alle Komponenten für einen neuen PC am Markt verbreitet sind (Alder Lake).

Die defekte HDD bewirkte seit etwa sechs Wochen zeitlich verdichtet sporadisch seltsame Fehlererscheinungen. Sehr seltene Ereignisse kamen bereits vor Jahren vor (!), die jedoch nicht zugeordnet werden konnten. Beispielsweise wurde ihr Boot-Manager im MBR vom BIOS aufgerufen, statt der der Haupt-Platte, der im BIOS konfiguriert ist. Oder es wurden beim Boot endlos Zeichen # ausgegeben (1).
Es schlossen sich in vier Schüben S.M.A.R.T.-Fehler UDMA_CRC_Error_Count an. Das Betriebssystem fror dabei jeweils längere Zeit ein, während der nicht gearbeitet werden konnte. Zwischendurch schaltete sich die Platte grundlos alle 5 bis 10 Sekunden AUS und EIN. Dabei fror die Bedienung des Betriebssystems jeweils 3 Sekunden lang ein. Diese Fehler zeigten sich erst nach jeweils mehreren Stunden Betriebszeit. Die Platte mußte sich offenbar erst voll durch-erwärmen. Windows 10 will nicht mehr starten - dauerhaft! - und muß neu installiert werden.
Die drei Platten mit 500, 1000, 2000 GB entwickeln Temperaturen von 54, 47, 42 °C bei 22°C Raumtemperatur, wobei keine einen Grenzwert erreicht. Die Temperatur der nun defekten Platte ist dennoch auffällig hoch. Denn bei 35 °C Raumtemperatur würde sie etwa 67 °C erreichen, was über der maximalen Betriebstemperatur liegt.

Die defekte Festplatte funktioniert immer noch, wenn sie außerhalb des PC-Gehäuses kalt in Betrieb gesetzt wird, einige Stunden lang. Auf diese Art konnte Datenrettung von ihr vorgenommen werden. Das Backup-System hatte nämlich große Datenmengen nicht von der Haupt-Platte auf die Backup-Platte kopiert, sondern diese lagen ohne Backup dauerhaft auf der nun defekten Platte. Da es neuerdings 3 TB HDD-Speicher statt 1,5 TB gibt, konnte das Backup-System stark erweitert werden, das zuvor nur die wichtigsten Daten per rsync auf Speicherkarte und zweite HDD kopierte. Dieses wird unter FreeBSD betrieben. Als drittes Medium ist vor wenigen Monaten eine Cloud mit 100 GB hinzugekommen.

Die neue Festplatte mit 2 TB ist logischerweise die neue Haupt-Platte. Sie ist technologisch deutlich besser als die nun defekte Platte, und merkbar besser als die mittlere Platte. Es sind auch jetzt noch ungefähr 400 GB Daten ohne Backup vorhanden. Diese stammen vom ehemaligen DVD-Hobby (mit SCART): DVD mit Menü, und sie sind nicht sonderlich wichtig. Die nun defekte Platte hatte (vor einem Jahr) bei Backup-Vorgängen eine Geschwindigkeit von 38 MB/s Spitzenwert erbracht. Dieser Wert wurde in der letzten Zeit nicht mehr beobachtet. Die beiden anderen Platten als neues Backup-Doppel schafften hingegen 103 MB/s Spitzenwert. Es muß hierbei bedacht werden, daß diese Geschwindigkeiten den Zeitbedarf für das Lesen und das Schreiben umfassen.

safeu   safecard32 /u; safe /u
safeh   safecard32 /home; safe /home
safes   safe2hd s /usr/S
safef   safe2hd f /fat

rcopy   rsync -aHAXivh --stats --progress --modify-window=5 !*

Vorstehend vier Alias-Definitionen, mittels derer ein Backup-Vorgang schnell und einfach manuell ausgelöst werden kann. Desweiteren ein Alias, das eine Verwendung von rsync als Kopierprogramm für lokale Daten erleichtert.

if (-e /dev/ada1s3d && ! -e /dev/hu)  then
   ln -sv /dev/ada1s3d /dev/hu
endif
if (-e /dev/ada1s3e && ! -e /dev/s)  then
   ln -sv /dev/ada1s3e /dev/s
endif
if (-e /dev/ada1s3f && ! -e /dev/x)  then
   ln -sv /dev/ada1s3f /dev/x
endif
if (-e /dev/ada1s3g && ! -e /dev/f)  then
   ln -sv /dev/ada1s3g /dev/f
endif
foreach verz (hu s x f win dvd card)
   if (-e /$verz && ! -d /$verz)  then
      echo "/$verz" 'ist kein Verzeichnis!'
      continue
   endif
   if (! -e /$verz)  mkdir -v /$verz
end

Da der Inhalt des Verzeichnisses /dev nicht mehr statisch ist, sondern bei jedem System-Start generiert wird, die vorstehenden csh-Anweisungen, die von der Login-Shell einmal ausgeführt werden.

/dev/ada0             /dev/ada1
/dev/ada0s1           /dev/ada1s1
/dev/ada0s2           /dev/ada1s2           /dev/ada1s3
/dev/ada0s2a          /dev/ada1s2a          /dev/ada1s3d
/dev/ada0s2b          /dev/ada1s2b          /dev/ada1s3e
/dev/ada0s2d          /dev/ada1s2d          /dev/ada1s3f
/dev/ada0s2e          /dev/ada1s2e          /dev/ada1s3g
/dev/ada0s2f          /dev/ada1s2f
/dev/ada0s2g          /dev/ada1s2g
/dev/ada0s2h          /dev/ada1s2h
/dev/ada0s3
/dev/ada0s4

# /dev/ada0s2:
8 partitions:
#          size     offset    fstype   [fsize bsize bps/cpg]
  a:         5G         16    4.2BSD        0     0     0
  b:        10G          *      swap                    
  c:          *          0    unused        0     0     # "raw" part, don't edit
  d:        15G          *    4.2BSD        0     0     0  #/var
  e:        15G          *    4.2BSD        0     0     0  #/tmp
  f:          *          *    4.2BSD        0     0     0  #/usr
  g:        15G          *    4.2BSD        0     0     0  #/home
  h:        20G          *    4.2BSD        0     0     0  #/u

# /dev/ada1s3:
# bsdlabel -R [-B] -m amd64 /dev/ada1s3 diese_datei
# newfs -j -U -L label /dev/xyz
8 partitions:
#          size     offset    fstype   [fsize bsize bps/cpg]
  c:          *          0    unused        0     0     # "raw" part, don't edit
  d:        40G         16    4.2BSD        0     0     0  #/hu
  e:       250G          *    4.2BSD        0     0     0  #/s
  f:       200G          *    4.2BSD        0     0     0  #/x
  g:          *          *    4.2BSD        0     0     0  #/z

Vorstehend eine Liste der Festplatten-Devices und die Tabellen für das Kommando bsdlabel, welches die innere Partitionstabelle erzeugt. Die Positionen d e f g h sind für freie Dateisysteme nutzbar. Position a steht für das Wurzelsystem / und c für die Angabe der Größe von z.B. ada0s2, die aus der äußeren Partitionstabelle stammt. Die Sterne * fordern das Kommando auf, an den betreffenden Positionen den jeweiligen Wert selbst auszurechnen bzw. einzusetzen.

smartctl -x /dev/ada1

WDC WD5000YS-01MPB0:
  1 Raw_Read_Error_Rate     POSR--   200   200   051    -    0
  3 Spin_Up_Time            PO----   253   206   021    -    3400
  4 Start_Stop_Count        -O--CK   093   093   000    -    7004
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         POSR--   200   200   051    -    0
  9 Power_On_Hours          -O--CK   049   049   000    -    37795
 10 Spin_Retry_Count        PO--C-   100   100   051    -    0
 11 Calibration_Retry_Count -O--C-   100   100   051    -    0
 12 Power_Cycle_Count       -O--CK   095   095   000    -    5763
194 Temperature_Celsius     -O---K   253   253   000    -    54
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--C-   200   200   000    -    0
198 Offline_Uncorrectable   ----C-   200   200   000    -    0
199 UDMA_CRC_Error_Count    -OSRCK   200   200   000    -    12     ***
200 Multi_Zone_Error_Rate   P--R--   200   200   051    -    0

WDC WD1002FBYS-01A6B0:
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   253   253   021    -    1250
  4 Start_Stop_Count        -O--CK   096   096   000    -    4654
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   100   253   000    -    0
  9 Power_On_Hours          -O--CK   056   056   000    -    32593
 10 Spin_Retry_Count        -O--CK   100   100   000    -    0
 11 Calibration_Retry_Count -O--CK   100   100   000    -    0
 12 Power_Cycle_Count       -O--CK   096   096   000    -    4619
192 Power-Off_Retract_Count -O--CK   200   200   000    -    683
193 Load_Cycle_Count        -O--CK   199   199   000    -    4654
194 Temperature_Celsius     -O---K   106   096   000    -    47
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   200   200   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   200   200   000    -    0

03.11.2022:
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   253   253   021    -    1366
  4 Start_Stop_Count        -O--CK   095   095   000    -    5221
  5 Reallocated_Sector_Ct   PO--CK   195   195   140    -    36     ***
  7 Seek_Error_Rate         -OSR-K   183   183   000    -    724    ***
  9 Power_On_Hours          -O--CK   050   050   000    -    36803
 10 Spin_Retry_Count        -O--CK   100   100   000    -    0
 11 Calibration_Retry_Count -O--CK   100   100   000    -    0
 12 Power_Cycle_Count       -O--CK   095   095   000    -    5114
192 Power-Off_Retract_Count -O--CK   200   200   000    -    685
193 Load_Cycle_Count        -O--CK   199   199   000    -    5221
194 Temperature_Celsius     -O---K   104   096   000    -    46
196 Reallocated_Event_Count -O--CK   164   164   000    -    36     ***
197 Current_Pending_Sector  -O--CK   198   198   000    -    414    ***
198 Offline_Uncorrectable   ----CK   200   200   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   200   151   000    -    0

WDC WD2005FBYZ-01YCBB3 #1:
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   181   181   021    -    3941
  4 Start_Stop_Count        -O--CK   100   100   000    -    5
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   100   253   000    -    0
  9 Power_On_Hours          -O--CK   100   100   000    -    15
 10 Spin_Retry_Count        -O--CK   100   253   000    -    0
 11 Calibration_Retry_Count -O--CK   100   253   000    -    0
 12 Power_Cycle_Count       -O--CK   100   100   000    -    5
 16 Unknown_Attribute       -O---K   000   200   000    -    595036768
183 Runtime_Bad_Block       -O--CK   100   100   000    -    0
192 Power-Off_Retract_Count -O--CK   200   200   000    -    0
193 Load_Cycle_Count        -O--CK   200   200   000    -    22
194 Temperature_Celsius     -O---K   113   106   000    -    42
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0

03.11.2022:
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   180   180   021    -    4000
  4 Start_Stop_Count        -O--CK   100   100   000    -    507
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   100   200   000    -    0
  9 Power_On_Hours          -O--CK   095   095   000    -    4243
 10 Spin_Retry_Count        -O--CK   100   100   000    -    0
 11 Calibration_Retry_Count -O--CK   100   100   000    -    0
 12 Power_Cycle_Count       -O--CK   100   100   000    -    500
 16 Unknown_Attribute       -O---K   000   200   000    -    12830233763
183 Runtime_Bad_Block       -O--CK   100   100   000    -    0
192 Power-Off_Retract_Count -O--CK   200   200   000    -    1
193 Load_Cycle_Count        -O--CK   200   200   000    -    524
194 Temperature_Celsius     -O---K   107   103   000    -    40
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0

WDC WD2005FBYZ-01YCBB3 #2 (Nov.2022):
  1 Raw_Read_Error_Rate     POSR-K   100   253   051    -    0
  3 Spin_Up_Time            POS--K   100   253   021    -    0
  4 Start_Stop_Count        -O--CK   100   100   000    -    1
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   100   253   000    -    0
  9 Power_On_Hours          -O--CK   100   100   000    -    3
 10 Spin_Retry_Count        -O--CK   100   253   000    -    0
 11 Calibration_Retry_Count -O--CK   100   253   000    -    0
 12 Power_Cycle_Count       -O--CK   100   100   000    -    1
 16 Unknown_Attribute       -O---K   000   200   000    -    621231
183 Runtime_Bad_Block       -O--CK   100   100   000    -    0
192 Power-Off_Retract_Count -O--CK   200   200   000    -    0
193 Load_Cycle_Count        -O--CK   200   200   000    -    4
194 Temperature_Celsius     -O---K   113   113   000    -    34
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0

Vorstehend die SMART - Tabellen für die Festplatten 500, 1000,1000, 2000,2000, 2000#2 GB.
Etwa 13 Monate später zeigt nun die zweite alte Festplatte (1000 GB) andersartige Fehlererscheinungen. Sie seek-t hörbar lang andauernd (fast dauerhaft) im Sekundentakt. Nach (erfolgreichen) Schreibzugriffen hat sich diese Aktivität gelegt. Bei den betroffenen HDD-Typen muß offenbar damit gerechnet werden, daß ab ungefähr 35000 Betriebsstunden die Fehlerwahrscheinlichkeit stark steigt. Die Endphase der Badewannen-Kurve hat begonnen. Allerdings bieten/boten beide Festplatten nach Eintritt der Fehlererscheinungen noch fehlerfreien Datenzugriff an. Bei einer IBM 10 GB vor langer Zeit war das nicht so. Diese fing von einer Sekunde zur nächsten zu klappern an und gestattete sofort keinen Datenzugriff mehr.

Nun, wo beide Festplatten aktuelle Hardware sind (je 2 TB), hat sich die Geschwindigkeit mehr als verdoppelt! Kopieren von der ersten zur zweiten Festplatte geht mit bis zu 160 MB / s. Zuvor war dieser Wert 65 MB / s.

Es ist möglich, daß die Festplatte 500 GB eine ungefähr halbierte Lebensdauer hatte, weil sie in einem schraubenlosen Gehäuse locker mit etwas Spiel montiert war! Sie gab bei starker Aktivität ein bollernd-wummerndes Geräusch von sich.
Schraubenlose HDD-Montage
HDD auf Metallblech geschraubt
Man beachte die Befestigungs-Clips mit grünen Kunststoff-Pins, die locker in die Gewindeöffnungen der darunter abgebildeten Adapter gesteckt waren. Von Western Digital stammt die .pdf, in der die optimale Befestigung für Festplatten gezeigt und beschrieben wird. Festplatten sind intern so konstruiert, daß sie optimal arbeiten, wenn sie ungefedert auf starres Metallblech geschraubt sind.

Dieser PC stammt von 2006. Somit ist es kein UEFI-System. Die neue Festplatte hat 512 Byte native Sektorgröße und die Anzahl Sektoren kann für 2 TB im MBR gerade noch dargestellt werden. Es kann auch noch fdisk benutzt werden. Das neue Kommando für diesen und weitere Zwecke ist gpart.

Mit Erstaunen wurde eine negative Zahl bei fdisk beobachtet. Nämlich bei der Anzeige der aktuellen Sektor-Anzahl bei der Eingabe der neuen Sektor-Anzahl: angezeigt wurde [-729800704] statt [3565166592]. In der Darstellung der Partitions-Tabelle wird hingegen der korrekte positive Wert angezeigt.

Es ist offenbar sehr schwer und die Übergangszeit dauert vielleicht 40 Jahre, um die obsoleten Sichtweisen von Vorzeichen-Behaftung zu korrigieren. Beispielsweise wurden schon in den 1980ern Byte-Zeichensätze nur mit 256 Zeichen definiert (außer ASCII), numeriert von 00…FF - eine Domäne der Vorzeichenlosigkeit. Auch der Typ char in C, der ausdrücklich für Zeichenketten-Konstanten "aäbcdefg" gilt, wird plattform-spezifisch voreingestellt als signed char definiert, was logisch nicht nachvollziehbar ist. Das ä würde bei Entnahme durch die int-Promotion ein negativer int-Wert sein. Negative Anzahlen von Bytes, Sektoren, und ähnlich kann es schlicht nicht geben!

Zum Thema paßt, daß das Kommando newfs_msdos eine Meldung abgab, daß ein Parameter korrigiert wurde, damit dessen Wert durch 63 Sektoren ohne Rest teilbar wird. Es wird (folglich) immer noch mit CHS und Verwandtem gearbeitet.



Copyright © 2021, 2022 - Helmut Schellong

defekt festplatte hdd smart backup 54 47 42