Bare Metal Recovery eines Linux Systems

Wizzard_Slayer

Lt. Commander
Registriert
Apr. 2003
Beiträge
1.806
Hallo zusammen,

wir sichern ein Linux System mittels Bare Metal und "Relax and Recover" (rear)

Wir hatten nun einen defekt an einem der Server und müssen die VM aus dem Backup wiederherstellen.

Das System meldet allerdings, dass es den Bootloader nicht wieder installieren konnte und man dies selbst durchführen soll.


Es wird beschrieben man soll mittels "chroot /mnt/local bash --login" in das wiederhergestellte System wechseln.

Allerdings quittiert mir das System dies mit "Bash noch such file or directory"

bmr1.JPG


Kann mir jemand erklären wie ich hier vorgehen muss?

Vielen dank vorab

bmr.JPG
 
Was liegt unter /mnt/local? Wurde alles korrekt gemountet, auch proc, sys, efivars (falls nötig)?
 
Was muss denn gemountet sein und wo seh ich was gemountet ist?
Ich bin leider ein echter Linux Noob^^

bmr2.JPG



Gemountet hab ich proc wie im Screenshot beschrieben.

bmr3.JPG
 
Aktuelle Mounts siehts du mit cat /proc/mounts. Mit lsblk siehst du Dateisysteme und von welchen Disks diese Stammen.

In deinem letzten Screenshot bist du in /bin. Das ist also NICHT im wiederhergestellten System, sondern der bin-Ordner deiner Rescue-Umgebung. Alle mounts des wiederhergestellten Systems sind unter /mnt/local.
Mit chroot (change root) wechselst du den root-Pfad / vom echten / zu /mnt/local. Das ist für alle Anwendungen aber transparent und man muss sich klar machen was das bedeutet: Auch alle Konsolen-Befehle wie ls wissen nicht das sie in einer chroot sind und verhalten sich so, als wäre der Inhalt von /mnt/local/ alles was es gibt.
D.h. wenn du in der chroot bash ausführst, d.h. in der chroot wird /bin/bash ausgeführt, dann nimmt es in Wirklichkeit /mnt/local/bin/bash und eben dieses muss existieren.
Du bist mit chroot also plötzlich "in" einem anderswo installierten Betriebssystem und führst von da alle Programme aus. Allerdings läuft alles weiterhin von dem Kernel deines Live-Systems aus. Chroot ist also besonders praktisch wenn man ein anderes Betriebssystem benutzen will/muss weil man keinen eigenen Kernel booten will (was eine VM und daher erheblich mehr Ressourcen bräuchte) oder kann (z.B. weil das Ziel-Betriebssystem nicht bootbar ist). Docker Container & Co. funktionieren übrigens auf die gleiche Art.

Ferner müssen in der chroot auch diverse virtuelle Dateisysteme wie z.B. /proc (und besser auch /dev und /sys) existieren. Diese sind keine echten Dateisysteme die auf irgendeiner Partition zu finden sind sondern rein virtuelle, vom Kernel bereitgestellte Schnittstellen auf Hardware-Geräte (/dev), vom Kernel ausgeführte Prozesse (/proc) und System-Einstellungen/Informationen (/sys). Arch Wiki empfehlt zum erzeugen dieser Mounts:
Code:
cd /mnt/local
mount -t proc /proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
Bevor man mit dem chroot-Befehl in die chroot-Umgebung wechselt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Natriumchlorid, AB´solut SiD, redjack1000 und 2 andere
Zurück
Oben