symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Linux IDE Problem beim Write Back Caching
Veröffentlicht durch dawn am Freitag 21. Februar, 12:42
Aus der workaround Abteilung
Hardware GenTooRulez schreibt "Auf Linuxgear ist gerade zu lesen, das es bei IDE-Platten mit aktiviertem Write Back Caching zu Datenkorruptionen (auch bei Journaling File Systems) kommen kann. Das Problem sei aber genereller Natur und nicht auf Linux beschränkt. Vielleicht einfach mal hdparm -W0 /dev/hdX"

Interview mit scheidendem ICANN-Präsidenten Stuart Lynn | Druckausgabe | Citibank versucht Disclosure gerichtlich zu verbieten  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • Linux
  • Linuxgear
  • Mehr zu Hardware
  • Auch von dawn
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    Nichts wirklich neues... (Score:2)
    Von P2501 am Friday 21. February, 13:28 MEW (#1)
    (User #31 Info) http://www.p2501.ch/

    Die Problematik ist eigentlich schon lange bekannt. Ein hardwaremässiger Write-Back-Cache ist prinzipiell schon mal ein Sicherheitsrisiko. In Verbindung mit RAID und/oder Journalling ist es schon fast fahrlässig, den Cache eingeschaltet zu lassen, denn dort muss das Betriebssystem bzw. der RAID-Kontroller jederzeit wissen, welche Daten physikalisch tatsächlich geschrieben wurden.

    Und übrigens, um es nochmals zu betonen: Journalling erhöht das Risiko von Datenkorruption. Es ist ein Bequemlichkeitsfeature (schnellerer fsck), nicht ein Sicherheitsfeature.


    Re:Nichts wirklich neues... (Score:1)
    Von greybeard am Friday 21. February, 22:52 MEW (#4)
    (User #412 Info)
    >Journalling ist ein Bequemlichkeitsfeature >(schnellerer fsck), nicht ein Sicherheitsfeature.

    Das stimmt nicht. Journalling ist orthogonal zu Filesystemchecks. Es ersetzt keinen
    fsck. Im Gegenteil ist ein regelmaessiger fsck
    empfohlen um Fehler in der Filesystemimplementation oder defekte Kabel zu entdecken.

    Journalling erhoeht das Risiko von Datenkorruption nicht, es erniedrigt sie, da man mit einem (richtig implementierten) Journal alle Daten, ausser diejenigen, die noch in Cache waren, noch lesen kann. Ohne Journalling riskiert man das ganze Filesystem zu verlieren.

    Dies ist unabhaengig von Einsatz von RAID.
    Ob man Write-back Caches einsetzen will ist in erster Linie abhaengig vom Cache. Bei 4MB kann man schon einiges an Daten verlieren...
    Re:Nichts wirklich neues... (Score:2)
    Von P2501 am Monday 24. February, 10:32 MEW (#5)
    (User #31 Info) http://www.p2501.ch/

    Nein. Ein Journal schränkt lediglich ein, wo die Daten korrumpiert sein könnten. Das heisst: Beim Reboot nach einem Absturz weiss das Betriebssystem gleich, wo Fehler sein könnten, und muss nicht die gesamte Festplatte untersuchen. Ansonsten bringt ein Journal nichts. Schäden an den Daten können nur durch ein stabiles Design des Dateisystems verhindert oder eingeschränkt werden.


    Re:Nichts wirklich neues... (Score:1)
    Von greybeard am Tuesday 25. February, 21:47 MEW (#6)
    (User #412 Info)

    Also, nochmals ganz langsam:

    0. Wenn Du bei Schreibzugriffen gar keine Daten verlieren willst, darfst Du gar keine Write-Caches halten. Weder auf Festplatte, noch im RAM. Das hat nicht mal Unix V6 geschafft, weil sogar da ein Sektor im RAM zwischengespeichert wurde.

    1. Ansonsten:

    1a. Du kannst synchron mounten. Laeuft immer noch Gefahr Daten zu verlieren, falls man im falschen Moment abstellt, da Write-Cache vorhanden.

    1b. Falls Du die Schaeden lokalisieren willst, brauchst Du einen Log-Mechanismus, also einen Mechanismus, wo Du die Reihenfolge der Schreibzugriffe eruieren kannst und Rollbacks durchfuehren zu koennen. -> Journalling-Filesystem.

    1c. Alternative zu 1a: Soft-Updates

    2b. Wo der Log liegt ist Dir freigestellt. Das muss nicht auf der Platte sein, es kann auch ein NVRAM sein.

    War das klar genug?

    Ach ja:

    - Nicht nur das File System muss mitspielen, auch das Virtual Memory Subsystem und die Harddisk-Komponenten (zu Punkt 0).

    - Kein Log: kann Dir das gesamte Filesystem crashen.

    Re:Nichts wirklich neues... (Score:2)
    Von P2501 am Wednesday 26. February, 11:58 MEW (#7)
    (User #31 Info) http://www.p2501.ch/

    0: Stimmt. Es wäre aber noch anzufügen, das ein Hardware Write-Back-Cache ein wesentlich grösseres Risiko darstellt, weil niemand ausser der Steuerelektronik der Harddisk die Kontrolle darüber hat.

    1b: Das ist falsch. Das Journal hilft zwar bei der Fehlersuche, aber es ist nicht Voraussetzung.

    Ein Log kann nur helfen, Veränderungen an der Dateisystemstruktur rückgängig zu machen. Solche sollten ein Dateisystem nicht aus dem Tritt bringen. Sogar bei FAT lässt sich sowas reparieren. Kritisch wird es immer dann, wenn wichtige Dateisysteminformationen beschädigt werden (Superblock etc.). Die kann ein Journal nicht retten. Es ist vielmehr ein Teil davon.

    Fazit: Journaling vereinfacht die Fehlersuche und -korrektur. Prinzipiell wird die Sicherheit aber nicht erhöht, denn beides muss auch ohne Journal möglich sein. Ist die Fehlerbehebung ohne Journal nicht möglich, so stellt das Journal einen SPF dar. Ein solches Dateisystem ist extrem unsicher.


    Re:Nichts wirklich neues... (Score:1)
    Von greybeard am Wednesday 26. February, 21:29 MEW (#8)
    (User #412 Info)
    Ein Log kann nur helfen, Veränderungen an der Dateisystemstruktur rückgängig zu machen. Solche sollten ein Dateisystem nicht aus dem Tritt bringen.
    Du widersprichst Dir im uebernaechsten Satz. Im Log hast Du immer die Metadaten und (je nach Journalling-Filesystem einstellbar) auch die Daten. Die Veraenderungen im Filesystem kannst Du nicht rueckgaengig machen, wenn Du die Reihenfolge nicht kennst.
    Sogar bei FAT lässt sich sowas reparieren.
    Glaube ich nicht. Lies File System Implementation, continued und File System Implementation
    Kritisch wird es immer dann, wenn wichtige Dateisysteminformationen beschädigt werden (Superblock etc.).
    Das sind die Metadaten.
    Die kann ein Journal nicht retten.
    Der Trick ist, erst konsistente Zustaende zu speichern (auf die Platte zu schreiben). Damit ist die Platte immer metadatenkonsistenz (und wenn Du die Daten mitloggst auch datenkonsistenz), bis auf die letzte Transaktion.
    Es ist vielmehr ein Teil davon.
    Einstellbar. Falls es auf NVRAM liegt, eben nicht. Ansonsten ist es es Aufgabe der Filesystemimplementation die beiden auseinander zu halten.
    Re:Nichts wirklich neues... (Score:2)
    Von P2501 am Thursday 27. February, 13:50 MEW (#9)
    (User #31 Info) http://www.p2501.ch/

    Okay, die Aufteilung der Metadaten in Strukturdaten und Informationen war ungenau, und für unseren Fall eigentlich irrelevant. Vergiss sie.

    Worauf ich hinaus will, zeige ich am besten anhand eines Zitates: "Die Veraenderungen im Filesystem kannst Du nicht rueckgaengig machen, wenn Du die Reihenfolge nicht kennst." Wenn du damit meinst, dass der exakte Zustand der Metadaten beim letzten Syncpoint vor Absturz nur mittels eines Logs garantiert wiederhergestellt werden kann, dann stimme ich dir zu. Aber: Es muss immer möglich sein, diesen Zustand auch ohne Log mittels eines klassischen fsck wiederherzustellen. Ansonsten ist das Dateisystem futsch, wenn das Log fehlt. Genau das war ja lange ein grosser Kritikpunkt an ReiserFS.

    Ich habe mir das ganze mal etwas durch den Kopf gehen lassen, und habe beschlossen, mein Statement etwas zu entschärfen. Statt "Journalling erhöht die Sicherheit nicht" sage ich jetzt "Journalling erhöht die Sicherheit nur wenig." ;-) Dabei bleibe ich aber, denn erfahrungsgemäss sind in der Praxis Fehler, die von einem fsck nicht behoben werden können, auch durch ein Journal nicht zu beheben.

    Hmmm, was ziehen wir jetzt für ein Fazit? Ach ja: Journaling entbindet nicht von der Pflicht zum Backup.

    PS: FAT ist eigentlich noch erstaunlich stabil. Aber mit aktuellen Dateisystemen kann es nicht mithalten, dass ist klar.


    Re:Nichts wirklich neues... (Score:1)
    Von greybeard am Thursday 27. February, 23:18 MEW (#10)
    (User #412 Info)
    Wenn du damit meinst, dass der exakte Zustand der Metadaten beim letzten Syncpoint vor Absturz nur mittels eines Logs garantiert wiederhergestellt werden kann, dann stimme ich dir zu.
    Ja, das meine ich.
    Aber: Es muss immer möglich sein, diesen Zustand auch ohne Log mittels eines klassischen fsck wiederherzustellen.
    Dies ist genau das Problem. Man kann diesen Zustand unter (klassischem) FFS (und Derivaten) nicht immer wiederherstellen (unsere Diskussion :)
    Ansonsten ist das Dateisystem futsch, wenn das Log fehlt.
    Genau.
    Genau das war ja lange ein grosser Kritikpunkt an ReiserFS.
    Das ist gut moeglich.
    denn erfahrungsgemäss sind in der Praxis Fehler, die von einem fsck nicht behoben werden können, auch durch ein Journal nicht zu beheben.
    Richtig, das ist der Umkehrschluss.

    Dies sind die wirklich groben Fehler (Konsistenz des Filesystems im Eimer). Ein Journal kann dies hoechstens zu verhindern versuchen, aber wenn fsck unkorrigierbare Fehler findet, ist es definitiv zu spaet.

    Hmmm, was ziehen wir jetzt für ein Fazit? Ach ja: Journaling entbindet nicht von der Pflicht zum Backup.
    Natuerlich nicht. Nur schon wegen Human-Errors.
    PS: FAT ist eigentlich noch erstaunlich stabil.
    Solange man kein Write-Caching einsetzt. Ich weiss nicht, wie es heute ist, aber 1992 war FAT ohne smartdisk (oder wie das Write-Cache Program hiess) erstaunlich stabil. D.h. gleiche Situation wie Unix ca. 1976.
    nur IDE? (Score:0)
    Von Anonymer Feigling am Friday 21. February, 18:27 MEW (#2)
    wenn ich das richtig sehe sind da doch auch SCSI-Platten betroffen? Es sei denn SCSI-Platten würden alle Daten immer in-order schreiben.
    Re:nur IDE? (Score:1)
    Von greybeard am Friday 21. February, 22:44 MEW (#3)
    (User #412 Info)
    Ja klar, sie sind auch betroffen.

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen