4 Möglichkeiten, die ESXi-Hostkonfiguration zu sichern

Die Virtualisierung bietet mehrere Vorteile für Backup- und Wiederherstellungsvorgänge, die das Rückgrat des Datenschutzes, der betrieblichen Kontinuität und der Verfügbarkeit darstellen. Am wichtigsten ist, dass die Virtualisierung agentenlose und bildbasierte, auf Hostebene durchgeführte Backups ermöglicht. Diese Arten von Backups können die gesamte VM erfassen, einschließlich der VM-Konfiguration sowie der VM-Daten.

Es ist jedoch wichtig, auch Hosts zu schützen, da gesunde ESXi-Hosts wichtig sind, damit VMs ordnungsgemäß ausgeführt werden können. Es wird empfohlen, auch die ESXi-Konfiguration zu sichern, da ein verwendbares Host-Backup Ihnen helfen kann, die Hostkonfiguration in Minuten wiederherzustellen, ohne einen ESXi-Server von Grund auf einrichten zu müssen. Lesen Sie weiter, um die verschiedenen Methoden für das ESXi-Host-Backup kennenzulernen.

Methode 1: Verwendung der ESXi-Befehlszeile zum Sichern von ESXi-Hosts

Die Verwendung der ESXi-Befehlszeile ist die kostengünstigste Methode zum Sichern einer ESXi-Hostkonfiguration. Sie müssen keine zusätzliche Software installieren, um die ESXi-Befehlszeile zu verwenden. Sie müssen nur die ESXi-Shell aktivieren und den remote SSH-Zugriff auf einen ESXi-Host ermöglichen. Sobald Sie eine Verbindung zu Ihrem ESXi-Host über SSH hergestellt haben, können Sie die Befehle ausführen.

Die ESXi-Konfiguration wird alle Stunde automatisch in die Datei /bootblank/state.tgz gespeichert. Aus diesem Grund sollten Sie sicherstellen, dass die aktuelle ESXi-Konfiguration jetzt in die ESXi-Konfigurationsdateien geschrieben wird, um sicherzustellen, dass alle Änderungen, die mit der ESXi-Konfiguration seit dem letzten automatischen Speichern vorgenommen wurden, gespeichert werden. Um das zu tun:Überprüfen und synchronisieren Sie die ESXi-Konfiguration mit dem persistenten Speicher:
vim-cmd hostsvc/firmware/sync_config

  1. Prüfen und synchronisieren Sie die ESXi-Konfiguration mit der persistenten Speicherung:

    vim-cmd hostsvc/firmware/sync_config

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

    vim-cmd hostsvc/firmware/backup_config

    Als Ergebnis erhalten Sie einen Link zum Herunterladen des configBundle.tgz Archivs von dem ESXi-Host.

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

  3. Ersetzen Sie das Sternchen (*) durch die IP-Adresse Ihres ESXi-Hosts. Die Archivdatei, die das ESXi-Konfigurations-Backup enthält, wird für kurze Zeit (ein paar Minuten) im Verzeichnis /scratch/downloads gespeichert.

    Sie können die IP-Adresse Ihres ESXi-Hosts in der ESXi-Direktkonsole oder in der Befehlszeile mit dem Befehl finden:

    esxcli network ip interface ipv4 get

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

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

Wie man das ESXi-Konfigurations-Backup in der ESXi-Befehlszeile automatisiert

Der Vorteil einer Befehlszeilenschnittstelle besteht in der Möglichkeit zur Automatisierung, und das Backup der ESXi-Konfiguration bildet keine Ausnahme. Gehen wir die Schritte dazu durch:

  1. Erstellen Sie ein Verzeichnis zur Speicherung von Backup-Dateien 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 \;

  4. Speichern Sie die Datei und beenden Sie vi:

    :wq

    HINWEIS: Für größere Bequemlichkeit können Sie auch den ESXi-Hostnamen oder die IP-Adresse zum Dateinamen des Backups hinzufügen. Dadurch wird vermieden, dass Sie sich bei mehreren ESXi-Hosts verwirren.

  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

  9. Stellen Sie sicher, dass das ESXi-Konfigurationssicherungsskript planmäßig (automatisch) ausgeführt wird. Bearbeiten Sie dazu die Zeitplan-Konfiguration:

    vi /var/spool/cron/crontabs/root

  10. Fügen Sie den folgenden String hinzu, um täglich um 02:10 Uhr eine ESXi-Konfigurationssicherung 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 ein:

    :wq!

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

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

