4 manieren om de configuratie van de ESXi-host te back-uppen

Virtualisatie biedt verschillende voordelen voor back-up- en herstelbewerkingen, die de ruggengraat vormen van gegevensbescherming, operationele continuïteit en beschikbaarheid. Het belangrijkste is dat virtualisatie agentloze en op afbeeldingen gebaseerde back-ups op hostniveau mogelijk maakt. Met deze back-uptypen kunt u de volledige VM vastleggen, inclusief de VM-configuratie en VM-gegevens.

Het is echter belangrijk om ook hosts te beschermen, aangezien gezonde ESXi-hosts belangrijk zijn voor het correct uitvoeren van VM’s. Het wordt aanbevolen om ook de ESXi-configuratie te back-uppen, aangezien een bruikbare hostback-up u kan helpen de hostconfiguratie binnen enkele minuten te herstellen zonder een ESXi-server helemaal opnieuw te hoeven instellen. Lees verder om de verschillende methoden voor ESXi-hostback-up te leren kennen.

Methode 1: Gebruik van de ESXi-opdrachtregel om ESXi-hosts te back-uppen

Het gebruik van de ESXi-opdrachtregel is de meest kosteneffectieve methode om een ESXi-hostconfiguratie te back-uppen. U hoeft geen aanvullende software te installeren om de ESXi-opdrachtregel te gebruiken. U hoeft alleen de ESXi-shell en externe SSH-toegang tot een ESXi-host in te schakelen. Zodra u via SSH met uw ESXi-host bent verbonden, kunt u de opdrachten uitvoeren.

De ESXi-configuratie wordt automatisch elk uur opgeslagen in het bestand /bootblank/state.tgz. Om deze reden moet u ervoor zorgen dat de huidige ESXi-configuratie nu wordt geschreven naar de ESXi-configuratiebestanden om ervoor te zorgen dat alle wijzigingen die zijn aangebracht met de ESXi-configuratie sinds de laatste automatische opslag worden opgeslagen. Om dat te doen: Controleer en synchroniseer ESXi-configuratie met permanente opslag: vim-cmd hostsvc/firmware/sync_config

  1. Controleer en synchroniseer de ESXi-configuratie met persistente opslag:

    vim-cmd hostsvc/firmware/sync_config

  2. Maak een back-up van de ESXi-configuratie nadat de synchronisatie is voltooid:

    vim-cmd hostsvc/firmware/backup_config

    Als resultaat ontvang je een link om de configBundle.tgz archief van de ESXi-host te downloaden.

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

  3. Vervang de asterisk (*) door het IP-adres van je ESXi-host. Het archiefbestand dat de ESXi-configuratiereservekopie bevat, wordt opgeslagen in de map /scratch/downloads gedurende een korte periode (een paar minuten).

    Je kunt het IP-adres van je ESXi-host vinden in de ESXi-directe console-interface of op de opdrachtregel met het commando:

    esxcli netwerk ip interface ipv4 ophalen

    Het IP-adres van de ESXi-host dat in het huidige voorbeeld wordt gebruikt, is 192.168.101.208

  4. Download het ESXi-reservekopiearchief zo snel mogelijk en sla het op een veilige plaats op.

Hoe u de reservekopie van de ESXi-configuratie automatiseert in de ESXi-opdrachtregel

Het voordeel van een opdrachtregelinterface is de mogelijkheid tot automatisering, en het maken van een reservekopie van de ESXi-configuratie is geen uitzondering. Laten we de stappen doornemen om dit te doen:

  1. Maak een map aan om reservekopiebestanden op te slaan op je ESXi-opslagruimte.

    mkdir /vmfs/volumes/datastore1/ESXi_backup

  2. Maak een script om de ESXi-configuratie te back-uppen:

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

  3. Voeg de volgende regels toe aan het script:

    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. Sla het bestand op en sluit vi af:

    :wq

    OPMERKING: Voor meer gemak kunt u ook de naam of IP-adres van de ESXi-host toevoegen aan de back-upbestandsnaam. Dit helpt verwarring te voorkomen bij meerdere ESXi-hosts.

  5. Maak het script uitvoerbaar:

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

  6. Ga naar de map waar het script zich bevindt:

    cd /vmfs/volumes/datastore1/ESXi_backup/

  7. Voer het script uit:

    ./esxi_backup.sh

  8. Controleer of er een back-upbestand is gemaakt:

    ls -al

  9. Zorg ervoor dat het ESXi-configuratieback-upscript volgens schema wordt uitgevoerd (automatisch). Bewerk de planningsconfiguratie hiervoor:

    vi /var/spool/cron/crontabs/root

  10. Voeg de volgende regel toe om dagelijks om 02:10 uur ESXi-configuratieback-up uit te voeren:

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

  11. Wijzigingen opslaan in het bestand. Om wijzigingen op te slaan in het alleen-lezen bestand, voert u in:

    :wq!

    Als alternatief kunt u de bestandsmachtigingen wijzigen voordat u het bestand bewerkt:

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

