Login
Newsletter
Werbung

Thema: Pro-Linux: Defekte Festplattensektoren neu zuweisen und LUG Buchholz

10 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von hartmut am So, 9. Juli 2006 um 22:46 #
Mal eine Frage, wie sieht das denn mit reiserFS aus?
[
| Versenden | Drucken ]
  • 0
    Von Tim am Mo, 10. Juli 2006 um 01:56 #
    hab gerade diese interessante seite gefunden zu dem thema:

    http://www.namesys.com/bad-block-handling.html#badblocks

    [
    | Versenden | Drucken ]
0
Von irgendeinem User am Mo, 10. Juli 2006 um 00:07 #
Na ja, ich habe die Erfahrung gemacht, dass sich defekte Sektoren wie die Pest vermehren. Deshalb ist es oft besser, die Festplatte gleich auszutauschen...
[
| Versenden | Drucken ]
  • 0
    Von Mastermind am Mo, 10. Juli 2006 um 05:57 #
    So seh ich das auch. Seine Daten einer bekanntermaßen defekten Platte zu überlassen, wäre töricht. Sicher haben alle Platten defekte Sektoren und bei SCSI-Platten läßt sich das sogar auslesen und mitverfolgen, in welchem Rahmen defekte Sektoren sich vermehren. Bei IDE-Platten ist es wohl von Haus aus so, daß es Reservebereiche auf den Platten vorgehalten werden und vom Controller automatisch zugewiesen/umgelegt werden, sobald Defekte auftreten. Wenn es also schon soweit ist, daß das OS davon etwas mitbekommt, hat die Platte schon viele defeke Sektoren und man sollte schleunigst ein Backup machen, falls man das nicht eh hat. Und dann die Platte tausch en ....
    [
    | Versenden | Drucken ]
    • 0
      Von andih am Mo, 10. Juli 2006 um 11:22 #
      >Sicher haben alle Platten defekte Sektoren und bei SCSI-Platten läßt sich das sogar auslesen und mitverfolgen, in welchem Rahmen defekte Sektoren sich vermehren.

      Die Anzahl der defekten Blöcke läßt sich auch bei IDE Platten auslesen, dazu verwendet man die im Artikel erwähnten Smartmontools.

      >Bei IDE-Platten ist es wohl von Haus aus so, daß es Reservebereiche auf den Platten vorgehalten werden und vom Controller automatisch zugewiesen/umgelegt werden, sobald Defekte auftreten.

      Ist IMHO bei SCSI Platten nicht anders. Dieses Feature (defect management) muss erst aktiviert werden, ist es nicht aktiviert, werden Sektoren, die erkenn- und korrigierbare Fehler aufweisen nicht behandelt. Die Behandlung erfolgt von der Platte selber und nicht vom Controller.

      >Wenn es also schon soweit ist, daß das OS davon etwas mitbekommt, hat die Platte schon viele defeke Sektoren und man sollte schleunigst ein Backup machen, falls man das nicht eh hat. Und dann die Platte tausch en ....

      Ich halte es für wenig sinnvoll, zu warten, bis der Inhalt der Festplatte in einigen Sektoren so weit defekt ist, das auch die Fehlerkorrektur nichts mehr auszurichten vermag und es zum ersten echten Datenverlust kommt. Das Ziel von SMART ist es, sterbende Platten frühzeitig zu erkennen und auszutauschen solange sie noch hinreichend gut funktionieren.

      Ich halte es für sinnvoller, mit den smartmontools in Regelmässigen Abständen einen Selbsttest der Platte anzustoßen ("-t long" glaube ich) und zu beobachten, ob und wie die Anzahl der ausgelagerten Blöcke steigt. Das verhindert einerseits, dass selten gelesene Daten lange vor sich hindegradieren, bis sie unlesbar werden und andererseits werden schwache/defekte Blöcke während des Tests frühzeitig ausgelagert. Zudem hat man immer einen Blick auf die Platte, und zwar auf die inneren Werte, wenn ich die Anzahl der ausgelagerten Blöcke, die Anzahl der ECC-Fehler, die Temperatur und die Anzahl der durch die Fehlerkorrektur erfolgreich behandelten Fehler so nennen darf.

      Außerdem sollte man, wenn möglich, das "defect_management" der Platte mittels "hdparm -D1 /dev/" oder im Bios einschalten. Dadurch werden fehlerhafte Blöcke dann ausgelagert, wenn sie noch nicht so fehlerhaft sind, das die Fehlerkorrektur nicht mehr greift.

      [
      | Versenden | Drucken ]
      0
      Von Andreas am Mo, 10. Juli 2006 um 14:12 #
      Hallo,

      > Sicher haben alle Platten defekte Sektoren und bei SCSI-Platten läßt sich das sogar auslesen
      > und mitverfolgen, in welchem Rahmen defekte Sektoren sich vermehren.

      Geht bei IDE auch, deshalb gibt es SMART.

      > Bei IDE-Platten ist es wohl von Haus aus so, daß es Reservebereiche auf den Platten vorgehalten
      > werden und vom Controller automatisch zugewiesen/umgelegt werden, sobald Defekte auftreten.
      > Wenn es also schon soweit ist, daß das OS davon etwas mitbekommt, hat die Platte schon viele
      > defeke Sektoren und man sollte schleunigst ein Backup machen, falls man das nicht eh hat. Und
      > dann die Platte tausch en ....

      Falls dem so ist, dann hilft dir der Artikel "Fehlerhafte Festplattensektoren neu zuweisen" auch nicht weiter. Denn wo keine Ersatzsektoren mehr vorhanden sind, kann auch nichts neu zugewiesen werden.

      In der Regel wird es aber so sein, dass die Platte den defekten Sektor so spät bemerkt hat, dass er bereits nicht mehr lesbar ist. Da Platte kann den defekten Sektor deshalb nicht mehr automatisch gegen einen guten austauschen, da es dadurch zum Datenverlust kommen würde (die Daten können ja nicht mehr gelesen und in den guten Sektor übertragen werden). Die Platte muss den defekten Sektor also so lange unangetastet lassen, bis sie entweder die Daten daraus wieder lesen kann, oder bis darauf ein reiner Schreibvorgang stattfindet, also der Nutzer die Daten ohnehin überschreiben möchte. Erst dann kann die Platte den defekten Sektor gegen einen guten ersetzen.

      Und wie man herausfindet welche Datei von dem defekten Sektor betroffen ist und wie man diese überschreiben und damit die Platte zum austauschen des Sektors veranlassen kann, wird im Artikel "Fehlerhafte Festplattensektoren neu zuweisen" beschrieben.

      Der Artikel macht also durchaus Sinn. Ich hatte erst vor 8 Tagen ein ähnliches Problem, allerdings befand sich bei mir der defekte Sektor in der Swap Partition. Ich habe dann einfach ein

      swapoff -a
      badblocks -svw /dev/hda3
      mkswap /dev/hda3
      swapon -a

      gemacht, und schon war der Sektor ersetzt.

      Gruß,
      Andreas

      [
      | Versenden | Drucken ]
    0
    Von !anonymous am Mo, 10. Juli 2006 um 07:54 #
    Das Austauschen ist meiner Meinung nach nicht unbedingt notwendig. So wie es aussieht gibt es Leseprobleme bei Sektoren die längere Zeit nicht beschrieben wurden. Ich habe oft nach ca. 1 Jahr Probleme mit Datenverlusten. Beschreibt man alle Sektoren neu gibt es plötzlich keine Probleme mehr. Ich habe so einige Festplatten wieder zum Leben erweckt. Die Datenverluste traten unabhängig vom Hersteller der Festplatte etwa zur gleichen Zeit auf.

    Man kaufe Festplatten von verschiedenen Herstellern, legt viele kleine Raid Partitionen an, baut kleine Spiegel auf und fasst diese mit einem Volume Manager zusammen. Dadurch könnte man kleine Bereiche einer Platte durch auflösen und neu Bauen des Raids neu beschreiben und wenn auf beiden Platten in kurzer Zeit mal Sektoren kaputt gehen und diese nicht in der selbten Raid-Gruppe sind, verliert man keine Daten.

    [
    | Versenden | Drucken ]
    • 0
      Von Dennis am Mo, 10. Juli 2006 um 10:43 #
      Die Festplatte merkt sich die Sektoren, die Lesefehler verursachen. Bevor diese defekten Sektoren neu beschrieben werden, werden diese durch Ersatzsektoren ersetzt. Das ist aus Sicht des FS nicht zu sehen, das macht die Festplatte selbst. Ich bin der Meinung, das eine gute Lösung ein Durchlauf von badblock -n /dev/hdXY ist. Dies führt ein schreib/lese-Test durch, wobei jedoch die Daten der Festplatte am Ende nicht überschrieben werden. Die Partition die getestet wird, darf nicht gemountet sein. Zusätzlich sollte man die smartmontools und offline-Read-Tests der Festplatte benutzen und die S.M.A.R.T.-Attribute beachten.

      Und nicht zuletzt: Raid1 ist dein Freund. Nach Möglichkeit mit verschiedenen Festplatten-Modellen/Herstellern.

      [
      | Versenden | Drucken ]