Nach der Einrichtung wird die ESXi-Konfiguration automatisch jeden Abend um 02:10 Uhr in die Datei mit dem Namen ESXi_config_bakup_date_time.tgz gesichert.

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

Sie sollten ESXi derselben Version und Build-Nummer wie den gesicherten ESXi-Host auf dem Gerät installiert haben, auf dem Sie die ESXi-Konfiguration wiederherstellen möchten. Diese Regel gilt für alle in diesem Blogbeitrag betrachteten Methoden zur Wiederherstellung der ESXi-Konfiguration.

Wenn Sie die ESXi-Konfiguration auf einem ESXi-Host wiederherstellen (frisch installiert), müssen Sie die IP-Adresse für das Netzwerkinterface, das für das ESXi-Verwaltungsnetzwerk verwendet wird, festlegen und den SSH-Zugriff aktivieren.

Die UUID muss auf beiden ESXi-Servern, die gesichert wurden, und dem ESXi-Server, auf dem die Konfiguration wiederhergestellt wird, gleich sein. Die Schritte, die zu befolgen sind, wenn die UUID-Werte unterschiedlich sind, werden im nächsten Abschnitt behandelt.

Um die ESXi-Konfiguration wiederherzustellen:

  1. Sobald Sie Ihren frisch installierten ESXi-Host vorbereitet haben, um die ESXi-Konfiguration aus einem Backup wiederherzustellen, verbinden Sie sich über SSH mit dem ESXi-Host und versetzen Sie den Host in den Wartungsmodus (VMs werden in diesem Modus angehalten).

    esxcli system maintenanceMode set --enable yes

    oder

    vim-cmd hostsvc/maintenance_mode_enter

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

  3. Benennen Sie die Datei configBundle-xxxx.tgz in configBundle.tgz um, bevor Sie den Befehl zum Wiederherstellen der ESXi-Konfiguration eingeben. Andernfalls erhalten Sie die Fehlermeldung: „Datei /tmp/configBundle.tgz wurde nicht gefunden„.

    Sie können die Datei in der ESXi-Shell, zu der Sie über SSH verbunden sind, umbenennen:

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

  4. Wiederherstellen der ESXi-Konfiguration:

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

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

  5. Nach dem Neustart des ESXi-Servers beenden Sie den Wartungsmodus, danach können Sie den Host wie gewohnt verwenden.

    esxcli system maintenanceMode set --enable no

    oder

    vim-cmd hostsvc/maintenance_mode_exit

Wie man die UUID ändert, um die ESXi-Konfiguration wiederherzustellen

Sie können eine von 2 Möglichkeiten verwenden, um die UUID des ESXi-Servers zu überprüfen:

  1. In der ESXi-Befehlszeilenschnittstelle:

    esxcfg-info -u

  2. In der Manifest.txt-Datei innerhalb des configBundle.tgz-Sicherungsarchivs, das Sie mit den oben erklärten Befehlen erstellt haben.

Sie können die UUID des ESXi-Servers nicht ändern, da die Kennung abhängig von der Hardware generiert wird. Sie können jedoch die ESXi-Konfiguration des ESXi-Hosts A auf den ESXi-Host B wiederherstellen, nachdem Sie die UUID in der Manifest.txt-Datei geändert haben, die im ESXi-Konfigurations-Backup-Archiv configBundle.tgz gespeichert ist.

