GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sollte ich `mdadm –create` verwenden, um den Raid wiederherzustellen?

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.

Verwandte:Richtige Syntax für die Verwendung von awk in Kombination mit anderen Befehlen in xargs sh –c?

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.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. Wie verwende ich den basename-Befehl?

  4. Überprüfen Sie die verwendete Version von Wordpress

  5. Wie benutzt man dos2unix?

So verwenden Sie den nmap-Befehl

7 Möglichkeiten, den Linux Head-Befehl zu verwenden

Terraform vs. Ansible:Was ist der Unterschied und welches sollten Sie verwenden?

Was ist die ONLYOFFICE Community-Funktion und warum sollten Sie sie verwenden?

Verwendung des grep-Befehls unter Linux

Die 20 besten IRC-Clients für Linux, die Sie jeden Tag verwenden sollten