raid und data corruption

  • vielleicht hat ja jemand antworten auf meine fragen, ich bin nach dem lesen einiger dokumentationen und grauslichem kernel code nicht wirklich schlauer.

    der fehlerfall um den es mir geht ist "data corruption" auf einer disk im raid verbund, _nicht_ der ausfall der ganzen platte. wie dieser zustand zustande kommt ist egal. ich nehme einfach an das "write" hat noch funktioniert, dann ist ein boesewicht daher gekommen und hat mir auf einer platte ein paar bit umgeschupft.

    was passiert nun bei einem read von raid1? soweit ich den kernelcode verstanden habe, kann es mir passieren dass ich von der guten platte lese, dann ist alles in ordnung. was passiert wenn ich von der platte lese wo die bits umgefallen sind? beschwert sich da das dateisystem? imo hat ext3 aber keine checksummen, und dem raid1 ist es auch egal denke ich. richtig?

    kann ich mit anderen raid-levels meinen fehlerfall erkennen? soweit ich weisz kommen die paritybits bei raid5 ja auch nur zum einsatz wenn ein block verloren (also wieder totalausfall der platte) aufgetreten ist. wenn aber nur bits umgefallen sind, dann hilft mir ein raid5 genau so wenig, oder?

    also meine fragen: wie kann ich data corruption auf dateisystem und/oder raid level erkennen. geht das mit standard raid und ext? wie koennte ich mir data corruption selber baun, also gezielt in ein file faults injecten? bzw nutzt mir das ueberhaupt etwas? wenn ext keine checksums rechnet (wovon ich ausgehe), bringt mir das dann so und so nichts. gibt es raid-level die checksummen ueber die daten rechnen bzw. von mehreren kopien im verbund die daten vergleichen?

    ps: ich habe gelesen, dass alte HW-raid1 controller teilweise den inhalt beider platten gelesen haben und die daten verglichen haben. gibt es diesen "safety mode" auch fuers linux SW raid?

    ich bin fuer alle hinweise dankbar, mfg. kampi

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.


  • was passiert nun bei einem read von raid1? soweit ich den kernelcode verstanden habe, kann es mir passieren dass ich von der guten platte lese, dann ist alles in ordnung. was passiert wenn ich von der platte lese wo die bits umgefallen sind? beschwert sich da das dateisystem? imo hat ext3 aber keine checksummen, und dem raid1 ist es auch egal denke ich. richtig?


    So genau kenn ich mich mit RAID (hab leider noch nicht die Hardware dafür rumstehen) nicht aus, aber wenn das wahr wäre ("raid1 ist es egal ob auf einer der platten ein paar Bits umgefallen sind"), dann hätte RAID doch überhaupt keinen Sinn? Ich meine, wenns dann erst wieder zum Glücksspiel wird, von welcher Platte die Daten gelesen werden.

    EDIT: nach kurzem Nachdenken glaube ich, dass, wenn ein Bösewicht sowas wie "dd if=/dev/urandom of=very_important_file count=10" macht, dann ist das File im Arsch, und das wohl auf allen Platten die im RAID-Verbund hängen. Das geschieht ja transparent, und auf Filesystem-/Daten-Ebene. Wie du schon sagst setzt RAID ja etwas weiter unten an.

    Ich denke, der wichtige Schutz vor Data Corruption wie gerade beschrieben ist ein gescheites Backupsystem. Aber ich denke nicht, dass du gerade in diese Richtung recherchierst?

    Restrain the specimen!

  • aber wenn das wahr wäre ("raid1 ist es egal ob auf einer der platten ein paar Bits umgefallen sind"), dann hätte RAID doch überhaupt keinen Sinn?

    raid (gehen wir mal von raid1 aus) hat schon einen sinn. wenn eine platte wirklich ausfaellt, dann hast du noch die 2te von der du lesen kannst. aber raid schuetzt _nicht_ vor data corruption. keines, auch ned raid5. dort werden die parity-daten auch nur verwendet wenn eine platte krachen geht. fallen bits um, werden sie schlicht falsch gelesen.


    Ich denke, der wichtige Schutz vor Data Corruption wie gerade beschrieben ist ein gescheites Backupsystem. Aber ich denke nicht, dass du gerade in diese Richtung recherchierst?

    schon richtig, nur brauch ich das fuer ein projekt auf einem institut. aber wurscht, ich hab mir schlicht mit "fuse" mein eigenes, sicheres dateisystem (im prinzip nur ein wrapper) geschrieben.

    zeit wirds fuer dateisysteme die wirklich checksums rechnen. mal schaun was aus btrfs wird...

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!