Lassen Sie uns nun betrachten, wie man die UUID ändert, 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 werden soll.

Phase 1

Überprüfen Sie die UUID auf dem ESXi-Host, auf den Sie die gesicherte Konfiguration anwenden möchten (Server B). Dies kann mit mindestens zwei Methoden durchgeführt werden, wobei die zweite Methode auch die Überprüfung der ESXi-Version ermöglicht:

  1. Führen Sie den Befehl esxcfg-info -u aus
  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 Backup-Archiv in das temporäre Verzeichnis und wechseln Sie zu diesem 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 Datei Manifest.txt mit vi und überprüfen Sie den UUID-Wert (Sie sehen eine separate Zeile mit der UUID). Notieren Sie sich die UUID.

    vi Manifest.txt

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

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

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

Phase 2

  1. Kopieren Sie das Konfigurations-Backup-Archiv configBundle.tgz des ESXi-Servers A auf Server B, zum Beispiel in das Verzeichnis /tmp/ und gehen Sie in dieses Verzeichnis.
  2. Extrahieren Sie Dateien aus dem Archiv configBundle.tgz:

    tar zxvf configBundle.tgz

  3. Öffnen Sie die Datei Manifest.txt mit vi und aktualisieren Sie den UUID-Wert von Server A auf den 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

  4. Benennen Sie Ihre Quelldatei configBundle.tgz in configBundle1.tgz um, zum Beispiel (wenn der Name Ihrer ESXi-Konfigurationssicherungsdatei von configBundle.tgz abweicht, können Sie diesen Schritt überspringen):

    mv configBundle.tgz configBundle1.tgz

  5. Tar Manifest.txt, state.tgz und jumpstrt.gz Dateien in einem neuen configBundle.tgz Archiv zusammenfassen:

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

  6. Setzen Sie den ESXi-Host in den Wartungsmodus 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 den ESXi-Host mit vSphere CLI

Eine weitere Befehlszeilenschnittstelle, die von VMware bereitgestellt wird, um ESXi-Hosts zu verwalten, ist vSphere CLI (nicht zu verwechseln mit VMware PowerCLI). Sie sollten vSphere CLI auf einem Linux- oder Windows-System installieren, um ESXi-Hosts remote zu verwalten. Perl wird benötigt, um vSphere CLI zu installieren.

Der Vorteil der Verwendung von vSphere CLI liegt in der Bequemlichkeit und der Leistungsfähigkeit von bash unter Linux. Diese Methode ist besonders praktisch für ESXi 6.x. Wenn Sie ESXi 8 verwenden, entscheiden Sie sich für andere in diesem Artikel erklärte Methoden.