Zodra ingesteld, wordt de ESXi-configuratie elke nacht om 02:10 uur automatisch naar het bestand met de naam ESXi_config_bakup_date_time.tgzgeback-upt.

Hoe de ESXi-configuratie te herstellen in de ESXi-opdrachtregel

U moet ESXi van dezelfde versie en buildnummer als de geback-upte ESXi-host geïnstalleerd hebben op de machine waar u de ESXi-configuratie wilt herstellen. Deze regel geldt voor alle overwogen methoden voor het herstellen van de ESXi-configuratie in deze blogpost.

Als u de ESXi-configuratie wilt herstellen op een ESXi-host die vanaf nul is geïnstalleerd (vers van de pers), moet u het IP-adres instellen voor de netwerkinterface die wordt gebruikt voor het ESXi-beheernetwerk en SSH-toegang inschakelen.

De UUID moet hetzelfde zijn op zowel de ESXi-server die is back-up en de ESXi-server waarop de configuratie zal worden hersteld. De stappen die moeten worden gevolgd als de UUID-waarden verschillend zijn, worden behandeld in de volgende sectie.

Om de ESXi-configuratie te herstellen:

  1. Zodra u uw vers geïnstalleerde ESXi-host hebt voorbereid om de ESXi-configuratie van een back-up te herstellen, maakt u verbinding met de ESXi-host via SSH en plaatst u de host in onderhoudsmodus (VM’s worden in deze modus gestopt).

    esxcli systeem onderhoudsmodus instellen --enable yes

    of

    vim-cmd hostsvc/maintenance_mode_enter

  2. Kopieer het archief dat de back-up van de ESXi-configuratie bevat naar een directory op de ESXi-host door een SCP-client te gebruiken, bijvoorbeeld WinSCP. Laten we het configBundle-xxxx.tgz-archief van de lokale machine naar de /tmp/-directory op de doel-ESXi-server kopiëren.

  3. Hernoem het bestand configBundle.tgz voordat je het commando invoert om de ESXi-configuratie te herstellen. Anders krijg je de foutmelding: “Bestand /tmp/configBundle.tgz niet gevonden“.

    Je kunt het bestand hernoemen in de ESXi-shell waarmee je via SSH bent verbonden:

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

  4. Herstel de ESXi-configuratie:

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

    Na het uitvoeren van dit commando wordt een ESXi-host automatisch opnieuw opgestart.

  5. Na het herstarten van de ESXi-server, verlaat de onderhoudsmodus, waarna je de host zoals gewoonlijk kunt gebruiken.

    esxcli system maintenanceMode set --enable no

    of

    vim-cmd hostsvc/maintenance_mode_exit

Hoe de UUID te wijzigen om de ESXi-configuratie te herstellen

Je kunt een van de 2 manieren gebruiken om de UUID van de ESXi-server te controleren:

  1. In de ESXi-opdrachtregelinterface:

    esxcfg-info -u

  2. In het Manifest.txt-bestand binnen het configBundle.tgz-back-uparchief dat je hebt gemaakt met de hierboven uitgelegde opdrachten.

Je kunt de UUID van de ESXi-server niet wijzigen, omdat de identifier wordt gegenereerd afhankelijk van de hardware. Je kunt echter de ESXi-configuratie van ESXi-host A herstellen naar ESXi-host B nadat je de UUID hebt gewijzigd in het Manifest.txt-bestand dat is opgeslagen in het configBundle.tgz-ESXi-configuratieback-uparchief.

Laten we nu kijken hoe we de UUID kunnen wijzigen om de geback-upte configuratie toe te passen op een andere fysieke server. Server A is de server waarvan de configuratie is geback-upt, en Server B is de server waarop de configuratie zal worden toegepast.

Stap 1

Controleer de UUID op de ESXi-host waarop je de geback-upte configuratie wilt toepassen (server B). Dit kan op minstens twee manieren worden gedaan, maar de tweede methode stelt je ook in staat om de ESXi-versie te controleren:

  1. Voer de esxcfg-info -u uit
  2. Back-up de configuratie van ESXi Server B:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

  3. Kopieer het back-uparchief naar de tijdelijke directory en ga naar die directory:

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

    cd /tmp/

  4. Extract bestanden uit het archief:

    tar zxvf configBundle.tgz

  5. Open het Manifest.txt-bestand met vi en controleer de UUID-waarde (je ziet een aparte regel met de UUID). Noteer de UUID.

    vi Manifest.txt

    In ons geval is de UUID 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

  6. Je kunt tijdelijke bestanden in de /tmp/-directory verwijderen:

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

Stap 2

  1. Kopieer het configuratieback-uparchief configBundle.tgz van Server A naar Server B, bijvoorbeeld naar de map /tmp/, en ga naar die map.
  2. Pak bestanden uit het archief configBundle.tgz uit:

    tar zxvf configBundle.tgz

  3. Open het bestand Manifest.txt met vi en update de UUID-waarde van Server A naar de UUID van Server B:

    vi Manifest.txt

    In ons geval veranderen we 9EA94D56-7E39-96A8-AB45-DF31EF0971EC naar 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

    Sla het bestand op en verlaat de teksteditor:

    :wq

  4. Hernoem je bronbestand configBundle.tgz naar configBundle1.tgz, bijvoorbeeld (als de naam van je ESXi-configuratieback-upbestand verschilt van configBundle.tgz, kun je deze stap overslaan):

    mv configBundle.tgz configBundle1.tgz

  5. Manifest.txt, state.tgz en jumpstrt.gz bestanden naar een nieuwe configBundle.tgz archief:

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

  6. Zet de ESXi-host in de onderhoudsmodus en herstel de configuratie:

    esxcli system maintenanceMode set --enable yes

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

Methode 2: Hoe ESXi-host te back-uppen met vSphere CLI

Een andere opdrachtregelinterface die door VMware wordt geleverd om ESXi-hosts te beheren, is vSphere CLI (niet te verwarren met VMware PowerCLI). U moet vSphere CLI installeren op een machine met Linux of Windows om ESXi-hosts op afstand te beheren. Perl is vereist om vSphere CLI te installeren.

Het voordeel van het gebruik van vSphere CLI is het gemak en de kracht van bash in Linux. Deze methode is vooral handig voor ESXi 6.x. Als u ESXi 8 gebruikt, kies dan voor andere methoden die in dit artikel worden uitgelegd.

Installeren en configureren van vCLI

  1. Download de benodigde versie van vSphere CLI voor uw besturingssysteem van de website van VMware. Ubuntu Linux wordt in dit voorbeeld gebruikt.
  2. Ga naar de map waar het gedownloade bestand zich bevindt en pak bestanden uit het archief:

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

  3. Installeer de benodigde pakketten:

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

    De officiële aanbeveling van VMware is om deze set pakketten te installeren:

    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. Ga naar de map waar de uitgepakte bestanden zich bevinden en voer de installatie uit:

    ./vmware-install.pl

  5. Lees en accepteer de licentieovereenkomst. Als de installatieprogramma u vraagt om enkele vereiste modules te installeren, typ dan y en installeer de modules.

  6. Sommige modules moeten handmatig worden geïnstalleerd in ons geval. Ze kunnen worden geïnstalleerd door gebruik te maken van de interactieve shell van Perl.

    Voer de interactieve shell van Perl in:

    perl -MCPAN -e shell

  7. Voer het commando uit om de vereiste Perl-module te installeren:

    install Devel::StackTrace

    Installeer op dezelfde manier andere modules.

    OPMERKING: In ons geval kon één module niet worden geïnstalleerd in de interactieve Perl-shell, maar we kunnen die module installeren met het commando in de Ubuntu-console:

    apt-get install libcrypt-ssleay-perl

  8. Na het installeren van Perl-modules, voer de VMware vSphere CLI-installateur opnieuw uit.
  9. De installatie is succesvol voltooid en u kunt in dit geval het volgende scherm zien:

  10. Laten we nu proberen vSphere CLI te gebruiken en voer een commando in de Linux-console in om de lijst met apparaten van de ESXi-server weer te geven (192.168.101.208 is het IP-adres van de ESXi-server).

    esxcli --server 192.168.101.208 storage core device list

  11. De server SHA-1 duimafdruk wordt niet vertrouwd, en de verbinding met de ESXi-host is mislukt. Dit betekent dat je de duimafdruk moet definiëren om veiligheidsredenen. Laten we een andere opdracht proberen:

    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 systeem maintenanceMode get

    De gebruikersnaam en het wachtwoord worden gevraagd in de console in de interactieve modus.

    Probeer geen opdrachten te gebruiken waar een gebruikersnaam en wachtwoord als platte tekst worden getypt zoals dit:

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

    OPMERKING: Dit is om veiligheidsredenen. De uitgevoerde opdrachten worden opgeslagen in Linux totdat je het history -c commando uitvoert om de geschiedenis te wissen. Als je de interactieve modus wilt vermijden en handmatig een login en wachtwoord wilt invoeren, kun je de ESXi-sessie opslaan naar het bestand en dit bestand gebruiken bij het uitvoeren van opdrachten. Het opslaan van sessies is veilig in tegenstelling tot het invoeren van een wachtwoord als platte tekst in de opdracht. Het opslaan van sessies wordt hieronder uitgelegd.

Een duimafdruk opslaan voor verbinding met ESXi-hosts

Elke keer een ESXi-duimafdruk invoeren om een commando uit te voeren is niet handig. Gelukkig is het mogelijk om de duimafdruk op te slaan en verdere commando’s uit te voeren met vSphere CLI zonder een duimafdruk te definiëren.

  1. Ga naar de map:

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

  2. /usr/lib/vmware-vcli/apps/general/credstore_admin.pl toevoegen -s server -t duimafdruk

    In ons specifieke voorbeeld is het commando:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl toevoegen -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. Nu kunt u opdrachten uitvoeren in vSphere CLI zonder telkens een duimafdruk in te voeren:

    esxcli --server 192.168.101.208 systeem onderhoudsmodus krijgen

U moet echter nog steeds een gebruikersnaam en wachtwoord invoeren. U kunt echter vSphere CLI configureren om opdrachten uit te voeren zonder telkens een wachtwoord in te voeren, zoals hieronder wordt weergegeven.

Het gebruik van een sessiebestand voor het verbinden met ESXi-hosts

Het gebruiken van een opgeslagen sessiebestand is een van de methoden om het invoeren van een gebruikersnaam en wachtwoord te vermijden bij het uitvoeren van een opdracht op een externe ESXi-host met behulp van vSphere CLI.

  1. Maak een map aan om ESXi-configuratieback-upbestanden op te slaan, bijvoorbeeld, /backup/

    mkdir /backup

  2. Ga naar die map:

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

  3. Sla uw geautoriseerde ESXi-hostsessie op naar het bestand met behulp van een Perl-script met de opdracht:

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

    Waar:

    savesessionfile /backup/192-168-101-208session is de naam van het gemaakte sessiebestand

    server 192.168.101.208 is de naam van de ESXi-host waarvan de sessie is opgeslagen (deze ESXi-host wordt in meerdere voorbeelden gebruikt)

    username root is de naam van de gebruiker die is verbonden met de ESXi-host

    password TestPass_555 is het wachtwoord voor de gebruiker die is verbonden met de ESXi-host

Nu kunt u opdrachten uitvoeren zonder een wachtwoord in te voeren, maar u moet de sessiebestand sleutel (optie) invoeren en het pad naar het sessiebestand definiëren.

