Backup der ESXi-Hostkonfiguration: 4 verschiedene Methoden

Die Virtualisierung bietet mehrere Vorteile für Backup- und Wiederherstellungsvorgänge, die das Rückgrat der Datensicherheit, der Betriebskontinuität und der Verfügbarkeit bilden. Vor allem ermöglicht die Virtualisierung agentenlose und imagebasierte Backups auf Host-Ebene. Diese Art von Backups kann die gesamte VM erfassen, einschließlich der VM-Konfiguration und der VM-Daten.Es ist jedoch wichtig, auch die Hosts zu schützen, da gesunde ESXi-Hosts für den ordnungsgemäßen Betrieb von VMs wichtig sind. Es wird empfohlen, auch die ESXi-Konfiguration zu sichern, da Sie mit einem nutzbaren Host-Backup die Host-Konfiguration in wenigen Minuten wiederherstellen können, ohne einen ESXi-Server von Grund auf neu einrichten zu müssen. Lesen Sie weiter, um mehr über die verschiedenen Methoden für die ESXi-Host-Sicherung zu erfahren.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Methode 1: Sichern von ESXi-Hosts über die ESXi-Befehlszeile

Die Verwendung der ESXi-Befehlszeile ist die kostengünstigste Methode, um eine ESXi-Host-Konfiguration zu sichern. Sie müssen keine zusätzliche Software installieren, um die ESXi-Befehlszeile zu verwenden. Sie müssen lediglich Aktivieren Sie die ESXi-Shell und den Remote-SSH-Zugriff auf einen ESXi-Host.Sobald Sie über SSH eine Verbindung zu Ihrem ESXi-Host hergestellt haben, können Sie die folgenden Befehle ausführen.Die ESXi-Konfiguration wird stündlich automatisch gespeichert unter /bootblank/Zustand.tgz Datei. Aus diesem Grund sollten Sie sicherstellen, dass die aktuelle ESXi-Konfiguration sofort in die ESXi-Konfigurationsdateien geschrieben wird, um sicherzustellen, dass alle seit der letzten automatischen Speicherung vorgenommenen Änderungen an der ESXi-Konfiguration gespeichert werden. Gehen Sie dazu wie folgt vor:

  1. Überprüfen und synchronisieren Sie die ESXi-Konfiguration mit persistentem Speicher:

    vim-cmd hostsvc/firmware/sync_config

  2. Sichern Sie die ESXi-Konfiguration, sobald die Synchronisierung abgeschlossen ist:

    vim-cmd hostsvc/firmware/backup_config

    How to back up ESXi host configuration in ESXi command line

    Als Ergebnis erhalten Sie einen Link zum Herunterladen der Konfigurationspaket.tgz Archiv vom ESXi-Host.

    http://*/downloads/UUID/configBundle-ESXiNameOrIPAddress.tgz

  3. Ersetzen Sie das Sternchen (*) mit der IP-Adresse Ihres ESXi-Hosts. Die Archivdatei, die das ESXi-Backup enthält, wird gespeichert unter /scratch/Herunterladen Verzeichnis für einen kurzen Zeitraum (einige Minuten).

    The ESXi configuration backup bundle is available for downloading

    Die IP-Adresse Ihres ESXi-Hosts finden Sie in der ESXi-Direktkonsolenoberfläche oder in der Befehlszeile mit dem folgenden Befehl:

    esxcli network ip interface ipv4 get

    Die IP-Adresse des im aktuellen Beispiel verwendeten ESXi-Hosts lautet 192.168.101.208

  4. Herunterladen Sie das ESXi-Backup-Archiv so schnell wie möglich und speichern Sie es an einem sicheren Ort.

So automatisieren Sie das Backup der ESXi-Konfiguration in der ESXi-Befehlszeile

Der Vorteil einer Befehlszeilenschnittstelle ist die Möglichkeit zur Automatisierung, und das Backup von ESXi-Konfigurationen bildet dabei keine Ausnahme. Sehen wir uns die dafür erforderlichen Schritte an:

  1. Erstellen Sie ein Verzeichnis zum Speichern von Sicherungsdateien auf Ihrem ESXi-Datenspeicher:

    mkdir /vmfs/volumes/datastore1/ESXi_backup

  2. Erstellen Sie ein Skript zum Sichern der ESXi-Konfiguration:

    vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  3. Fügen Sie die folgenden Zeilen zum Skript hinzu:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

    find /scratch/downloads/ -name \*.tgz -exec cp {} /vmfs/volumes/datastore1/ESXi_backup/ESXi_config_backup_$(date +'%Y%m%d_%H%M%S').tgz \;

    Creating a simple backup script to back up ESXi host configuration

  4. Speichern Sie die Datei und beenden Sie das Programm. vi:

    :wq

    HINWEIS: Zur Vereinfachung können Sie auch den ESXi-Hostnamen oder die IP-Adresse in den Namen der Datei für das Backup aufnehmen. So vermeiden Sie Verwechslungen bei mehreren ESXi-Hosts.

  5. Machen Sie das Skript ausführbar:

    chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  6. Wechseln Sie in das Verzeichnis, in dem sich das Skript befindet:

    cd /vmfs/volumes/datastore1/ESXi_backup/

  7. Führen Sie das Skript aus:

    ./esxi_backup.sh

  8. Überprüfen Sie, ob eine Sicherungsdatei erstellt wurde:

    ls -al

    An ESXi configuration backup file is created

  9. Stellen Sie sicher, dass das Skript zum Backup der ESXi-Konfiguration nach Plan (automatisch) ausgeführt wird. Bearbeiten Sie dazu die Scheduler-Konfiguration:

    vi /var/spool/cron/crontabs/root

  10. Fügen Sie die folgende Zeichenfolge hinzu, um jeden Tag um 02:10 Uhr ein Backup der ESXi-Konfiguration durchzuführen:

    10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  11. Speichern Sie die Änderungen in der Datei. Um Änderungen in der schreibgeschützten Datei zu speichern, geben Sie Folgendes ein:

    :wq!

    Alternativ können Sie die Dateiberechtigungen vor dem Bearbeiten der Datei ändern:

    chmod +w /var/spool/cron/crontabs/root

    Scheduling the ESXi configuration backup process