Installation und Konfiguration von vCLI

  1. Laden Sie die benötigte Version von vSphere CLI für Ihr Betriebssystem von der VMware-Website herunter. In diesem Beispiel wird Ubuntu Linux verwendet.
  2. Gehen Sie zum Verzeichnis, in dem sich die heruntergeladene Datei befindet, und extrahieren Sie 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 VMware-Empfehlung lautet, diesen Paketsatz 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. Gehen Sie zum Verzeichnis, in dem sich die extrahierten Dateien befinden, und führen Sie den Installer aus:

    ./vmware-install.pl

  5. Lesen und akzeptieren Sie die Lizenzvereinbarung. Wenn der Installationsassistent Sie auffordert, einige erforderliche Module zu installieren, geben Sie y ein und installieren Sie die Module.

  6. Einige Module müssen in unserem Fall manuell installiert werden. Sie können über die interaktive Shell von Perl installiert werden.

    Geben Sie die interaktive Perl-Shell ein:

    perl -MCPAN -e shell

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

    install Devel::StackTrace

    Installieren Sie ähnlich andere Module.

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

    apt-get install libcrypt-ssleay-perl

  8. Nach der Installation von Perl-Modulen führen Sie den VMware vSphere CLI-Installer erneut aus.
  9. Die Installation wurde erfolgreich abgeschlossen und Sie können in diesem Fall den folgenden Bildschirm sehen:

  10. Jetzt versuchen wir, vSphere CLI zu verwenden, und geben einen Befehl in der Linux-Konsole ein, um die Liste der Geräte des ESXi-Servers anzuzeigen (192.168.101.208 ist die IP-Adresse des ESXi-Servers).

    esxcli --server 192.168.101.208 storage core device list

  11. Der Server-SHA-1-Fingerabdruck wird nicht vertraut, und die Verbindung zum ESXi-Host ist fehlgeschlagen. Das bedeutet, dass du den Fingerabdruck aus Sicherheitsgründen definieren solltest. Lass uns einen anderen Befehl versuchen:

    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.

    Versuche, Befehle zu vermeiden, bei denen ein Benutzername und ein Passwort wie folgt im 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: Aus Sicherheitsgründen werden die ausgeführten Befehle in Linux gespeichert, bis du den Befehl history -c ausführst, um den Verlauf zu löschen. Wenn du den interaktiven Modus vermeiden und das Login und das Passwort manuell eingeben möchtest, kannst du die ESXi-Sitzung in einer Datei speichern und diese Datei verwenden, wenn du Befehle ausführst. Das Speichern von Sitzungen ist sicher im Gegensatz zur Eingabe eines Passworts im Klartext im Befehl. Das Speichern von Sitzungen wird unten erläutert.

Speichern eines Fingerabdrucks zum Verbinden mit ESXi-Hosts

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

  1. Wechseln Sie zum Verzeichnis:

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

  2. /usr/lib/vmware-vcli/apps/general/credstore_admin.pl hinzufügen -s server -t Daumenabdruck

    In unserem speziellen Beispiel lautet der Befehl:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl hinzufügen -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

  3. Jetzt können Sie Befehle in vSphere CLI ausführen, ohne jedes Mal einen Daumenabdruck einzugeben:

    esxcli --server 192.168.101.208 Systemwartungsmodus erhalten

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

Verwendung einer Sitzungsdatei zum Verbinden mit ESXi-Hosts

Die Verwendung einer gespeicherten Sitzungsdatei ist eine der Methoden, um das Eingeben eines Benutzernamens und eines Kennworts zu vermeiden, wenn ein Befehl auf einem entfernten ESXi-Host mit vSphere CLI ausgeführt wird.

  1. Erstellen Sie ein Verzeichnis zum Speichern von ESXi-Konfigurations-Backupdateien, zum Beispiel /backup/

    mkdir /backup

  2. Wechseln Sie in dieses Verzeichnis:

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

  3. Speichern Sie Ihre autorisierte ESXi-Host-Sitzung in der Datei unter Verwendung eines Perl-Skripts mit dem Befehl:

    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

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

    username root ist der Name des Benutzers, der mit dem ESXi-Host verbunden ist

    password TestPass_555 ist das Kennwort 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 den Sitzungsdatei-Schlüssel (Option) eingeben und den Pfad zur Sitzungsdatei festlegen.

Zum Beispiel:

esxcli --sessionfile /backup/192-168-101-208session system maintenanceMode get

Verwendung einer Konfigurationsdatei zum Verbinden mit ESXi-Hosts

Die Idee hinter dieser Methode besteht darin, die Anmeldeinformationen als Klartext in der Konfigurationsdatei zu speichern und auf diese Datei zu verweisen, wenn ESXi-Befehle in vSphere CLI ausgeführt werden.

  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 auf dem Remote-ESXi-Server mithilfe von vSphere CLI aus:

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

HINWEIS: Da die Anmeldeinformationen im Klartext gespeichert sind, ist diese Methode nicht sicher.

Verwenden Sie einen Anmeldespeicher zum Verbinden mit ESXi-Hosts