Bijvoorbeeld:

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

Gebruik van een configuratiebestand voor het verbinden met ESXi-hosts

Het idee achter deze methode is om de referenties als platte tekst in het configuratiebestand op te slaan en naar dit bestand te verwijzen bij het uitvoeren van ESXi-opdrachten in vSphere CLI.

  1. Maak een configuratiebestand aan:

    vim /backup/vcli-config

  2. Voer de referenties als volgt in:

    VI_USERNAME=root

    VI_PASSWORD=TestPass_555

  3. Sla het bestand op.
  4. Voer dit commando uit op de externe ESXi-server met behulp van vSphere CLI:

    esxcli --server 192.168.101.208 --config vcli-config systeem onderhoudsmodus ophalen

LET OP: Gezien de referenties als platte tekst zijn opgeslagen, is deze methode niet veilig.

Gebruik een referentieopslag om verbinding te maken met 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. Om referenties toe te voegen aan de referentieopslag, voer het commando uit:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl toevoegen --server 192.168.101.208 --gebruikersnaam root

  2. Lijst de opgeslagen referenties in de referentieopslag om te controleren of de benodigde referenties aanwezig zijn:

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

  3. Voer het commando uit op de externe ESXi-host zonder een wachtwoord in te voeren door de inloggegevens op te halen uit de credentials-store:

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

    Als u een niet-rootgebruiker gebruikt, wordt het inloggegevensbestand opgeslagen in /home/user_name/.vmware/credstore/vicredentials.xml

In de onderstaande schermafbeelding ziet u hoe inloggegevens worden opgeslagen in het inloggegevensopslagbestand.

Gebruik vSphere CLI om de configuratie van de ESXi-host te back-uppen

Nu u vSphere CLI hebt geconfigureerd op de Ubuntu Linux-machine, kunt u de opdrachten uitvoeren en de configuratie van ESXi back-uppen:

  1. Ga naar de /usr/bin/ map:

    cd /usr/bin

  2. Om een back-up van de ESXi-configuratie te maken zonder gebruikersnaam en wachtwoord in te voeren, gebruik een van de onderstaande commando’s.
    • Voor gebruikersnaam en wachtwoord die zijn opgeslagen in de credentials store, gebruik het commando:

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

    • Of nadat de sessie is opgeslagen in het sessiebestand, gebruik het commando:

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

      LET OP: vicfg- commando’s zijn verouderd. Als vicfg niet werkt in jouw geval, gebruik ESXCLI equivalente commando’s in de command line interface bij het werken met ESXi-hosts van de nieuwste versies. Zie commando’s voor andere ESXi-configuratieback-upmethoden.

      Het nadeel van het gebruik van de sessionfile optie is de time-out van 30 minuten bij inactiviteit na het uitvoeren van het laatste commando in vSphere CLI. Daarna moet je opnieuw authenticeren en een sessiebestand aanmaken.

    • Als je een back-up van de ESXi-configuratie wilt maken terwijl je een wachtwoord invoert in de interactieve modus, kun je het commando uitvoeren:

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

Hoe ESXi-configuratieback-up automatiseren

Als je een dynamische omgeving hebt waarin de configuratie van ESXi-hosts vaak verandert, is handmatige back-up van ESXi-hosts mogelijk niet praktisch. In dat geval kun je je ESXi-configuratieback-up automatiseren door een back-upopdracht of een back-upscript toe te voegen dat meerdere opdrachten bevat aan de planner. Crontab is een planner in Linux.

  1. Bewerk de planningsconfiguratie in Linux om het ESXi-configuratieback-upcommando periodiek en automatisch uit te voeren.

    crontab -e

    OPMERKING: Als u de crontab-configuratie voor de eerste keer bewerkt, moet u de standaardteksteditor selecteren die moet worden gebruikt om de crontab-configuratie te bewerken. In ons voorbeeld gebruiken we /usr/bin/vim.basic hiervoor.

    De indeling van de crontab-configuratie is als volgt:

    minuten uur dag_van_de_maand maand dag_van_de_week commando 

  2. Laten we elke nacht om 03:25 uur de ESXi-hostconfiguratie back-uppen door de volgende regel toe te voegen aan de crontab-configuratie:

    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. Schrijf de configuratie van de crontab planner en verlaat de teksteditor vim (die in dit voorbeeld wordt gebruikt):

    :wq

  4. Wacht tot na 03:25 uur om de directory te controleren waarin ESXi-back-upconfiguratiebestanden moeten worden opgeslagen:

    ls -al

    Zoals je ziet op de onderstaande screenshot, werd het back-upbestand van de ESXi-hostconfiguratie automatisch aangemaakt om 03:25 uur.

