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

So retten Sie virtuelle Maschinen mit Virt-Rescue

Diese kurze Anleitung beschreibt, was Virt-Rescue ist , wie man virtuelle Maschinen mit dem Befehlszeilendienstprogramm Virt-rescue in Linux-Betriebssystemen rettet.

Was ist Virt-Rescue?

Virt-Rettung ist wie eine Rettungs-CD, aber nur für virtuelle Maschinen. Es bietet eine einfache Notfall-Shell und einige Wiederherstellungstools, um Probleme in einer virtuellen Maschine oder in Festplatten-Images zu untersuchen und zu beheben.

Bitte beachten Sie, dass sich Virt-Rescue von Guestfish unterscheidet. Guestfish ist eine interaktive Shell zum Bearbeiten und Vornehmen von Änderungen an virtuellen Maschinen und Disk-Images.

Im Gegensatz dazu ist Virt-Rescue besonders geeignet, um eine virtuelle Maschine zu retten, die nicht gestartet werden konnte. Wenn eine VM nicht bootet, können Sie einfach mit virt-rescue eine Rescue-Shell auf der VM oder dem Disk-Image starten und versuchen, das Problem mit den Standard-Linux-Befehlen zu beheben.

Sie können virt-rescue auf jeder Disk-Image-Datei oder jedem Gerät verwenden, nicht nur auf einer virtuellen Maschine. Es kann beispielsweise auf USB-Laufwerken, SD-Karten und Festplatten verwendet werden. Es erfordert keine Root-Berechtigung, es sei denn, Sie benötigen Root, um das Disk-Image zu öffnen.

Virt-Rescue ist Teil von libguestfs das viele Befehlszeilenprogramme für den Zugriff und die Änderung von Festplatten-Images virtueller Maschinen bereitstellt.

Retten Sie virtuelle Maschinen mit Virt-Rescue

Stellen Sie sicher, dass die virtuellen Maschinen ausgeschaltet sind. Sie dürfen Rescue Shell auf keinem Live ausführen virtuelle Maschinen oder Disk-Images.

Gehen Sie wie folgt vor, um eine Notfall-Shell auf der problematischen virtuellen Maschine auszuführen:

$ virt-rescue -d centos8-uefi -i

Ersetzen Sie "centos8-uefi" mit dem Namen Ihrer virtuellen Maschine. Die Liste der verfügbaren VMs finden Sie mit "virsh list --all" Befehl.

Sie können eine Notfall-Shell auch direkt auf einem oder mehreren Disk-Images ausführen, wie unten:

$ virt-rescue -a CentOS_8_Server.img -i

Hier, -i (--inspector )-Flag wird verwendet, um die Dateisysteme der virtuellen Maschinen automatisch einzuhängen. Wenn Sie es nicht verwenden, müssen Sie die Dateisysteme der virtuellen Maschine manuell in einem leeren Verzeichnis mit dem Namen /sysroot einhängen .

Sie landen nun in einer interaktiven Bash-Shell, wo Sie viele gewöhnliche Linux-Befehle verwenden können, um die virtuellen Maschinen zu retten.

[...]
Welcome to virt-rescue, the libguestfs rescue shell.

Note: The contents of / (root) are the rescue appliance.
Use 'cd /sysroot' or 'chroot /sysroot' to see guest filesystems.

groups: cannot find name for group ID 0
><rescue> 
The virt-rescue escape key is ‘^]’.  Type ‘^] h’ for help.

Von der Rescue-Shell aus können Sie mit den herkömmlichen Linux-Befehlen beginnen, um die VM zu reparieren.

Wie oben erwähnt, werden die Dateisysteme des Gastcomputers in /sysroot eingehängt Verzeichnis.

Sie können dies mit "ls" überprüfen Befehl:

><rescue> ls /sysroot/
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

Um in /sysroot zu chrooten Verzeichnis zuerst:

><rescue> chroot /sysroot

Um die Rescue-Shell zu verlassen, geben Sie exit ein und drücken Sie die Eingabetaste oder drücken Sie Ctrl+d .

VMs im schreibgeschützten Modus starten

Wie bereits erwähnt, sollten Sie Rescue Shell nicht auf Live-VMs ausführen. Aber wenn Sie es aus irgendeinem Grund trotzdem tun wollten, verwenden Sie --ro Option zur Verwendung von "virt-rescue" sicher auf einem Live Disk Image oder einer VM.

$ virt-rescue -d centos8-uefi -i --ro

Oder,

$ virt-rescue -a CentOS_8_Server.img -i --ro

Der --ro Option startet die VM oder das Disk-Image im schreibgeschützten Modus. Es ist ideal zum Experimentieren mit VMs oder Disk-Images. Es werden keine Änderungen tatsächlich gespeichert. Sobald Sie die Shell verlassen, gehen alle Änderungen verloren!

Netzwerkzugriff für VMs aktivieren

Wenn Sie eine Datei oder ein Paket in die virtuelle Maschine herunterladen möchten, können Sie --network verwenden Option beim Ausführen des virt-rescue-Befehls:

$ virt-rescue -d centos8-uefi -i --network

Oder,

$ virt-rescue -a CentOS_8_Server.img -i --network

Diese Option ermöglicht den Netzwerkzugriff innerhalb der Rettungs-Shell, sodass Sie Inhalte aus dem Internet herunterladen können.

Virt-Rescue hat viele Möglichkeiten. Weitere Einzelheiten finden Sie in den Manpages:

$ man virt-rescue

Vorgestelltes Bild von Miguel Á. Padriñán von Pexels .


Linux
  1. So installieren Sie Ubuntu unter Windows mit Hyper-V

  2. So entfernen Sie KVM-basierte virtuelle Maschinen unter Redhat Linux

  3. So klonen Sie KVM-basierte virtuelle Maschinen unter Redhat Linux

  4. So erstellen Sie virtuelle Maschinen (VMs) in der oVirt 4.0-Umgebung

  5. Wöchentliche virtuelle Maschinen mit Build-Skripts

So erstellen Sie virtuelle Proxmox-Maschinen über das Proxmox VE-Web-UI-Dashboard

So exportieren und importieren Sie virtuelle VirtualBox-Maschinen

So verwalten Sie virtuelle Maschinen in KVM mit Virt-Manager

So installieren Sie Apache mit virtuellem Host unter CentOS 8

So erstellen und verwalten Sie virtuelle Maschinen in KVM

So richten Sie die Apache Virtual Host-Konfiguration ein (mit Beispielen)