A credential store is the xml file located in the user directory in the vmware subdirectory ~/.vmware/credstore/vicredentials.xml. The advantage of using the credentials store to run commands on remote ESXi hosts is that the password is not saved as plain text. As a result, this method provides higher security.

  1. Um Anmeldeinformationen zum Anmeldespeicher hinzuzufügen, führen Sie den Befehl aus:

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

  2. Liste gespeicherter Anmeldeinformationen im Anmeldespeicher, um sicherzustellen, dass die benötigten Anmeldeinformationen vorhanden sind:

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

  3. Führen Sie den Befehl auf dem entfernten ESXi-Host ohne Eingabe eines Passworts unter Verwendung des Anmeldeinformations-Speichers aus:

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

    Wenn Sie einen Nicht-Root-Benutzer verwenden, wird die Anmeldeinformationsdatei unter /home/user_name/.vmware/credstore/vicredentials.xml gespeichert.

Im untenstehenden Screenshot können Sie sehen, wie Anmeldeinformationen in der Anmeldeinformationsdatei gespeichert sind.

Verwenden von vSphere CLI zur Sicherung der ESXi-Hostkonfiguration

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

  1. Wechseln Sie zum /usr/bin/-Verzeichnis:

    cd /usr/bin

  2. Um ein Backup der ESXi-Konfiguration ohne Eingabe von Benutzername und Passwort zu erstellen, verwenden Sie einen der folgenden Befehle.
    • Wenn Benutzername und Passwort im Anmeldespeicher gespeichert sind, verwenden Sie den Befehl:

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

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

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

      HINWEIS: vicfg- Befehle sind veraltet. Wenn vicfg in Ihrem Fall nicht funktioniert, verwenden Sie entsprechende Befehle von ESXCLI in der Befehlszeilenschnittstelle beim Arbeiten mit ESXi-Hosts der neuesten Versionen. Siehe Befehle für andere ESXi-Konfigurationssicherungsmethoden.

      Der Nachteil der Verwendung der Sitzungsdateioption ist die Timeout von 30 Minuten bei Inaktivität nach Ausführung des letzten Befehls in vSphere CLI. Danach müssen Sie sich erneut authentifizieren und eine Sitzungsdatei erstellen.

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

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

Wie man die Sicherung der ESXi-Konfiguration automatisiert

Wenn Sie eine sich dynamisch ändernde Umgebung haben und sich die Konfiguration der ESXi-Hosts häufig ändert, ist eine manuelle Sicherung der ESXi-Hosts möglicherweise nicht praktikabel. In diesem Fall können Sie Ihre ESXi-Konfigurationssicherung automatisieren, indem Sie einen Sicherungsbefehl oder ein Sicherungsskript hinzufügen, das mehrere Befehle enthält, um es dem Zeitplaner hinzuzufügen. Crontab ist ein Zeitplaner in Linux.

  1. Bearbeiten Sie die Zeitplan-Konfiguration in Linux, um das ESXi-Konfigurations-Backup-Befehl regelmäßig und automatisch auszuführen.

    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. Wir sichern die ESXi-Hostkonfiguration jede Nacht um 03:25 Uhr, indem wir 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-Schedulers und beenden Sie den Texteditor vim (der in diesem Beispiel verwendet wird):

    :wq

  4. Warten Sie bis nach 03:25 Uhr, um das Verzeichnis zu überprüfen, in das ESXi-Backup-Konfigurationsdateien gespeichert werden müssen:

    ls -al

    Wie Sie auf dem Screenshot unten sehen, wurde die Backup-Datei der ESXi-Hostkonfiguration automatisch um 03:25 Uhr erstellt.

Jetzt wurde das ESXi-Konfigurations-Backup automatisch erstellt, was großartig ist, aber es gibt einen Nachteil. Jedes Mal, wenn crontab ein geplantes Kommando ausführt, um das ESXi-Konfigurations-Backup zu erstellen, wird die vorherige tgz-Datei durch die neue tgz-Datei überschrieben. Dies kann Probleme verursachen, wenn das Backup mit der richtigen ESXi-Konfiguration, das vorgestern erstellt wurde, durch eine Datei überschrieben wird, die am nächsten Tag erstellt wurde und die falsche ESXi-Konfiguration enthält. Um dieses Problem zu verhindern, sollten Sie die ESXi-Konfiguration in verschiedenen Dateien sichern.

