[buug-l] RAID-5-Formate

Christoph Biedl cbiedl at gmx.de
Die Jan 8 13:36:03 CET 2008


Hallo,

ich bin auf der Suche nach den üblichen Methoden, wie bei einem RAID-5
aus drei Festplatten die chunks über die Platten verteilt werden. Jemand
einen Pointer?

Die lange Geschichte geht so: Ich habe hier die Reste eines Linux
Software-RAID-5 und soll retten, was zu retten ist. Von den drei Platten
existieren nur noch zwei. Die Information, welche der drei Positionen
diese beiden Platten einnehmen, ist zerstört, durch Blick auf die Daten
kann ich das aber mit einiger Sicherheit rekonstruieren. Die
eigentlichen Daten selbst aber sollen vollkommen intakt sein. Das RAID
bildet das einzige PV in einem VG und enthält zwei LV, die jeweils mit
LUKS verschlüsselt sind.

Nun setze ich die Daten über ein selbstgeschriebenes "block device in
userspace" zusammen, nach dem gleichen Schema wie es Softraid in Linux
macht:

   disk0  disk1  disk2
     0      1      x
     3      x      2
     x      4      5

(Verteilung der chunk-Nummer modulo 6, x = Parität)

Danach erkennt vgscan die VG zwar, aber vgchange mag sie nicht mehr
aktivieren. Das Mapping der LV kann ich von Hand aufsetzen (die
Parameter sind aus /etc/lvm bekannt), und ich sehe zumindest den Anfang
der LV korrekt, anhand der "LUKS"-Signatur.

Allerdings will LUKS keines der beiden mehr öffnen: "Command failed"
klingt nach falscher passphrase, aber daran liegt es mit Sicherheit
nicht, denn die key-files existieren noch.

Deshalb ist meine Vermutung, daß die obige Verteilung der Chunks nur in
der ersten Zeile stimmt. Dann habe ich im besten Fall jetzt sieben
Kombinationen durchzuprobieren, im schlimmsten Fall einige mehr. Das
würde ich gerne abkürzen und suche nach den üblichsten Verteilungen, um
so Arbeit zu sparen. Von daher, gibt es andere gebräuchliche Varianten?
Wobei die obige eigentlich ziemlich optimal aussieht.

Andere Ideen, wie man aus diesen Trümmern noch was herausholen könnte,
was ich übersehen haben könnte, sind durchaus erwünscht.

    Christoph