Da ist dieser Typ, der mir immer wieder sagt, dass wir mdadm --create
nicht verwenden sollten unsere RAID-Arrays wiederherzustellen, dass es schlimmer als das Böse ist, ist ein Fehler. Warum ist das so? Ich meine, ich sollte mein RAID wieder zum Laufen bringen, oder? Was soll ich stattdessen verwenden, wenn --create
ist ein Fehler?
Akzeptierte Antwort:
An --create
ist nichts auszusetzen – wenn Sie wissen, was Sie tun.
Das einzige Problem ist:Du weißt es nicht.
Wenn Sie ein RAID erstellen, ist der Befehl normalerweise kurz, wie:
mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/sdx1 /dev/sdy1 /dev/sdz1
Ganz einfach, oder?
Außer es ist nicht wirklich. RAID hat viel mehr Variablen. Es gibt einen Datenoffset, eine Chunksize, eine Metadatenversion und vergessen wir nicht die Laufwerksreihenfolge, die bei einer Neuerstellung leicht falsch gemacht werden kann, da sich die Laufwerksbuchstaben im Laufe der Zeit ändern können.
Hier ist, was ein richtiger --create
ist Der Befehl könnte stattdessen so aussehen:
mdadm --create /dev/md42 --assume-clean
--level=5 --chunk=512K --metadata=1.2 --data-offset=2048s
--raid-devices=3 /dev/sdz1 missing /dev/sdy1
Und was auch immer Ihnen das bringt, Sie sollten es schreibgeschützt testen. Und das ist vielleicht noch nicht alles. Wussten Sie, dass es auch verschiedene RAID-Layouts gibt? --create
ist der allerletzte Strohhalm und die Fallstricke sind nicht offensichtlich. Idealerweise sollten Sie alle Festplatten oder zumindest die Metadatenbereiche sichern oder mit einem Copy-on-Write-Overlay arbeiten.
Für alles, was Sie nicht angeben, mdadm
verwendet Standardeinstellungen. Leider sind diese nicht in Stein gemeißelt, im Grunde haben sie sich alle in der Vergangenheit geändert, und sie werden sich wahrscheinlich auch in Zukunft wieder ändern.
Wenn Sie also --create
verwenden Für die Wiederherstellung müssen Sie RAID wirklich gut verstehen und wissen, wie Ihr altes RAID genau aussah. Und dann müssen Sie --assume-clean
hinzufügen oder belassen Sie eine der Disketten als missing
, nur für den Fall, dass Sie trotzdem einen Fehler gemacht haben. Sie sollten auch mindestens den Anfang und das Ende der Festplatte sichern, damit Sie Metadaten wiederherstellen können, die an den falschen Ort geschrieben wurden.
In den meisten Fällen haben Sie andere Möglichkeiten. --assemble --force
ist eine, aber sie hat ihre eigenen Fallstricke. Sie sollten --examine
zuerst und wenn eines der Laufwerke veralteter ist als die anderen, sollten Sie es nicht in die Baugruppe aufnehmen. Es gibt auch --build
sowie dmsetup
für raid, das keine Metadaten verwendet und Ihnen möglicherweise den Zugriff auf Ihre Daten ermöglicht. Das bedeutet jedoch nicht, dass es sicher ist – Sie schreiben darauf, Sie verlieren Daten, wenn die von Ihnen gewählten Einstellungen falsch sind.
Generell ist die Datenrettung ein weites Feld. Sie brauchen Erfahrung, um sich für die richtige Vorgehensweise entscheiden zu können. Vermeiden Sie das Problem, wenn möglich; Erstellen Sie Backups, dokumentieren Sie Ihre Einrichtung und überwachen Sie Ihre Festplatten, damit Ihr RAID gar nicht erst stirbt.