Erstellen Sie ein einfaches Skript, um die ESXi-Konfiguration jedes Mal als separate Datei mit einem eindeutigen Dateinamen zu speichern, der das Datum und die Uhrzeit der Erstellung der ESXi-Konfigurations-Backupdatei im Dateinamen enthält. Durch das Erstellen eines Skripts können Sie Befehle hinzufügen, um mehrere ESXi-Hosts mit einem einzigen Skript zu sichern.

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

    vim /backup/esxi_backup.sh

  2. Fügen Sie folgende Zeilen zur Datei hinzu:

    #!/bin/bash

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

    vicfg-cfgbackup 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 Konfiguration des Zeitgebers:

    crontab -e

  6. Fügen Sie die folgende Zeile hinzu:

    50 06 * * * /backup/esxi_backup.sh

    Diese Konfigurationszeile ermöglicht es uns, Crontab so einzurichten, dass der ESXi-Konfigurations-Backup-Script um 06:50 Uhr ausgeführt wird.

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

    Speichern Sie die Konfiguration.

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

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 ESXi-Neustart oder 30 Minuten Leerlaufzeit läuft die Authentifizierung für die ESXi-Sitzung ab. Beachten Sie diese Funktion beim Erstellen eines Skripts für die automatisierte ESXi-Sicherung.

So stellen Sie die ESXi-Konfiguration in vSphere CLI wieder her

Die Anforderungen für die Wiederherstellung der ESXi-Konfiguration mit vSphere CLI ähneln den Anforderungen für andere Methoden. Um die ESXi-Konfiguration wiederherzustellen, stellen Sie sicher, dass der Remotezugriff ü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 den Befehl wie folgt aus:

vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -l backup_file

In unserem speziellen Beispiel lautet der Befehl:

vicfg-cfgbackup --server=192.168.101.208 --username=root -l /backup/192-168-101-208-esxi-cfg.tgz

Wenn die UUID des Ziel-ESXi-Hosts, auf dem Sie die Konfiguration wiederherstellen möchten, von der UUID des gesicherten ESXi-Servers abweicht (deren UUID in der Datei Manifest.txt innerhalb des tgz-Sicherungsarchivs definiert ist), können Sie den -f-Schlüssel (Force) verwenden, um die UUID zu überschreiben.

Sie können die UUID des laufenden ESXi-Hosts mit dem Befehl überprüfen, den Sie sich erinnern:

esxcfg-info -u

HINWEIS: Ab ESXi 7.0 U2 funktioniert die erzwungene UUID-Überschreibung nicht, wenn ein TPM (Trusted Platform Module) auf einem ESXi-Host verwendet wird.

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

Benutzer, die Windows PowerShell mögen, können PowerCLI für die Verwaltung von vSphere und zum Sichern von ESXi-Konfigurationen verwenden. PowerCLI ist eine Reihe von PowerShell-Cmdlets, und einige grundlegende PowerCLI-Befehle werden in diesem Blogbeitrag erläutert.

Um PowerCLI zum Sichern von ESXi-Hosts zu verwenden, müssen Sie zuerst PowerCLI installieren auf Ihrem Betriebssystem:

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

    Connect-VIServer ESXi_IP-Adresse -Benutzer Benutzername -Passwort Ihr_Passwort

    In unserem Fall verwenden wir die Befehle:

    Connect-VIServer 192.168.101.208 -Benutzer root -Passwort TestPass_555

    Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -Zielpfad "C:\Backup ESXi-Host"

    • Wenn Ihre ESXi-Hosts von vCenter Server verwaltet werden, können Sie sich zuerst mit vCenter verbinden und dann die ESXi-Konfiguration auf Ihren Hosts in PowerCLI sichern, ohne sich jedes Mal authentifizieren zu müssen, bevor Sie die Konfiguration jedes Hosts sichern:

      Connect-VIServer 10.10.10.16

      Geben Sie Ihren administrativen Anmelde- und Kennwort für den Zugriff auf den vCenter Server ein. Ein Popup-Fenster erscheint zu diesem Zweck.

  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"