Nu de ESXi-configuratieback-up automatisch is gemaakt, wat geweldig is, maar er is een nadeel. Elke keer dat crontab een geplande opdracht uitvoert om de ESXi-configuratieback-up te maken, wordt het vorige tgz-bestand overschreven door het nieuwe tgz-bestand. Dit kan problemen veroorzaken als de back-up met de juiste ESXi-configuratie die eergisteren is gemaakt, wordt overschreven door een bestand dat de volgende dag is gemaakt en de onjuiste ESXi-configuratie bevat. Om dit probleem te voorkomen, moet u de ESXi-configuratie naar verschillende bestanden back-uppen.

Laten we een eenvoudig script maken om de ESXi-configuratie telkens als een apart bestand op te slaan met een unieke bestandsnaam die de datum en tijd van de creatie van het ESXi-configuratieback-upbestand bevat in de naam van het bestand. Door een script te maken, kunt u opdrachten toevoegen om meerdere ESXi-hosts te back-uppen door één script uit te voeren.

  1. Maak het bestand esxi_backup.sh aan in de map /backup/:

    vim /backup/esxi_backup.sh

  2. Voeg regels toe aan het bestand zoals hieronder:

    #!/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. Wijzigingen opslaan en de teksteditor vim afsluiten:

    :wq

  4. Maak het bestand uitvoerbaar:

    chmod +x /backup/esxi_backup.sh

  5. Bewerk de planningsconfiguratie:

    crontab -e

  6. Voeg de regel toe zoals deze:

    50 06 * * * /backup/esxi_backup.sh

    Deze configuratieregel stelt ons in staat om crontab in te stellen om het ESXi-configuratieback-upscript om 06:50 uur uit te voeren.

    Schakel de vorige geplande taak uit die u hebt toegevoegd door het # -teken aan het begin van de regel toe te voegen.

    Sla de configuratie op.

  7. Wacht tot de ingestelde tijd is verstreken en controleer dan of de ESXi-configuratieback-uparchief is aangemaakt.

Dit is eenvoudige script dat de idee van automatisering demonstreert. U kunt complexe scripts maken om de configuratie van meerdere ESXi-hosts te back-uppen.

OPMERKING: Na elke ESXi-herstart of 30 minuten stilstand verloopt de authenticatie voor de ESXi-sessie. Onthoud deze functie bij het maken van een script voor geautomatiseerde ESXi-back-up.

Hoe de ESXi-configuratie te herstellen in vSphere CLI

Het vereiste voor het herstellen van de ESXi-configuratie met behulp van vSphere CLI is gelijk aan het vereiste voor andere methodes. Om de ESXi-configuratie te herstellen, maak er eerst zeker van dat de externe toegang via SSH is ingeschakeld en de IP-adres van de ESXi-server is bekend (het wordt aanbevolen dat u hetzelfde IP-adres gebruikt als het IP-adres van de gekopieerde ESXi-host).

Voer om de ESXi-configuratie te herstellen de volgende commando uit:

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

In ons voorbeeld is het commando:

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

Als de UUID van de doel-ESXi-host waarop je de configuratie wilt herstellen, verschilt van de UUID van de geback-upte ESXi-server (waarvan de UUID wordt gedefinieerd in het Manifest.txt bestand binnen het tgz back-uparchief), kun je de -f sleutel (force) gebruiken om de UUID te overschrijven.

Je kunt de UUID van de actieve ESXi-host controleren met het commando, zoals je je herinnert:

esxcfg-info -u

OPMERKING: Vanaf ESXi 7.0 U2 werkt de UUID-force-overschrijving niet als een TPM (Trusted Platform Module) wordt gebruikt op een ESXi-host.