Nach der Einrichtung wird die ESXi-Konfiguration jeden Tag um 02:10 Uhr automatisch in dieser Datei gesichert: ESXi_Konfigurationssicherung_Datum_Uhrzeit.tgz

So stellen Sie die ESXi-Konfiguration in der ESXi-Befehlszeile wieder her

Sie sollten ESXi in derselben Version und mit derselben Build-Nummer wie der gesicherte ESXi-Host auf dem Rechner installiert haben, auf dem Sie die ESXi-Konfiguration wiederherstellen möchten. Diese Regel gilt für alle in diesem Blogbeitrag behandelten Methoden zur Wiederherstellung der ESXi-Konfiguration.Wenn Sie die ESXi-Konfiguration auf einem Von Grund auf neu installierter ESXi-Host (frisch installiert) müssen Sie die IP-Adresse für die Netzwerkschnittstelle festlegen, die für das ESXi-Management-Netzwerk verwendet wird, und den SSH-Zugriff aktivieren.Die UUID muss sowohl auf dem ESXi-Server, der gesichert wurde, als auch auf dem ESXi-Server, auf dem die Konfiguration wiederhergestellt werden soll, identisch sein. Die Schritte, die zu befolgen sind, wenn die UUID-Werte unterschiedlich sind, werden im weiteren Abschnitt behandelt.So wiederholen Sie das Wiederherstellen der ESXi-Konfiguration:

  1. Nachdem Sie Ihren frisch installierten ESXi-Host für die Wiederherstellung der ESXi-Konfiguration aus einem Backup vorbereitet haben, verbinden Sie sich über SSH mit dem ESXi-Host und versetzen Sie den Host in den Modus der Wartung (in diesem Modus werden VMs angehalten).

    esxcli system maintenanceMode set --enable yes

    oder

    vim-cmd hostsvc/maintenance_mode_enter

  2. Kopieren Sie das Archiv, das die ESXi-Konfigurationssicherung enthält, mit einem SCP-Client, z. B. WinSCP, in ein Verzeichnis auf dem ESXi-Host. Kopieren wir die configBundle-xxxx.tgz Archiv vom lokalen Rechner auf den /tmp/ Verzeichnis auf dem Ziel-ESXi-Server.

    Copying the ESXi configuration backup archive to the destination ESXi host

  3. Benennen Sie die configBundle-xxxx.tgz Datei an Konfigurationspaket.tgz Bevor Sie den Befehl zum Wiederherstellen der ESXi-Konfiguration eingeben. Andernfalls erhalten Sie die Fehlermeldung: „Die Datei /tmp/configBundle.tgz wurde nicht gefunden.„.

    Sie können die Datei in der ESXi-Shell, mit der Sie sich über SSH verbunden haben, umbenennen:

    mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz

  4. Wiederherstellung der ESXi-Konfiguration:

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

    Nach Ausführung dieses Befehls wird ein ESXi-Host automatisch neu gestartet.

    How to restore ESXi configuration from a backup

  5. Nach dem Neustart des ESXi-Servers beenden Sie den Modus der Wartung. Danach können Sie den Host wie gewohnt verwenden.

    esxcli system maintenanceMode set --enable no

    oder

    vim-cmd hostsvc/maintenance_mode_exit

So ändern Sie die UUID, um die ESXi-Konfiguration wiederherzustellen

Sie können die UUID des ESXi-Servers auf zwei Arten überprüfen:

  1. In der ESXi-Befehlszeilenschnittstelle:

    esxcfg-info -u

  2. In der Manifest.txt Dateien innerhalb der Konfigurationspaket.tgz Backup-Archiv, das Sie mit den oben erläuterten Befehlen erstellt haben.

    The ESXi UUID is stored in the Manifest.txt file inside the configBundle.tgz file

Sie können die UUID des ESXi-Servers nicht ändern, da die Kennung in Abhängigkeit von der Hardware generiert wird. Sie können jedoch die ESXi-Konfiguration von ESXi-Host A auf ESXi-Host B wiederherstellen, nach der Änderung der UUID in der Manifest.txt Dateien gespeichert in der Konfigurationspaket.tgz ESXi-Konfigurationssicherungsarchiv.Sehen wir uns nun an, wie Sie die UUID ändern können, um die gesicherte Konfiguration auf einen anderen physischen Server anzuwenden. Server A ist der Server, dessen Konfiguration gesichert wurde, und Server B ist der Server, auf den die Konfiguration angewendet wird.

Stufe 1