Wie man die ESXi-Konfiguration in PowerCLI wiederherstellt

  1. Führen Sie VMware PowerCLI als Administrator aus.
  2. Verbinden Sie sich mit dem ESXi-Host, von dem aus Sie die Konfiguration wiederherstellen möchten (in unserem Beispiel stellen wir die Konfiguration auf dem ESXi-Host mit der IP-Adresse 192.168.101.208 wieder her).
  3. Versetzen Sie den ESXi-Host in den Wartungsmodus:

    Set-VMHost -VMHost 192.168.101.208 -State Maintenance

  4. Stellen Sie sicher, dass virtuelle Maschinen, die auf diesem ESXi-Host ausgeführt werden, ausgeschaltet oder auf einen anderen ESXi-Host migriert sind, bevor Sie die ESXi-Konfiguration wiederherstellen. Beachten Sie, dass der ESXi-Host nach Ausführung eines Befehls zur Wiederherstellung der Konfiguration automatisch neu gestartet wird.
  5. Stellen Sie die Konfiguration mit dem Befehl Set-VMHostFirmware restore wieder her:

    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

Die Version, die Build-Nummer und die UUID des ESXi-Hosts, auf dem die Konfiguration wiederhergestellt wird, müssen mit der Version, der Build-Nummer und der UUID des ESXi-Hosts übereinstimmen, dessen Backup Sie zur Wiederherstellung der Konfiguration verwenden. Verwenden Sie den -force Schlüssel im Befehl, um die UUID-Überprüfung zu überspringen.

Methode 4: Manuelle Sicherung und Wiederherstellung der ESXi-Konfiguration

Sie sollten auch für eine Situation bereit 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 eines Hardwarefehlers oder von Softwareproblemen geschehen. In diesem Fall ist es besser zu wissen, wie man eine ESXi-Konfiguration manuell sichert und wiederherstellt.

Wie Sie sich aus der Standard-crontab-Konfiguration auf einem ESXi-Host erinnern, wird das Skript /sbin/auto-backup.sh jede Stunde und immer dann ausgeführt, wenn ein ESXi-Host neu gestartet oder heruntergefahren wird. Dieses Skript ist dazu gedacht, die ESXi-Konfiguration, die im Speicher gespeichert ist, in die Datei /bootbank/state.tgz zu sichern (zu speichern).

HINWEIS: Die Datei /bootbank/state.tgz darf nicht verschlüsselt sein, um diese Methode zu verwenden.

Die ESXi-Konfiguration wird im RAM des Computers gespeichert, wenn ein ESXi-Server läuft (das entsprechende RAM-Disk wird im Verzeichnis /etc/ eingebunden). Beim Booten von ESXi werden Systemdateien aus dem Archiv /bootbank/state.tgz ins Verzeichnis /etc/ extrahiert. Sie können die Datei /bootbank/state.tgz manuell kopieren, wenn Ihr ESXi-Host läuft, indem Sie einen SCP-Client wie WinSCP verwenden (der remote SSH-Zugriff muss aktiviert sein). Alternativ können Sie von der Live-DVD booten und die Datei state.tgz manuell kopieren, wenn Ihr ESXi-Host nicht bootfähig ist (zum Beispiel aufgrund eines Hardwarefehlers).