Methode 3: Gebruik van PowerCLI om ESXi-hosts te back-uppen

Gebruikers die graag Windows PowerShell gebruiken, kunnen PowerCLI voor vSphere-beheer gebruiken om ESXi-configuraties te back-uppen. PowerCLI is een set PowerShell-cmdlets, en enkele basis PowerCLI-commando’s worden uitgelegd in deze blogpost.

Om PowerCLI te gebruiken om een ESXi-host te back-uppen, moet je eerst PowerCLI installeren op je besturingssysteem:

  1. Voer PowerCLI uit als beheerder in Windows.
  2. Verbind met uw ESXi-server:

    Connect-VIServer ESXi_IP_adres -gebruiker gebruikersnaam -wachtwoord uw_wachtwoord

    In ons geval gebruiken we de commando’s:

    Connect-VIServer 192.168.101.208 -gebruiker root -wachtwoord TestPass_555

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

    • Als uw ESXi-hosts worden beheerd door vCenter Server, kunt u eerst verbinding maken met vCenter en vervolgens de ESXi-configuratie op uw hosts in PowerCLI back-uppen zonder telkens voor het back-uppen van elke hostconfiguratie te authenticeren:

      Connect-VIServer 10.10.10.16

      Voer uw administratieve login en wachtwoord in voor toegang tot vCenter Server. Er verschijnt een pop-upvenster hiervoor.

  3. Back-up de ESXi-configuratie van elke host:

    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"

Hoe ESXi-configuratie herstellen in PowerCLI

  1. Voer VMware PowerCLI uit als beheerder.
  2. Verbind met de ESXi-host waarop je de configuratie wilt herstellen (in ons voorbeeld herstellen we de configuratie op de ESXi-host met IP-adres 192.168.101.208).
  3. Zet de ESXi-host in de onderhoudsmodus:

    Set-VMHost -VMHost 192.168.101.208 -State Maintenance

  4. Zorg ervoor dat VM’s die op die ESXi-host staan uitgeschakeld zijn of gemigreerd zijn naar een andere ESXi-host voordat je de ESXi-configuratie herstelt. Wees ervan bewust dat na het uitvoeren van een commando voor het herstellen van de configuratie, de ESXi-host automatisch opnieuw zal opstarten.
  5. Herstel de configuratie met het Set-VMHostFirmware restore-commando:

    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

De versie, buildnummer en UUID van de ESXi-host waarop de configuratie wordt hersteld, moeten overeenkomen met de versie, buildnummer en UUID van de ESXi-host waarvan u de back-up gebruikt om de configuratie te herstellen. Gebruik de -force sleutel in het commando om de UUID-controle over te slaan.

Methode 4: Handmatige back-up en herstel van ESXi-configuratie

U moet ook voorbereid zijn op een situatie waarin u niet kunt inloggen op uw ESXi-host, of wanneer een ESXi-host niet kan opstarten en u de opdrachtregelinterface niet kunt gebruiken om het commando voor het maken van een back-up of het herstellen van de ESXi-configuratie uit te voeren. Dit kan gebeuren door hardwarestoringen of softwareproblemen. In dat geval is het beter om te weten hoe u handmatig een ESXi-configuratie kunt back-uppen en herstellen.

Zoals u zich herinnert van de standaard crontab configuratie op een ESXi-host, wordt het /sbin/auto-backup.sh script elke uur uitgevoerd en telkens wanneer een ESXi-host opnieuw wordt opgestart of uitgeschakeld. Dit script is bedoeld om de ESXi-configuratie die in het geheugen is opgeslagen, op te slaan in het bestand /bootbank/state.tgz.

OPMERKING: Het bestand /bootbank/state.tgz mag niet versleuteld zijn om deze methode te gebruiken.

De ESXi-configuratie wordt opgeslagen in het RAM-geheugen van de computer wanneer een ESXi-server draait (het juiste RAM-schijf is gemonteerd op de /etc/-map). Wanneer ESXi wordt opgestart, worden systeembestanden uit het /bootbank/state.tgz-archief naar de /etc/-map uitgepakt. U kunt handmatig het bestand /bootbank/state.tgz kopiëren als uw ESXi-host draait met behulp van een SCP-client zoals WinSCP (externe SSH-toegang moet zijn ingeschakeld). Als alternatief kunt u opstarten vanaf de Live DVD en het bestand state.tgz handmatig kopiëren als uw ESXi-host niet opstartbaar is (bijvoorbeeld vanwege hardwarestoringen).

Handmatige herstelprocedure

  1. Bereid het back-uparchief voor dat u eerder hebt gemaakt met ESXi-shell, vSphere CLI of PowerCLI. De naam van het bestand is configBundle-192-168-101-208.tgz in ons geval. U kunt het bestand bijvoorbeeld naar een USB-flashstation kopiëren en dat flashstation in een USB-poort van de ESXi-server steken waarvan u de systeemconfiguratie moet herstellen.
  2. Start op vanaf de live CD/DVD op de machine waar ESXi is geïnstalleerd. U kunt bijvoorbeeld de Ubuntu-installatieschijf gebruiken als live CD/DVD.
  3. Open de console (terminal) in Linux.
  4. Lijst de partities:

    ls -al /dev/sd*

    fdisk -l | grep /dev/sda

    In dit geval hebben we de /dev/sda5/ partitie nodig die is gemarkeerd als Microsoft basic data.

    ESXi schijfpartities werden genoemd in de blogpost over Opstarten van ESXi vanaf een USB-stick en ESXi-wachtwoordherstel.

    We zijn geïnteresseerd in de /dev/sda5 partitie in dit geval.

  5. Maak de directory waarop de /dev/sda5 partitie wordt gekoppeld:

    mkdir /mnt/sda5

  6. Monteer het schijfgedeelte naar die map:

    mount /dev/sda5 /mnt/sda5

  7. In de /mnt/sda5 map kun je het state.tgz bestand vinden, dat de ESXi configuratie bevat. Deze map (waarin state.tgz wordt opgeslagen) wordt /bootblank/ genoemd wanneer een ESXi host opgestart wordt.
  8. Kopieer de ESXi configuratie back-up archief van de USB-stick naar de /tmp/ map van Ubuntu geladen vanaf de Live DVD. In ons voorbeeld kopiëren we:

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

  9. Haal bestanden uit het back-up archief:

    tar zxvf /tmp/configBundle.tgz

  10. Je kunt zien dat het state.tgz bestand uit het archief is gehaald:

    ls -al /tmp/

  11. Verander de naam van het originele state.tgz bestand dat zich bevindt op het /dev/sda5 gedeelte gemount op /mnt/sda5/

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

  12. Kopieer het bestand state.tgz dat je hebt geëxtraheerd uit het ESXi configuratieback-uparchief (configBundle.tgz) naar de map /tmp/:

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

  13. Ontkoppel gemonteerde partities:

    umount /dev/sda5/

  14. Herstart de server. Verwijder de Ubuntu Live DVD en start op vanaf de schijf waarop ESXi is geïnstalleerd.

    init 6

Uw ESXi-configuratie zou nu moeten zijn hersteld.

Conclusie

Het gebruik van de ESXi-commandoregel is goed omdat je geen extra software hoeft te installeren. De voordelen van vSphere CLI zijn de mogelijkheid om opdrachten op afstand uit te voeren met behulp van Linux-machines en de mogelijkheid om de ESXi-configuratieback-up geautomatiseerd te maken. PowerCLI daarentegen kan worden gewaardeerd door Windows-gebruikers.

Als een ESXi-host niet gezond is en u de host niet kunt opstarten, kunt u de configuratie handmatig back-uppen en herstellen. Merk op dat bootblankgegevens en informatie over VM’s niet worden opgeslagen in het ESXi-configuratieback-upbestand. Na het herstellen van de ESXi-configuratie moet u mogelijk virtuele machines registreren in uw inventaris.

Het wordt aanbevolen om uw vSphere virtuele machines te back-uppen naast het back-uppen van ESXi-hosts. NAKIVO Backup & Replication is een universele back-upoplossing die uw VMware VM’s, Hyper-V VM’s, Amazon EC2-instanties evenals fysieke Linux- en Windows-servers kan back-uppen.

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