Überprüfen Sie die UUID auf dem ESXi-Host, auf den Sie die gesicherte Konfiguration anwenden möchten (Server B). Dazu gibt es mindestens zwei Methoden, wobei Sie mit der zweiten Methode auch die ESXi-Version überprüfen können:

  1. Führen Sie die esxcfg-info -u
  2. Sichern Sie die Konfiguration des ESXi-Servers B:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

  3. Kopieren Sie das Sicherungsarchiv in das temporäre Verzeichnis und wechseln Sie in dieses Verzeichnis:

    cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp

    cd /tmp/

  4. Extrahieren Sie Dateien aus dem Archiv:

    tar zxvf configBundle.tgz

  5. Öffnen Sie die Manifest.txt Dateien mit vi öffnen und den UUID-Wert überprüfen (Sie sehen eine separate Zeile mit der UUID). Notieren Sie sich die UUID:

    vi Manifest.txt

    In unserem Fall lautet die UUID 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.

  6. Sie können temporäre Dateien im löschen /tmp/ Verzeichnis:

    rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz

Stufe 2

  1. Kopieren Sie die Konfigurationspaket.tgz Backup der Konfiguration des ESXi-Servers A auf Server B, beispielsweise in das Verzeichnis /tmp/ Verzeichnis und gehen Sie zu diesem Verzeichnis.
  2. Extrahieren Sie Dateien aus der Konfigurationspaket.tgz Archiv:

    tar zxvf configBundle.tgz

  3. Öffnen Sie die Manifest.txt Datei mit vi und aktualisieren Sie den UUID-Wert von Server A auf die UUID von Server B:

    vi Manifest.txt

    In unserem Fall ändern wir 9EA94D56-7E39-96A8-AB45-DF31EF0971EC in 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.

    Speichern Sie die Datei und beenden Sie den Texteditor:

    :wq

    Changing the UUID value in backup files of the ESXi host

  4. Benennen Sie Ihre Quelle um Konfigurationspaket.tgz Datei an configBundle1.tgz, zum Beispiel (wenn der Name Ihrer ESXi-Konfigurations-Backup-Datei von Konfigurationspaket.tgz(Sie können diesen Schritt überspringen):

    mv configBundle.tgz configBundle1.tgz

  5. Teer Manifest.txt, state.tgz und jumpstrt.gz Dateien in einen neuen Konfigurationspaket.tgz Archiv:

    tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz

  6. Versetzen Sie den ESXi-Host in den Modus der Wartung und stellen Sie die Konfiguration wieder her:

    esxcli system maintenanceMode set --enable yes

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

Methode 2: So sichern Sie einen ESXi-Host mit der vSphere-CLI

Eine weitere von VMware bereitgestellte Befehlszeilenschnittstelle zum Verwalten von VMware ESXi-Hosts ist vSphere CLI (nicht zu verwechseln mit VMware PowerCLI). Sie sollten vSphere CLI auf einem Computer unter Linux oder Windows installieren, um VMware ESXi-Hosts remote zu verwalten. Perl Es gibt Anforderungen an die Installation von vSphere CLI.Der Vorteil der Verwendung von vSphere CLI liegt in der Bequemlichkeit und der Leistungsfähigkeit von Bash unter Linux. Diese Methode ist besonders für ESXi 6.x geeignet. Wenn Sie ESXi 8 verwenden, wählen Sie eine der anderen in diesem Artikel beschriebenen Methoden.

Installieren und Konfigurieren von vCLI

  1. Herunterladen Sie die für Ihr Betriebssystem erforderliche Version von vSphere CLI von der VMware-Website. In diesem Beispiel wird Ubuntu Linux verwendet.
  2. Gehen Sie zu dem Verzeichnis, in dem sich die heruntergeladene Datei befindet, und extrahieren Sie die Dateien aus dem Archiv:

    tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz

  3. Installieren Sie die erforderlichen Pakete:

    apt-get install -y perl-doc libmodule-build-perl libssl-dev libxml-libxml-perl libsoap-lite-perl libuuid-perl build-essential

    Die offizielle Empfehlung von VMware lautet, folgende Pakete zu installieren:

    apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl

  4. Wechseln Sie in das Verzeichnis, in dem sich die extrahierten Dateien befinden, und führen Sie das Installationsprogramm aus:

    ./vmware-install.pl

  5. Lesen und akzeptieren Sie die Lizenzvereinbarung. Wenn Sie vom Installationsprogramm aufgefordert werden, einige erforderliche Module zu installieren, geben Sie Folgendes ein: y und installieren Sie die Module.

    Installing modules for vSphere CLI

  6. In unserem Verwendungsfall müssen einige Module manuell installiert werden. Sie können von der interaktiven Shell von Perl installiert werden.

    Some modules must be installed manually

    Rufen Sie die interaktive Shell von Perl auf:

    perl -MCPAN -e shell

  7. Führen Sie den Befehl aus, um das erforderliche Perl-Modul zu installieren:

    install Devel::StackTrace

    Installieren Sie andere Module auf ähnliche Weise.

    Manual installation of Perl modules to back up ESXi configuration

    HINWEIS: In unserem Fall konnte ein Modul nicht in der interaktiven Perl-Shell installiert werden, aber wir können dieses Modul mit dem folgenden Befehl in der Ubuntu-Konsole installieren:

    apt-get install libcrypt-ssleay-perl

  8. Führen Sie nach der Installation der Perl-Module das VMware vSphere CLI-Installationsprogramm erneut aus.
  9. Die Installation wurde erfolgreich abgeschlossen. In diesem Fall wird der folgende Bildschirm angezeigt:

    The vSphere CLI installation has been completed successfully

  10. Versuchen wir nun, vSphere CLI zu verwenden, und geben Sie den folgenden Befehl in die Linux-Konsole ein, um die Anzeige der Geräte des ESXi-Servers zu erhalten:

    esxcli --server 192.168.101.208 storage core device list

    Wobei 192.168.101.208 die IP-Adresse des ESXi-Servers ist.

    Using vSphere CLI for managing an ESXi host

  11. Der SHA-1-Fingerabdruck des Servers ist nicht vertrauenswürdig, und die Verbindung zum ESXi-Host ist fehlgeschlagen. Das bedeutet, dass Sie aus Gründen der Sicherheit den Fingerabdruck definieren sollten. Versuchen wir es mit einem anderen Befehl:

    esxcli --server 192.168.101.208 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    Der Benutzername und das Passwort werden im interaktiven Modus in der Konsole abgefragt.

    A username and password are needed to run the command on an ESXi server

    Verwenden Sie möglichst keine Befehle, bei denen Benutzername und Passwort wie folgt als Klartext eingegeben werden:

    esxcli --server 192.168.101.208 --username root --password TestPass_555 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    HINWEIS: Dies geschieht aus Gründen der Sicherheit. Die ausgeführten Befehle werden in Linux gespeichert, bis Sie den Befehl history -c Befehl zum Löschen des Verlaufs. Wenn Sie den interaktiven Modus vermeiden und die manuelle Eingabe von Benutzername und Passwort umgehen möchten, können Sie die ESXi-Sitzung in einer Datei speichern und diese Datei beim Ausführen von Befehlen verwenden. Das Speichern von Sitzungen bietet mehr Sicherheit als die Eingabe eines Passworts als Klartext im Befehl. Das Speichern von Sitzungen wird im Folgenden erläutert.

Speichern eines Fingerabdrucks zum Verbinden mit ESXi-Hosts

Es ist nicht praktisch, jedes Mal einen ESXi-Fingerabdruck einzugeben, um einen Befehl auszuführen. Glücklicherweise ist es möglich, den Fingerabdruck zu speichern und weitere Befehle mit vSphere CLI auszuführen, ohne einen Fingerabdruck zu definieren.

  1. Gehen Sie zum Verzeichnis:

    cd /usr/lib/vmware-vcli/apps/general/

  2. Führen Sie den Befehl wie folgt aus:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint

    In unserem speziellen Beispiel lautet der Befehl:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s 192.168.101.208 -t B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA

    Saving a thumbprint for running commands in vSphere CLI

  3. Jetzt können Sie Befehle in der vSphere-CLI ausführen, ohne jedes Mal einen Fingerabdruck eingeben zu müssen:

    esxcli --server 192.168.101.208 system maintenanceMode get

    Entering a login and password to execute a command on an ESXi host remotely

Sie müssen jedoch weiterhin einen Benutzernamen und ein Passwort eingeben. Sie können vSphere CLI so konfigurieren, dass Befehle ausgeführt werden, ohne jedes Mal ein Passwort eingeben zu müssen, wie in den folgenden Abschnitten beschrieben.

Verwendung einer Sitzungsdatei für das Verbinden mit ESXi-Hosts

Die Verwendung einer gespeicherten Sitzungsdatei ist eine der Methoden, um die Eingabe eines Benutzernamens und eines Passworts zu vermeiden, wenn Sie einen Befehl auf einem Remote-ESXi-Host von der vSphere-CLI ausführen.

  1. Erstellen Sie ein Verzeichnis zum Speichern der ESXi-Konfigurations-Backup-Dateien, zum Beispiel: /Backup/

    mkdir /backup

  2. Gehen Sie zu diesem Verzeichnis:

    cd /usr/lib/vmware-vcli/apps/session

  3. Speichern Sie Ihre autorisierte ESXi-Host-Sitzung mithilfe eines Perl-Skripts mit dem folgenden Befehl in einer Datei:

    perl save_session.pl --savesessionfile /backup/192-168-101-208session --server 192.168.101.208 --username root --password TestPass_555

    Wo:

    savesessionfile /Backup/192-168-101-208session ist der Name der erstellten Sitzungsdatei.

    Der Server 192.168.101.208 ist der Name des ESXi-Hosts, dessen Sitzung gespeichert ist (dieser ESXi-Host wird in mehreren Beispielen verwendet).

    Der Benutzername root ist der Name des Benutzers, der mit dem ESXi-Host verbunden ist.

    Das Passwort „TestPass_555“ ist das Passwort für den Benutzer, der mit dem ESXi-Host verbunden ist.

Jetzt können Sie Befehle ausführen, ohne ein Passwort einzugeben, aber Sie sollten das Sitzungsdatei Taste (Option) und legen Sie den Pfad zur Sitzungsdatei fest.Beispiel:esxcli --sessionfile /backup/192-168-101-208session system maintenanceMode getRunning commands in vSphere CLI by using a session file

Verwenden einer Konfigurationsdatei zum Verbinden mit ESXi-Hosts

Die Idee hinter dieser Methode besteht darin, die Anmeldeinformationen als Klartext in der Konfigurationsdatei zu speichern und bei der Ausführung von ESXi-Befehlen in der vSphere-CLI auf diese Datei zu verweisen.

  1. Erstellen Sie eine Konfigurationsdatei:

    vim /backup/vcli-config

  2. Geben Sie die Anmeldeinformationen wie folgt ein:

    VI_USERNAME=root

    VI_PASSWORD=TestPass_555

  3. Speichern Sie die Datei.
  4. Führen Sie diesen Befehl von dem Remote-ESXi-Server mit der vSphere-Befehlszeilenschnittstelle aus:

    esxcli --server 192.168.101.208 --config vcli-config system maintenanceMode get

    Running commands in vSphere CLI by using a configuration file

HINWEIS: Da die Anmeldeinformationen als Klartext gespeichert werden, ist diese Methode nicht sicher.

Verwenden eines Speichers für Anmeldeinformationen für das Verbinden mit ESXi-Hosts

Ein Credential Store ist die XML-Datei, die sich im Benutzerverzeichnis im vmware Unterverzeichnis ~/.vmware/credstore/vicredentials.xmlDer Vorteil der Verwendung des Speichers für die Anmeldeinformationen zum Ausführen von Befehlen auf Remote-ESXi-Hosts besteht darin, dass das Passwort nicht als Klartext gespeichert wird. Dadurch bietet diese Methode eine höhere Sicherheit.

  1. Um Anmeldeinformationen zum Anmeldedaten-Speicher hinzuzufügen, führen Sie den folgenden Befehl aus:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root

  2. Listen Sie die im Anmeldedaten-Speicher gespeicherten Anmeldeinformationen auf, um sicherzustellen, dass die erforderlichen Anmeldeinformationen vorhanden sind:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl list

  3. Führen Sie den Befehl auf dem Remote-ESXi-Host aus, ohne ein Passwort einzugeben, indem Sie die Anmeldeinformationen verwenden:

    # esxcli --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get

    Wenn Sie einen Nicht-Root-Benutzer verwenden, wird die Datei mit den Anmeldeinformationen gespeichert in /home/Benutzername/.vmware/credstore/vicredentials.xml

    Running commands in vSphere CLI without entering the credentials

    Im folgenden Screenshot sehen Sie, wie Anmeldeinformationen in der Datei für die Anmeldeinformationen gespeichert werden.

    ESXi credentials are saved in the credentials store

Sichern der ESXi-Host-Konfiguration mit der vSphere-Befehlszeilenschnittstelle

Nachdem Sie nun die vSphere-CLI auf dem Ubuntu-Linux-Rechner konfiguriert haben, können Sie die Befehle ausführen und die ESXi-Konfiguration sichern:

  1. Gehen Sie zu /usr/bin/ Verzeichnis:

    cd /usr/bin

  2. Um ein Backup der ESXi-Konfiguration zu erstellen, ohne den Benutzernamen und das Passwort einzugeben, verwenden Sie einen der folgenden Befehle.
    • Verwenden Sie für Benutzernamen und Passwörter, die in den Anmeldeinformationen gespeichert sind, den folgenden Befehl:

      vicfg-cfgbackup --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml -s /backup/192-168-101-208-esxi-cfg.tgz

    • Oder verwenden Sie nach dem Speichern der Sitzung in der Sitzungsdatei den Befehl:

      vicfg-cfgbackup --sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz

      Backup ESXi host configuration by using the session file for authentication

      HINWEIS: vicfg- Befehle sind veraltet. Wenn vicfg in Ihrem Fall nicht funktioniert, verwenden Sie ESXCLI Entsprechende Befehle in der Befehlszeilenschnittstelle bei der Arbeit mit ESXi-Hosts der neuesten Versionen. Siehe Befehle für andere ESXi-Konfigurations-Backup-Methoden.

      Der Nachteil der Verwendung des Sitzungsdatei Die Option ist der Leerlauf, wenn nach Ausführung des letzten Befehls in vSphere CLI 30 Minuten lang keine Aktivität stattfindet. Nach diesem Leerlauf müssen Sie sich erneut authentifizieren und eine Sitzungsdatei erstellen.

    • Wenn Sie ein Backup der ESXi-Konfiguration erstellen möchten, während Sie ein Passwort im interaktiven Modus eingeben, können Sie den folgenden Befehl ausführen:

      vicfg-cfgbackup --server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz

      Backing up ESXi configuration and entering a login and password in interactive mode

So automatisieren Sie das Backup der ESXi-Konfiguration

Wenn Sie eine sich dynamisch verändernde Umgebung haben und die Konfiguration der ESXi-Hosts häufig geändert wird, ist ein manuelles Backup der ESXi-Hosts möglicherweise nicht praktikabel. In diesem Fall können Sie das Backup Ihrer ESXi-Konfiguration automatisieren, indem Sie dem Scheduler einen Befehl zum Backup oder ein Sicherungs-Skript hinzufügen, das mehrere Befehle enthält. Crontab ist ein Scheduler unter Linux.

  1. Bearbeiten Sie die Scheduler-Konfiguration unter Linux, damit der Befehl zum Backup der ESXi-Konfiguration regelmäßig und automatisch ausgeführt wird.

    crontab -e

    HINWEIS: Wenn Sie die crontab-Konfiguration zum ersten Mal bearbeiten, sollten Sie den Standard-Texteditor auswählen, der zum Bearbeiten der crontab-Konfiguration verwendet werden muss. In unserem Beispiel verwenden wir /usr/bin/vim.basic zu diesem Zweck.

    Das Format der crontab-Konfiguration lautet wie folgt:

    Minuten Stunden Tag_des_Monats Monat Wochentag Befehl 

  2. Sichern wir die ESXi-Host-Konfiguration jeden Abend um 03:25 Uhr, indem wir die folgende Zeile zur crontab-Konfiguration hinzufügen:

    25 03 * * * /usr/bin/vicfg-cfgbackup Server 192.168.101.208 config /Backup/vcli-config -s /Backup/192-168-101-208-esxi-cfg-cron.tgz

  3. Schreiben Sie die Konfiguration des crontab Scheduler und den Texteditor beenden vim (das in diesem Beispiel verwendet wird):

    :wq

    Automating ESXi config backup by using crontab

  4. Warten wir bis nach 03:25 Uhr, um das Verzeichnis zu überprüfen, in dem die ESXi-Sicherungskonfigurationsdateien gespeichert werden müssen:

    ls -al

    Wie Sie im folgenden Screenshot sehen können, wurde die Datei zum Backup der ESXi-Host-Konfiguration um 03:25 Uhr automatisch erstellt.

    ESXi configuration backup is saved automatically

Nun wurde das ESXi-Backup automatisch erstellt, was großartig ist, aber es gibt einen Nachteil. Jedes Mal, wenn crontab einen geplanten Befehl zum Erstellen des ESXi-Backups ausführt, wird die vorherige tgz Die Dateien werden von der neuen überschrieben. tgz Datei. Dies kann zu Problemen führen, wenn die vor zwei Tagen erstellte Sicherung mit der korrekten ESXi-Konfiguration durch eine am nächsten Tag erstellte Datei mit der falschen ESXi-Konfiguration überschrieben wird. Um dieses Problem zu vermeiden, sollten Sie die ESXi-Konfiguration in verschiedenen Dateien sichern.Erstellen wir ein einfaches Skript, um die ESXi-Konfiguration jedes Mal als separate Datei mit einem eindeutigen Namen zu speichern, der das Datum und die Zeit der Erstellung der ESXi-Konfigurationssicherungsdatei im Namen der Datei enthält. Durch das Erstellen eines Skripts können Sie Befehle zum Sichern mehrerer ESXi-Hosts hinzufügen, indem Sie ein einziges Skript ausführen.

  1. Erstellen Sie die esxi_backup.sh Datei im Verzeichnis /backup/:

    vim /backup/esxi_backup.sh

  2. Fügen Sie den Dateien folgende Zeilen hinzu:

    #!/bin/bash

    ESXI101_208_BACKUP_NAME=“192-168-101-208-$(datum +’%Y%m%d_%H%M%S‘)esxi-cfg.tgz“

    vicfg-cfg-Sicherung Server 192.168.101.208 config /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME

  3. Schreiben Sie die Änderungen in die Datei und beenden Sie den Texteditor vim:

    :wq

  4. Machen Sie die Datei ausführbar:

    chmod +x /backup/esxi_backup.sh

  5. Bearbeiten Sie die Scheduler-Konfiguration:

    crontab -e

  6. Fügen Sie die Zeile wie folgt hinzu:

    50 06 * * * /backup/esxi_backup.sh

    Mit dieser Konfigurationszeile können wir crontab so einstellen, dass das ESXi-Backup-Skript um 06:50 Uhr ausgeführt wird.

    Deaktivieren Sie die zuvor hinzugefügte geplante Aufgabe, indem Sie das Zeichen # am Anfang der Zeile einfügen.

    Speichern Sie die Konfiguration.

    Cron configuration that creates ESXi config backup files with unique names

  7. Warten Sie die festgelegte Zeit ab und überprüfen Sie dann, ob das ESXi-Konfigurations-Backup-Archiv erstellt wurde.

    ESXi configuration backup files have unique names

Dies ist ein einfaches Skript, das die Idee der Automatisierung veranschaulicht. Sie können komplexe Skripte erstellen, um mehrere ESXi-Hosts zu sichern.HINWEIS: Nach jedem Neustart von ESXi oder nach 30 Minuten Leerlauf läuft die Authentifizierung für die ESXi-Sitzung ab. Beachten Sie diese Funktion, wenn Sie ein Skript für die automatisierte ESXi-Sicherung erstellen.

So stellen Sie die ESXi-Konfiguration in der vSphere-Befehlszeilenschnittstelle wieder her

Die Anforderungen für die Wiederherstellung der ESXi-Konfiguration mithilfe der vSphere-CLI ähneln den Anforderungen für andere Methoden. Um die ESXi-Konfiguration wiederherzustellen, stellen Sie sicher, dass der Fernzugriff über SSH aktiviert ist und die IP-Adresse des ESXi-Servers bekannt ist (es wird empfohlen, dieselbe IP-Adresse wie die IP-Adresse des gesicherten ESXi-Hosts zu verwenden).Um die ESXi-Konfiguration wiederherzustellen, führen Sie folgenden Befehl aus:vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -l backup_fileIn unserem speziellen Beispiel lautet der Befehl:vicfg-cfgbackup --server=192.168.101.208 --username=root -l /backup/192-168-101-208-esxi-cfg.tgzWenn sich die UUID des Ziel-ESXi-Hosts, auf dem Sie die Konfiguration wiederherstellen möchten, von der UUID des gesicherten ESXi-Servers unterscheidet (dessen UUID in der Manifest.txt Datei innerhalb der tgz Backup-Archiv), können Sie die -f Schlüssel (Force), um die UUID zu überschreiben.How to restore ESXi configuration from your backupSie können die UUID des laufenden ESXi-Hosts mit dem folgenden Befehl überprüfen:esxcfg-info -uHINWEIS: Ab ESXi 7.0 U2 funktioniert die UUID-Zwangsüberschreibung nicht, wenn auf einem ESXi-Host ein TPM (Trusted Platform Module) verwendet wird.

Methode 3: Verwenden von PowerCLI zum Sichern von ESXi-Hosts

Benutzer, die Windows PowerShell mögen, können PowerCLI für das Management von vSphere und zum Sichern von ESXi-Konfigurationen. PowerCLI ist eine Reihe von PowerShell-Cmdlets. Einige grundlegende PowerCLI-Befehle werden in dieser Blogbeitrag.Um PowerCLI zum Sichern des ESXi-Hosts zu verwenden, müssen Sie zunächst PowerCLI installieren auf Ihrem Betriebssystem:

  1. Führen Sie PowerCLI als Administrator unter Windows aus.
  2. Verbinden Sie sich mit Ihrem ESXi-Server:

    Connect-VIServer ESXi_IP_address -user user_name -password your_password

    In unserem Verwendungsfall verwenden wir die folgenden Befehle:

    Connect-VIServer 192.168.101.208 -user root -password TestPass_555

    Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath \"C:\backup ESXi host\"

    How to take ESXi host backup with PowerCLI

    • Wenn Ihre ESXi-Hosts von vCenter Server verwaltet werden, können Sie zunächst eine Verbindung zu vCenter herstellen und dann die ESXi-Konfiguration auf Ihren Hosts in PowerCLI sichern, ohne sich vor jeder Sicherung der Hostkonfiguration erneut authentifizieren zu müssen:

      Connect-VIServer 10.10.10.16

      Geben Sie Ihren Namen für die Verwaltung und Ihr Passwort für den Zugriff auf vCenter Server ein. Zu diesem Zweck erscheint ein Popup-Fenster.

      Connecting to the vCenter server in PowerCLI

  3. Sichern Sie die ESXi-Konfiguration jedes Hosts:

    Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath \"C:\backup ESXi host\"

    Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath \"C:\backup ESXi host\"

    How to back up configuration of each ESXi host in PowerCLI

So stellen Sie die ESXi-Konfiguration in PowerCLI wieder her

  1. Führen Sie VMware PowerCLI als Administrator der Verwaltung aus.
  2. Verbinden Sie sich mit dem ESXi-Host, auf dem Sie die Konfiguration wiederherstellen möchten. In unserem Beispiel wiederholen wir die Wiederherstellung der Konfiguration auf dem ESXi-Host mit der IP-Adresse 192.168.101.208.
  3. Versetzen Sie den ESXi-Host in den Modus der Wartung:

    Set-VMHost -VMHost 192.168.101.208 -State Maintenance

  4. Stellen Sie sicher, dass alle auf diesem ESXi-Host befindlichen VMs ausgeschaltet oder auf einen anderen ESXi-Host migriert sind, bevor Sie die ESXi-Konfiguration wiederherstellen. Beachten Sie, dass der ESXi-Host nach Ausführung des Befehls zum Wiederherstellen der Konfiguration automatisch neu gestartet wird.
  5. Konfiguration mit dem Set-VMHostFirmware restore Befehl:

    Set-VMHostFirmware -vmhost 192.168.101.208 -Restore -SourcePath \"C:\backup ESXi host\configBundle-192.168.101.20

    8.tgz\" -HostUser root -HostPassword TestPass_555

    ESXi configuration is recovered in PowerCLI

Die Version, Build-Nummer und UUID des ESXi-Hosts, auf dem die Konfiguration wiederhergestellt wird, müssen mit der Version, Build-Nummer und UUID des ESXi-Hosts übereinstimmen, dessen Backup Sie zur Wiederherstellung der Konfiguration verwenden. Verwenden Sie die -Kraft Geben Sie den Befehl ein, um die UUID-Prüfung zu überspringen.

Methode 4: Manuelles Backup und Wiederherstellen der ESXi-Konfiguration

Sie sollten auch auf eine Situation vorbereitet sein, in der Sie sich nicht bei Ihrem ESXi-Host anmelden können oder wenn ein ESXi-Host nicht booten kann und Sie die Befehlszeilenschnittstelle nicht verwenden können, um den Befehl zum Sichern oder Wiederherstellen der ESXi-Konfiguration auszuführen. Dies kann aufgrund von Hardwarefehlern oder Softwareproblemen geschehen. In diesem Fall ist es besser, zu wissen, wie man eine ESXi-Konfiguration manuell sichert und wiederherstellt.Wie Sie sich vielleicht aus der Standardeinstellung erinnern crontab Konfiguration auf einem ESXi-Host, die /sbin/auto-backup.sh Das Skript wird stündlich und bei jedem Neustart oder Herunterfahren eines ESXi-Hosts ausgeführt. Dieses Skript dient dazu, die im Speicher abgelegte ESXi-Konfiguration zu sichern. /bootbank/Zustand.tgz Dateien.HINWEIS: Das /bootbank/Zustand.tgz Die Dateien dürfen nicht verschlüsselt sein, um diese Methode verwenden zu können.Die ESXi-Konfiguration wird im RAM des Computers gespeichert, wenn ein ESXi-Server ausgeführt wird (die entsprechende RAM-Festplatte wird auf dem /etc/ Verzeichnis). Beim Booten von ESXi werden Systemdateien aus dem /bootbank/Zustand.tgz Archiv zu den /etc/ Verzeichnis. Sie können die Datei manuell kopieren. /bootbank/Zustand.tgz Dateien, wenn Ihr ESXi-Host läuft, mithilfe eines SCP-Clients wie WinSCP (der Remote-SSH-Zugriff muss aktiviert sein). Alternativ können Sie von der Live-DVD booten und die state.tgz Dateien manuell, wenn Ihr ESXi-Host nicht bootfähig ist (z. B. aufgrund eines Hardwarefehlers).

Manueller Workflow für die Wiederherstellung

  1. Bereiten Sie das zuvor mit ESXi Shell, vSphere CLI oder PowerCLI erstellte Backup-Archiv vor. Der Name der Datei lautet Konfigurationspaket-192-168-101-208.tgz In unserem Fall können Sie die Datei beispielsweise auf einen USB-Stick kopieren und diesen Stick in einen USB-Port des ESXi-Servers einstecken, auf dem Sie die Systemkonfiguration wiederherstellen müssen.
  2. Starten Sie den Rechner, auf dem ESXi installiert ist, von der Live-CD/DVD. Sie können die Ubuntu-Installations-CD als Live-CD/DVD verwenden.
  3. Öffnen Sie die Konsole (Terminal) in Linux.
  4. Liste der Partitionen:

    ls -al /dev/sd*

    fdisk -l | grep /dev/sda

    In diesem Fall benötigen wir die /dev/sda5/ Partition, die als Microsoft-Basisdaten gekennzeichnet ist.

    ESXi-Festplattenpartitionen wurden in dem Blogbeitrag über ESXi von einem USB-Stick booten und ESXi-Passwort-Wiederherstellung.

    Mounting the partition that contains the ESXi configuration archive

    Wir sind interessiert an der /dev/sda5 Partition in diesem Fall.

  5. Erstellen Sie das Verzeichnis, in das die Partition /dev/sda5 gemountet wird:

    mkdir /mnt/sda5

  6. Hängen Sie die Partition der Festplatte in dieses Verzeichnis ein:

    mount /dev/sda5 /mnt/sda5

  7. In der /mnt/sda5 Verzeichnis finden Sie die state.tgz Datei, die die ESXi-Konfiguration enthält. Dieses Verzeichnis (in dem state.tgz gespeichert wird) wird als /bootblank/ wenn ein ESXi-Host gebootet wird.
  8. Kopieren Sie das ESXi-Konfigurationssicherungsarchiv vom USB-Stick auf den /tmp/Verzeichnis von Ubuntu, das von der Live-DVD geladen wurde. In unserem Beispiel kopieren wir:

    cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz

  9. Extrahieren Sie Dateien aus dem Backup-Archiv:

    tar zxvf /tmp/configBundle.tgz

  10. Sie können sehen, dass die state.tgz Die Dateien werden aus dem Archiv extrahiert:

    ls -al /tmp/

  11. Umbenennen des Originals state.tgz Datei, die sich auf dem /dev/sda5 Partition gemountet auf /mnt/sda5/

    mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz

  12. Kopieren Sie die state.tgz Dateien, die Sie aus dem ESXi-Konfigurations-Backup-Archiv extrahiert haben (Konfigurationspaket.tgz) zum /tmp/ Verzeichnis:

    cp /tmp/state.tgz /mnt/sda5/

  13. Gemountete Partitionen unmounten:

    umount /dev/sda5/

  14. Starten Sie den Server neu. Nehmen Sie die Ubuntu Live-DVD aus dem Laufwerk und booten Sie den Computer von der Festplatte, auf der ESXi installiert ist.

    init 6

Jetzt sollte Ihre ESXi-Konfiguration wiederhergestellt sein.

Schlussfolgerung

Die Verwendung der ESXi-Befehlszeilenschnittstelle ist vorteilhaft, da Sie keine zusätzliche Software installieren müssen. Die Vorteile der vSphere-Befehlszeilenschnittstelle (CLI) sind die Möglichkeit, Befehle von Linux-Rechnern remote auszuführen, und die Möglichkeit, das Backup der ESXi-Konfiguration zu automatisieren. PowerCLI hingegen dürfte Windows-Benutzern gefallen.Wenn ein ESXi-Host nicht funktionsfähig ist und Sie den Host nicht booten können, können Sie die Konfiguration manuell zum Backup sichern und wiederherstellen. Beachten Sie, dass Bootblank-Informationen und Informationen zu VMs nicht in der ESXi-Konfigurationssicherungsdatei gespeichert werden. Nach der Wiederherstellung der ESXi-Konfiguration müssen Sie möglicherweise virtuelle Maschinen in Ihrem Inventar registrieren.Es wird empfohlen, zusätzlich zum Backup von ESXi-Hosts auch Ihre vSphere-Virtuellen Maschinen zu sichern. NAKIVO Backup & Replication ist eine universelle Backup-Lösung, mit der Sie Ihre VMware-VMs, Hyper-V-VMs, Amazon EC2-Instanzen sowie physische Linux- und Windows-Server sichern können.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Empfohlene Artikel