Manueller Wiederherstellungsablauf

  1. Bereiten Sie das zuvor mit ESXi-Shell, vSphere CLI oder PowerCLI erstellte Sicherungsarchiv vor. Der Name der Datei lautet configBundle-192-168-101-208.tgz in unserem Fall. Sie können die Datei beispielsweise auf ein USB-Flash-Laufwerk kopieren und dieses Flash-Laufwerk in einen USB-Anschluss des ESXi-Servers einstecken, von dem aus Sie die Systemkonfiguration wiederherstellen müssen.
  2. Booten Sie von der Live-CD/DVD auf dem Rechner, auf dem ESXi installiert ist. Sie können die Ubuntu-Installationsdisk als Live-CD/DVD verwenden.
  3. Öffnen Sie die Konsole (Terminal) in Linux.
  4. Auflisten der Partitionen:

    ls -al /dev/sd*

    fdisk -l | grep /dev/sda

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

    ESXi-Festplattenpartitionen wurden in dem Blogbeitrag über Das Booten von ESXi von einer USB-Flash-Festplatte und ESXi-Passwortwiederherstellung erwähnt.

    In diesem Fall sind wir an der /dev/sda5 Partition interessiert.

  5. Erstellen Sie das Verzeichnis, auf das die /dev/sda5-Partition gemountet werden soll:

    mkdir /mnt/sda5

  6. Ordne den Datenträgerpartitionen diesen Ordner zu:

    mount /dev/sda5 /mnt/sda5

  7. Im /mnt/sda5 Verzeichnis findest du die state.tgz Datei, die die ESXi-Konfiguration enthält. Dieses Verzeichnis (in dem state.tgz gespeichert ist) heißt /bootblank/ bei der Inbetriebnahme eines ESXi-Hosts.
  8. Kopiere die ESXi-Konfigurations-Backup-Archiv von der USB-Speicher-Sticks auf das /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. Extrahiere Dateien aus dem Backup-Archiv:

    tar zxvf /tmp/configBundle.tgz

  10. Du kannst sehen, dass die state.tgz Datei aus dem Archiv extrahiert wurde:

    ls -al /tmp/

  11. Benenne die ursprüngliche state.tgz Datei um, die sich auf der /dev/sda5 Partition befindet, die auf /mnt/sda5/ gemounted ist

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

  12. Kopieren Sie die Datei state.tgz, die Sie aus dem ESXi-Konfigurations-Backup-Archiv configBundle.tgz extrahiert haben, in das Verzeichnis /tmp/:

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

  13. Die eingehängten Partitionen aushängen:

    umount /dev/sda5/

  14. Den Server neu starten. Das Ubuntu Live-DVD auswerfen und von der Festplatte booten, auf der ESXi installiert ist.

    init 6

Nun sollte Ihre ESXi-Konfiguration wiederhergestellt sein.

Schlussfolgerung

Die Verwendung der ESXi-Befehlszeilenschnittstelle ist gut, weil Sie keine zusätzliche Software installieren müssen. Die Vorteile der vSphere CLI sind die Möglichkeit, Befehle remote über Linux-Maschinen auszuführen und die ESXi-Konfigurationssicherung zu automatisieren. PowerCLI hingegen wird von Windows-Benutzern geschätzt.

Wenn ein ESXi-Host nicht gesund ist und Sie den Host nicht booten können, können Sie die Konfiguration manuell sichern und wiederherstellen. Beachten Sie, dass Bootblankeinformationen und Informationen über VMs nicht in der ESXi-Konfigurationssicherungsdatei gespeichert sind. Nach der Wiederherstellung der ESXi-Konfiguration müssen Sie möglicherweise virtuelle Maschinen in Ihrer Inventarliste registrieren.

Es wird empfohlen, Ihre vSphere-Virtual Machines zusätzlich zu den ESXi-Hosts zu sichern. NAKIVO Backup & Replication ist eine universelle Backup-Lösung, die Ihre VMware-VMs, Hyper-V-VMs, Amazon EC2-Instanzen sowie physische Linux- und Windows-Server sichern kann.

Source:
https://www.nakivo.com/blog/back-up-and-restore-vmware-esxi-host-configuration-guide/