Back up e ripristino della configurazione dell’host VMware ESXi: A Step-By-Step Guide
Il Dicembre 3, 2021 da adminIl backup è una delle azioni più importanti per il funzionamento continuo di qualsiasi infrastruttura IT. L’esecuzione dei server come macchine virtuali (VM) su host ESXi in vSphere offre maggiori vantaggi quando si fa il backup dei dati delle VM. Il backup a livello di host ti permette di usare funzioni utili come il backup senza agenti, il backup completo della VM (dati della VM + configurazione della VM), gli snapshot per fare il backup delle VM in esecuzione e il basso carico del server. Avere host ESXi sani è una chiave per il successo quando si eseguono macchine virtuali. Ecco perché è meglio fare il backup della configurazione ESXi. Così, se qualcosa va storto con un host ESXi, la sua configurazione può essere ripristinata in pochi minuti senza spendere molto tempo per configurare un server ESXi da zero. Il post di oggi copre la configurazione del backup di ESXi ed esplora come eseguire il backup dell’host ESXi usando diversi metodi.
Usare la riga di comando ESXi per eseguire il backup dell’host ESXi
Usare la riga di comando ESXi è il metodo più conveniente per eseguire il backup della configurazione dell’host ESXi. Non è necessario installare alcun software aggiuntivo per utilizzare la riga di comando ESXi. Dovete abilitare la shell ESXi e l’accesso SSH remoto a un host ESXi. Questo processo è spiegato nel post del blog su ESXCLI. Una volta che ti sei connesso al tuo host ESXi via SSH, puoi eseguire i comandi.
La configurazione ESXi viene salvata ogni ora automaticamente nel file /bootblank/state.tgz. Per questo motivo, dovresti assicurarti che l’attuale configurazione ESXi sia scritta nei file di configurazione ESXi in questo momento per confermare che tutte le modifiche apportate alla configurazione ESXi dall’ultimo salvataggio automatico siano salvate:
vim-cmd hostsvc/firmware/sync_config
Back up della configurazione ESXi:
vim-cmd hostsvc/firmware/backup_config
Come risultato, riceverai un link per scaricare il configBundle.tgz dall’host ESXi. Dovresti sostituire l’asterisco con l’indirizzo IP del tuo host ESXi. Il file di archivio che contiene il backup della configurazione ESXi viene salvato nella directory /scratch/downloads per un breve periodo di tempo (pochi minuti). La partizione scratch è stata menzionata nel post del blog sull’installazione di ESXi su una chiavetta USB.
L’indirizzo IP del tuo host ESXi può essere controllato nell’interfaccia diretta della console ESXi o usando il seguente comando:
esxcli network ip interface ipv4 get
L’indirizzo IP dell’host ESXi usato nell’esempio corrente è 192.168.101.208.
Scaricate l’archivio di backup ESXi il prima possibile e conservatelo in un luogo sicuro.
Come automatizzare il backup della configurazione ESXi nella linea di comando ESXi
Il vantaggio di un’interfaccia della linea di comando è la possibilità di automatizzare i compiti che fornisce; il backup della configurazione ESXi non fa eccezione. Rivediamo come farlo:
1. Create una directory per memorizzare i file di backup sul vostro datastore ESXi.
mkdir /vmfs/volumes/datastore1/ESXi_backup
2. Create uno script per il backup della configurazione ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
3. Aggiungere le seguenti linee allo 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. Salva il file e chiudi vi:
:wq
Nota: Per maggiore comodità, puoi anche includere il nome host ESXi o l’indirizzo IP nel nome del file di backup. Questo ti aiuterà ad evitare confusione quando usi più host ESXi.
5. Rendi lo script eseguibile:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
6. Vai alla directory dove si trova lo script:
cd /vmfs/volumes/datastore1/ESXi_backup/
7. Esegui lo script:
./esxi_backup.sh
8. Verifica che sia stato creato un file di backup:
ls -al
9. Assicuriamoci che lo script di backup dell’host ESXi sia in esecuzione su base programmata (automaticamente). Modifica la configurazione dello scheduler per questo scopo:
vi /var/spool/cron/crontabs/root
10. Aggiungi la seguente stringa per eseguire il backup della configurazione ESXi ogni giorno alle 02:10 AM.
10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
11. Salvare le modifiche nel file. Per salvare le modifiche nel file di sola lettura, inserisci:
:wq!
In alternativa, puoi cambiare i permessi del file prima di modificarlo:
chmod +w /var/spool/cron/crontabs/root
Dopo di che, la configurazione di ESXi sarà salvata automaticamente alle 02:10 AM ogni notte nel file chiamato ESXi_config_bakup_date_time.tgz
Come recuperare la configurazione ESXi in linea di comando ESXi
Dovresti avere ESXi della stessa versione e numero di build installato sulla macchina dove vuoi ripristinare la configurazione ESXi. Questa regola vale per tutti i metodi di ripristino della configurazione ESXi considerati in questo post del blog. Se si intende ripristinare la configurazione ESXi sull’host ESXi installato da zero (chiaramente installato), è necessario impostare l’indirizzo IP per l’interfaccia di rete utilizzata per la rete di gestione ESXi e abilitare l’accesso SSH. La configurazione iniziale di ESXi è spiegata in questo post del blog. L’UUID deve essere lo stesso sia sul server ESXi di cui è stato fatto il backup che sul server ESXi su cui deve essere ripristinata la configurazione. Di seguito in questa sezione, leggi cosa fare se i valori UUID sono diversi.
Una volta che hai preparato il tuo host ESXi appena installato per ripristinare la configurazione ESXi da un backup, connettiti all’host ESXi via SSH ed entra l’host in modalità manutenzione.
esxcli system maintenanceMode set -enable yes
o
vim-cmd hostsvc/maintenance_mode_enter
Copia l’archivio che contiene il backup della configurazione ESXi in qualche directory su un host ESXi usando un client SCP, per esempio WinSCP. Copiamo l’archivio configBundle-xxxx.tgz da una macchina locale alla directory /tmp/ sul server ESXi di destinazione.
Rinomina il file configBundle-xxxx.tgz in configBundle.tgz prima di inserire un comando di ripristino della configurazione ESXi. Altrimenti si otterrà un messaggio di errore: “File /tmp/configBundle.tgz non è stato trovato”.
Puoi rinominare il file nella shell ESXi a cui ti sei collegato via SSH:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
Ripristina la configurazione ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Dopo aver eseguito questo comando un host ESXi sarà riavviato automaticamente.
Dopo aver riavviato il server ESXi, si dovrebbe uscire dalla modalità di manutenzione, dopo di che si può usare l’host come al solito.
esxcli system maintenanceMode set -enable no
o
vim-cmd hostsvc/maintenance_mode_exit
Come cambiare l’UUID per ripristinare la configurazione ESXi
L’UUID del server ESXi può essere controllato nell’interfaccia della riga di comando ESXi con il comando:
esxcfg-info -u
Il valore UUID dell’host ESXi sottoposto a backup è menzionato nel file Manifest.txt all’interno dell’archivio di backup configBundle.tgz che hai fatto con i comandi spiegati sopra.
Non puoi cambiare l’UUID del server ESXi poiché l’identificatore è generato a seconda dell’hardware. Tuttavia, è possibile recuperare la configurazione ESXi dell’host ESXi A sull’host ESXi B dopo aver cambiato l’UUID nel file Manifest.txt memorizzato nell’archivio di backup della configurazione ESXi configBundle.tgz.
Esploriamo l’algoritmo che può essere utilizzato per cambiare l’UUID per applicare la configurazione di backup su un altro server fisico. Il server A è un server di cui è stato eseguito il backup della configurazione e il server B è un server a cui deve essere applicata la configurazione.
Fase 1
Controlla l’UUID sull’host ESXi a cui vuoi applicare la configurazione di cui è stato eseguito il backup (server B). Questo può essere fatto con almeno due metodi, ma il secondo metodo permette anche di controllare la versione di ESXi.
1. Esegui l’esxcfg-info -u
2.1 Backup della configurazione del server ESXi B
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
2.2 Copia l’archivio di backup nella directory temporanea e vai in quella directory
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
2.3 Estrai i file dall’archivio
tar zxvf configBundle.tgz
2.4 Apri il file Manifest.txt con vi e controlla il valore UUID (vedrai una linea separata con l’UUID). Scrivi l’UUID.
vi Manifest.txt
Nel nostro caso, l’UUID è 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
2.5 Puoi cancellare i file temporanei nella directory /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Fase 2
1. Copia l’archivio di backup della configurazione configBundle.tgz del server ESXi A sul server B, per esempio, nella directory /tmp/ e vai a quella directory.
2. Estrai i file dall’archivio configBundle.tgz archive
tar zxvf configBundle.tgz
3. Apri il file Manifest.txt con vi e aggiorna il valore UUID del server A con l’UUID del server B.
vi Manifest.txt
Nel nostro caso, dobbiamo cambiare 9EA94D56-7E39-96A8-AB45-DF31EF0971EC in 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.
Salvare il file e chiudere l’editor di testo :wq
4. Rinominare il file sorgente configBundle.tgz a configBundle1.tgz, per esempio (se il nome del tuo file di backup della configurazione ESXi è diverso da configBundle.tgz, puoi saltare questo passaggio).
mv configBundle.tgz configBundle1.tgz
5. Tarare i file Manifest.txt, state.tgz e jumpstrt.gz in un nuovo archivio configBundle.tgz:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
6. Metti l’host ESXi in modalità manutenzione e ripristina la configurazione
esxcli system maintenanceMode set -enable yes
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Come fare il backup dell’host ESXi con vSphere CLI
Un’altra interfaccia a riga di comando fornita da VMware per gestire gli host ESXi è vSphere CLI (da non confondere con VMware PowerCLI). Dovresti installare vSphere CLI su una macchina con Linux o Windows per gestire gli host ESXi da remoto. Perl è richiesto per installare vSphere CLI. Il vantaggio di usare vSphere CLI è la sua capacità di usare la convenienza e la potenza di bash in Linux. Negli esempi di oggi viene usato Ubuntu Linux.
Installazione e configurazione di vCLI
Scaricate vSphere CLI dal sito web di VMware.
Andate nella directory dove si trova il file scaricato ed estraete i file dall’archivio.
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
Installare i pacchetti richiesti:
La raccomandazione ufficiale di VMware è di installare questo set di pacchetti:
apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
Vai alla directory dove si trovano i file estratti ed esegui il programma di installazione:
./vmware-install.pl
Leggi e accetta il contratto di licenza. Se il programma di installazione ti chiede di installare alcuni moduli richiesti, digita y e installa i moduli.
Alcuni moduli devono essere installati manualmente nel nostro caso. Possono essere installati usando la shell interattiva di Perl.
Entrare nella shell interattiva di Perl:
perl -MCPAN -e shell
Eseguire il comando per installare il modulo Perl richiesto:
install Devel::StackTrace
Similmente installare altri moduli.
Nota: Nel nostro caso, un modulo non può essere installato nella shell interattiva Perl, ma possiamo installare quel modulo con il comando nella console di Ubuntu:
apt-get install libcrypt-ssleay-perl
Dopo aver installato i moduli Perl, eseguite nuovamente l’installer VMware vSphere CLI.
L’installazione è stata completata con successo e si può vedere la seguente schermata in questo caso:
Ora proviamo a usare vSphere CLI e inserire un comando nella console Linux per vedere un elenco di dispositivi del server ESXi (192.168.101.208 è l’indirizzo IP del server ESXi).
esxcli -server 192.168.101.208 storage core device list
La thumbprint SHA-1 del server non è attendibile e la connessione all’host ESXi è fallita. Questo significa che si dovrebbe definire il thumbprint per ragioni di sicurezza. Proviamo un altro comando:
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
Il nome utente e la password saranno richiesti nella console in modalità interattiva.
Cerca di non usare comandi dove il nome utente e la password sono digitati come testo semplice come questo:
Questo è dovuto a ragioni di sicurezza. I comandi eseguiti vengono salvati in Linux finché non si esegue il comando history -c per cancellare la cronologia. Se avete bisogno di evitare di usare la modalità interattiva e di inserire manualmente un login e una password, potete salvare la sessione ESXi nel file e usare questo file quando eseguite i comandi. Salvare le sessioni è sicuro, a differenza dell’inserimento di una password come testo semplice nel comando. Il salvataggio delle sessioni è spiegato di seguito in questo post del blog.
Salvare un’impronta digitale per la connessione agli host ESXi
Inserire un’impronta digitale ESXi ogni volta per eseguire un comando non è conveniente. Fortunatamente, è possibile salvare il thumbprint ed eseguire ulteriori comandi con vSphere CLI senza definire un thumbprint.
Vai alla directory:
cd /usr/lib/vmware-vcli/apps/general/
È necessario eseguire il comando come:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint
Nel nostro particolare esempio, il comando è:
/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
Ora puoi eseguire comandi in vSphere CLI senza inserire ogni volta un’impronta digitale.
esxcli -server 192.168.101.208 system maintenanceMode get
Tuttavia, la necessità di inserire login e password non è scomparsa – devi ancora inserire login/password. Come si può configurare vSphere CLI per eseguire i comandi senza inserire la password ogni volta? La risposta a questa domanda è illustrata nelle sezioni seguenti.
Utilizzare un file di sessione per la connessione agli host ESXi
Utilizzare un file di sessione salvato è uno dei metodi per evitare di inserire un nome utente e una password quando si esegue un comando su un host ESXi remoto utilizzando vSphere CLI.
Primo, crea una directory per memorizzare i file di backup della configurazione ESXi, per esempio, /backup/.
mkdir /backup
Vai in quella directory:
cd /usr/lib/vmware-vcli/apps/session
Salva la sessione autorizzata dell’host ESXi nel file usando uno script Perl con il comando:
perl save_session.pl -savesessionfile /backup/192-168-101-208session -server 192.168.101.208 -username root -password TestPass_555
dove:
-savesessionfile /backup/192-168-101-208session è il nome del file di sessione creato
-server 192.168.101.208 è il nome dell’host ESXi la cui sessione è salvata (questo host ESXi è usato in più esempi)
-username root è il nome dell’utente che è connesso all’host ESXi
-password TestPass_555 è la password dell’utente che è connesso all’host ESXi
Ora puoi eseguire comandi senza inserire una password, ma dovresti inserire la chiave -sessionfile (opzione) e definire il percorso del file di sessione. Per esempio:
esxcli -sessionfile /backup/192-168-101-208session system maintenanceMode get
Utilizzando un file di configurazione per la connessione agli host ESXi
L’idea alla base di questo metodo è di salvare le credenziali nel file di configurazione come testo semplice e fare riferimento a questo file quando si eseguono i comandi ESXi in vSphere CLI. Per prima cosa, crea un file di configurazione:
vim /backup/vcli-config
Inserisci le credenziali nel formato seguente:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
Salva il file.
Esegui un comando su un server ESXi remoto usando vSphere CLI:
esxcli -server 192.168.101.208 -config vcli-config system maintenanceMode get
Perché le credenziali sono salvate come testo semplice, questo metodo non è sicuro.
Utilizzare un negozio di credenziali per la connessione agli host ESXi
Un negozio di credenziali è il file xml situato nella directory utente nella sottodirectory vmware ~/.vmware/credstore/vicredentials.xml. Il vantaggio di usare il negozio di credenziali per eseguire comandi su host ESXi remoti è che una password non viene salvata come testo semplice, quindi questo metodo fornisce una maggiore sicurezza.
Per aggiungere credenziali al negozio di credenziali, eseguire il comando:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -server 192.168.101.208 -username root
Esegui il comando sull’host ESXi remoto senza inserire una password usando il negozio delle credenziali.
# esxcli -server 192.168.101.208 -credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get
Se usi un utente non root, il file delle credenziali viene salvato in /home/user_name/.vmware/credstore/vicredentials.xml
Nella schermata qui sotto, puoi vedere come vengono salvate le credenziali nel file credentials store.
Usare vSphere CLI per eseguire il backup della configurazione dell’host ESXi
Ora che hai configurato vSphere CLI sulla macchina Ubuntu Linux, puoi eseguire i comandi ed eseguire il backup della configurazione ESXi.
Vai alla directory /usr/bin/
cd /usr/bin
Ora puoi fare un backup della configurazione di ESXi senza inserire nome utente e password dopo aver salvato le credenziali nell’archivio credenziali:
O dopo aver salvato una sessione nel file di sessione:
vicfg-cfgbackup -sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
Nota: i comandi vicfg- sono deprecati. È meglio usare i comandi equivalenti di ESXCLI nell’interfaccia della linea di comando quando si lavora con gli host ESXi.
Nota: Lo svantaggio di usare l’opzione -sessionfile è il timeout di 30 minuti inattivo dopo aver eseguito l’ultimo comando in vSphere CLI. Dopo di che, devi autenticarti e creare di nuovo un file di sessione.
Se vuoi creare un backup della configurazione ESXi mentre inserisci una password in modalità interattiva, puoi eseguire il comando:
vicfg-cfgbackup -server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz
Come rendere automatico il backup della configurazione ESXi
Se hai un ambiente dinamicamente cambiato e la configurazione degli host ESXi cambia spesso, il backup manuale degli host ESXi potrebbe non essere razionale. In questo caso, è possibile automatizzare la configurazione del backup ESXi aggiungendo un comando di backup o uno script di backup che contiene più comandi allo scheduler.
Crontab è uno scheduler in Linux. Modifica la configurazione dello scheduler in Linux per eseguire il comando di backup della configurazione ESXi periodicamente e automaticamente.
crontab -e
Nota: Se stai modificando la configurazione di crontab per la prima volta, dovresti selezionare l’editor di testo predefinito che deve essere usato per modificare la configurazione di crontab. Nel nostro esempio, usiamo /usr/bin/vim.basic per questo scopo.
Il formato della configurazione di crontab è il seguente:
minuti ore giorno_del_mese mese giorno_della_settimana comando
Facciamo il backup della configurazione dell’host ESXi ogni notte alle 03:25 AM:
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
Scrivere la configurazione dello scheduler crontab e uscire dall’editor di testo vim.
:wq
Attendiamo le 03:25 AM per controllare la directory in cui devono essere salvati i file di configurazione del backup di ESXi.
ls -al
Come vedete nello screenshot qui sotto, il file di backup della configurazione dell’host ESXi è stato creato automaticamente alle 03:25.
Ora il backup della configurazione ESXi è stato fatto automaticamente, il che è fantastico, ma c’è uno svantaggio. Ogni volta che crontab esegue un comando programmato per fare il backup della configurazione ESXi, il file tgz precedente viene sovrascritto dal nuovo file tgz. Questa situazione può causare problemi se il backup con la configurazione ESXi corretta fatto ieri viene sovrascritto da un file creato oggi che contiene la configurazione ESXi sbagliata. Il modo giusto per prevenire un tale problema è il backup della configurazione ESXi su file diversi.
Creiamo un semplice script per salvare la configurazione ESXi ogni volta come un file separato con un nome di file unico che contiene la data e l’ora della creazione del file di backup della configurazione ESXi nel nome del file. La creazione di uno script permette di aggiungere comandi per il backup di più host ESXi eseguendo un singolo script.
1. Crea il file esxi_backup.sh nella directory /backup/:
vim /backup/esxi_backup.sh
2. Aggiungi linee al file come segue:
#!/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. Scrivi le modifiche al file e chiudi l’editor di testo vim.
:wq
4. Rendi il file eseguibile:
chmod +x /backup/esxi_backup.sh
5. Modifica la configurazione dello scheduler:
crontab -e
6. Aggiungi la linea come questa:
50 06 * * * /backup/esxi_backup.sh
Imposta crontab per eseguire lo script di backup della configurazione ESXi alle 06:50. Disabilita il precedente compito programmato che hai aggiunto prima aggiungendo il carattere # all’inizio della linea.
7. Aspetta l’ora impostata e poi controlla se l’archivio di backup della configurazione ESXi è stato creato.
Questo è un semplice script che dimostra l’idea di automazione. È possibile creare script complessi per eseguire il backup di più host ESXi.
Nota: Dopo ogni riavvio di ESXi o 30 minuti di inattività, la sessione ESXi non viene autenticata. Tieni presente questa caratteristica quando crei uno script per il backup automatico di ESXi.
Come recuperare la configurazione ESXi in vSphere CLI
I requisiti per ripristinare la configurazione ESXi usando vSphere CLI sono simili ai requisiti in vigore per altri metodi. Per ripristinare la configurazione di ESXi, assicurati che l’accesso remoto via SSH sia abilitato e che l’indirizzo IP del server ESXi sia noto (si raccomanda di utilizzare lo stesso indirizzo IP dell’indirizzo IP dell’host ESXi sottoposto a backup) e poi esegui il comando come:
vicfg-cfgbackup -server=ESXi_host_IP_address -username=root -l backup_file
Nel nostro particolare esempio, il comando è:
vicfg-cfgbackup -server=192.168.101.208 -username=root -l /backup/192-168-101-208-esxi-cfg.tgz
Se l’UUID dell’host ESXi di destinazione su cui si vuole ripristinare la configurazione ha un UUID che è diverso dall’UUID del server ESXi di cui si è fatto il backup (il cui UUID è definito nel file Manifest.txt all’interno dell’archivio di backup tgz), si può usare la chiave -f (force) per sovrascrivere l’UUID.
Puoi controllare l’UUID dell’host ESXi in esecuzione con il comando, come ricordi:
esxcfg-info -u
Usare Power CLI per fare il backup dell’host ESXi
Gli utenti che amano Windows possono usare PowerCLI, che è un insieme di cmdlets PowerShell per fare il backup della configurazione ESXi. Alcuni comandi PowerCLI di base sono spiegati in questo post del blog. Per prima cosa dovete installare PowerCLI sul vostro sistema operativo. L’algoritmo è il seguente:
1. Esegui PowerCLI come amministratore in Windows.
2. Collegati al tuo server ESXi:
Connect-VIServer ESXi_IP_address -user user_name -password your_password
Nel nostro caso, usiamo i comandi:
Connect-VIServer 192.168.101.208 -user root -password TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath “C:\backup ESXi host”
Se i tuoi host ESXi sono gestiti da vCenter Server, puoi connetterti prima a vCenter e poi fare il backup della configurazione ESXi sui tuoi host in PowerCLI senza bisogno di autenticarti ogni volta prima di fare il backup di ogni configurazione di host.
Connetti-VIServer 10.10.10.16
Inserisci il tuo login amministrativo e la password per accedere a vCenter Server. Una finestra popup appare a questo scopo.
Fai il backup della configurazione ESXi di ogni 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”
Come ripristinare la configurazione ESXi in PowerCLI
Lancia VMware PowerCLI come amministratore. Collegatevi a un host ESXi sul quale volete recuperare la configurazione (nel nostro esempio recupereremo la configurazione sull’host ESXi il cui indirizzo IP è 192.168.101.208). Poi entra l’host in modalità manutenzione:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
Assicurati che le VM residenti su quell’host ESXi siano spente o migrate su un altro host ESXi prima di recuperare la configurazione ESXi. Siate consapevoli che dopo l’esecuzione di un comando di ripristino della configurazione, l’host ESXi si riavvierà automaticamente. Ripristina la configurazione con il comando Set-VMHostFirmware restore:
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
La versione, il numero di build e l’UUID di un host ESXi su cui viene recuperata la configurazione devono corrispondere alla versione, al numero di build e all’UUID di un host ESXi il cui backup si sta utilizzando per ripristinare la configurazione. Usa la chiave -force nel comando per saltare il controllo dell’UUID.
Backup e ripristino manuale della configurazione ESXi
Dovresti anche essere pronto per una situazione in cui non sei in grado di accedere al tuo host ESXi, o quando un host ESXi non può avviarsi e non puoi usare l’interfaccia della riga di comando per eseguire il comando per il backup o il ripristino della configurazione ESXi. Questo può accadere a causa di un guasto hardware o di problemi software. In questo caso, è meglio sapere come eseguire il backup e il ripristino della configurazione ESXi manualmente.
Nota: Come si ricorda dalla configurazione crontab di default su un host ESXi, lo script /sbin/auto-backup.sh viene eseguito ogni ora e quando un host ESXi viene riavviato o spento. Questo script ha lo scopo di fare il backup (salvare) della configurazione ESXi memorizzata in memoria nel file /bootbank/state.tgz.
La configurazione ESXi è memorizzata nella RAM del computer quando un server ESXi è in esecuzione (il disco RAM appropriato è montato nella directory /etc/). Quando ESXi si avvia, i file di sistema sono estratti dall’archivio /bootbank/state.tgz alla directory /etc/. Puoi copiare manualmente il file /bootbank/state.tgz se il tuo host ESXi è in esecuzione usando un client SCP come WinSCP (l’accesso remoto SSH deve essere abilitato). In alternativa, puoi avviare dal Live DVD e copiare il file state.tgz manualmente se il tuo host ESXi non è avviabile (per esempio, a causa di un guasto hardware).
Flusso di lavoro del ripristino manuale
1. Preparate l’archivio di backup che avete fatto in precedenza con ESXi shell, vSphere CLI o PowerCLI. Il nome di tale file è configBundle-192-168-101-208.tgz nel nostro caso. Puoi copiare il file su una chiavetta USB, per esempio, e inserire la chiavetta in una porta USB del server ESXi su cui devi recuperare la configurazione del sistema.
2. Avviare dal CD/DVD live sulla macchina dove è installato ESXi. Puoi usare il disco di installazione di Ubuntu come CD/DVD live.
3. Apri la console (terminale) in Linux
4. Elenca le partizioni:
ls -al /dev/sd*
fdisk -l | grep /dev/sda
In questo caso, abbiamo bisogno della partizione /dev/sda5/ che è segnata come dati base Microsoft.
Le partizioni del disco ESXi sono state menzionate nel post del blog su Booting ESXi from a USB flash drive e ESXi password recovery.
In questo caso siamo interessati alla partizione /dev/sda5.
5. Crea la directory in cui la partizione /dev/sda5 sarà montata:
mkdir /mnt/sda5
6. Monta la partizione del disco in quella directory:
mount /dev/sda5 /mnt/sda5
7. Nella directory /mnt/sda5, puoi trovare il file state.tgz che contiene la configurazione ESXi. Questa directory (in cui è memorizzato state.tgz) è chiamata /bootblank/ quando un host ESXi viene avviato.
8. Copiare l’archivio di backup della configurazione ESXi da una chiavetta USB alla directory /tmp/ di Ubuntu caricata da un DVD Live. Nel nostro esempio, copiamo:
cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz
9. Estrai i file dall’archivio di backup:
tar zxvf /tmp/configBundle.tgz
10. Puoi vedere che il file state.tgz è estratto dall’archivio.
ls -al /tmp/
11. Rinomina il file state.tgz originale che si trova sulla partizione /dev/sda5 montata su /mnt/sda5/
mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz
12. Copia il file state.tgz che hai estratto dall’archivio di backup della configurazione ESXi (configBundle.tgz) nella directory /tmp/
cp /tmp/state.tgz /mnt/sda5/
13. Smonta le partizioni montate
umount /dev/sda5/
14. Riavviare il server. Espellete il DVD Ubuntu Live e avviate dal disco su cui è installato ESXi.
init 6
15. Ora la tua configurazione ESXi dovrebbe essere ripristinata.
Conclusione
Il post di oggi ha coperto quattro metodi per il backup e il ripristino della configurazione ESXi. Usare l’interfaccia a riga di comando ESXi è buono perché non c’è bisogno di installare software aggiuntivo; i vantaggi di vSphere CLI sono la possibilità di eseguire i comandi in remoto usando macchine Linux e la possibilità di rendere il backup della configurazione ESXi automatizzato; PowerCLI può essere apprezzato dagli utenti Windows. Se il vostro host ESXi non è sano e non potete avviare l’host, c’è la possibilità di fare il backup e ripristinare la configurazione manualmente. Siate consapevoli che le informazioni di bootblank e le informazioni sulle VM non sono memorizzate nel file di backup della configurazione ESXi. Dopo aver ripristinato la configurazione ESXi, potrebbe essere necessario registrare le macchine virtuali nel tuo inventario.
Ora sai come fare il backup dell’host ESXi, ma non dimenticare di fare il backup delle tue macchine virtuali. NAKIVO Backup & Replication è una soluzione di backup universale che può eseguire il backup di VMware VM, Hyper-V VM, istanze Amazon EC2 e server fisici Linux e Windows. Scarica la prova gratuita completa per vedere come il backup può essere affidabile nel tuo ambiente.
Lascia un commento