0
Von sl am Mo, 10. Juli 2006 um 10:09 #
Ich habe, initiiert durch Eure Posts mal den Reiser-Check durchlaufen lassen. Jetzt habe ich ein Ergebnis, was mir aber irgendwie nix sagt. Es gab eine langen Liste mit 358 Sektornummern, die wohl als defekt gelten. Ist das normal, wenig oder schon zu viel für eine 40GB Notebook-Platte, die erst ein Jahr in Betrieb ist? Was sagen die Fachleute unter Euch?

Danke schon mal für Eure Mühen

[
| Versenden | Drucken ]
  • 0
    Von andih am Mo, 10. Juli 2006 um 12:03 #
    Ich nehme mal an, dass es sich um eine IDE Platte handelt und unterstelle, der Gerätenamen der Platte lautet /dev/hda.

    Du solltest statt einem fsck Werzeug, welches ein Dateisystem überprüft, erst ein Werkzeug verwenden, das die Platte selber überprüft. Das fsck Werkzeug überprüft den Inhalt (das Dateisystem) der Festplatte und meldet dir auch Fehler, deren Ursache nicht der Zustand der Platte sind. Am sinnvollsten ist es, wenn du das die Platte selber machen läßt. Dazu verwendet man die Smartmontools, oder genauer gesagt smartmonctl. Moderne Platten, genauer gesagt der Controller der Platten, überwachen während dem Betrieb ständig den Zustand der Platte und sammeln Informationen, die man abfragen kann. Hier ein Beispiel:

    root@pc:~# smartmonctl -a /dev/hda

    Mit dem Kommando -a frägst du den Zustand der Festplatte /dev/hda ab. In der Ausgabe findest du einen Block, der dir Auskunft über die Smartattribute der Platte liefert. Interessant sind folgende Angaben:

    197_Current_Pending_Sector
    Dieser Wert (in der Spalte RAW_VALUE) gibt an, wieviele Sektoren der Festplattencontroller auslagern möchte, aber dies nicht kann. Es kann sein, das das Defectmanagement nicht aktiviert ist, dann wird nicht ausgelagert oder das der Inhalt des Sektors so weit beschädigt ist, das er von der Fehlerkorrektur nicht wiederhergestellt werden kann (siehe Wert 198).

    198 Offline_Uncorrectable
    Das ist die Anzahl der Unkorrigierbaren Sektoren. Ist ein Sektor fehlerhaft, bedeutet das nicht sofort, das er unlesbar wird. Dank Fehlerkorrekturverfahren (http://de.wikipedia.org/wiki/Fehlerkorrekturverfahren) können Fehler eventuell korrigiert werden. Die Anzahl der nicht korrigierbaren Sektoren wird im der Spalte RAW_VALUE angegeben und sollte Null betragen.
    Ein unkorrigierbarer Sektor wird erst beim beschreiben ausgelagert.

    194 Temperature_Celsius
    Hier wird die Temperatur der Platte angegeben. Eine Ursache von Fehlern ist es, wenn die Platte bei zu hohen Temperaturen betrieben wird. Hier hilft eventuell ein Blick in das Datenblatt des Herstellers.

    5 Reallocated_Sector_Ct
    Die Anzahl der ausgelagerten Blöcke wird in dieser Zeile angegeben.

    Mit dem Kommando
    smartctl -H /dev/hda
    teilt dir deine Platte mit, ob Sie der Meinung ist noch eine Zeit lang ordnungsgemäß zu funktionieren.

    Stell auch sicher, das das defectmanagement der Platte aktiviert ist. Ohne wird es sicher zu einem Datenverlust kommen. Dies kann evtl. im Bios aktiviert werden, evtl hilft auch ein Blick in /etc/hdparm.conf


    Gruß
    Andreas

    [
    | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung