Salvare și restaurare a configurației gazdei VMware ESXi: A Step-By-Step Guide
On decembrie 3, 2021 by adminBackup-ul este una dintre cele mai importante acțiuni pentru funcționarea continuă a oricărei infrastructuri IT. Rularea serverelor ca mașini virtuale (VM) pe gazde ESXi în vSphere vă oferă avantaje mai mari atunci când efectuați backup-ul datelor VM. Salvarea la nivel de gazdă vă permite să utilizați caracteristici utile, cum ar fi salvarea fără agent, salvarea completă a mașinilor virtuale (date VM + configurație VM), instantanee pentru realizarea de salvări ale mașinilor virtuale în curs de execuție și încărcare redusă a serverului. A avea gazde ESXi sănătoase este cheia succesului atunci când rulați mașini virtuale. De aceea, este mai bine să faceți o copie de rezervă a configurației ESXi. Astfel, dacă ceva nu merge bine cu o gazdă ESXi, configurația acesteia poate fi restaurată în câteva minute, fără a pierde mult timp pentru a configura un server ESXi de la zero. Articolul de astăzi de pe blog se referă la configurația de backup ESXi și explorează modul în care se poate face un backup al gazdei ESXi folosind diferite metode.
Utilizarea liniei de comandă ESXi pentru a face un backup al gazdei ESXi
Utilizarea liniei de comandă ESXi este cea mai accesibilă metodă pentru a face un backup al configurației gazdei ESXi. Nu este nevoie să instalați niciun software suplimentar pentru a utiliza linia de comandă ESXi. Trebuie să activați shell-ul ESXi și accesul SSH de la distanță la o gazdă ESXi. Acest proces este explicat în articolul de pe blog despre ESXCLI. După ce v-ați conectat la gazda ESXi prin SSH, puteți rula comenzile.
Configurația ESXi este salvată în fiecare oră în mod automat în fișierul /bootblank/state.tgz. Din acest motiv, trebuie să vă asigurați că actuala configurație ESXi este scrisă în fișierele de configurare ESXi chiar acum pentru a confirma că toate modificările aduse configurației ESXi de la ultima salvare automată sunt salvate:
vim-cmd hostsvc/firmware/sync_config
Realizați o copie de rezervă a configurației ESXi:
vim-cmd hostsvc/firmware/backup_config
Ca rezultat, veți primi un link pentru a descărca configBundle.tgz de pe gazda ESXi. Trebuie să înlocuiți asteriscul cu adresa IP a gazdei ESXi. Fișierul de arhivă care conține copia de rezervă a configurației ESXi este salvat în directorul /scratch/downloads pentru o perioadă scurtă de timp (câteva minute). Partiția scratch a fost menționată în postarea de pe blog despre instalarea ESXi pe o unitate flash USB.
Adresa IP a gazdei ESXi poate fi verificată în interfața directă a consolei ESXi sau utilizând următoarea comandă:
esxcli network ip interface ipv4 get
Adresa IP a gazdei ESXi utilizată în exemplul curent este 192.168.101.208.
Descărcați arhiva de backup ESXi cât mai curând posibil și păstrați-o într-un loc sigur.
Cum se automatizează backup-ul configurației ESXi în linia de comandă ESXi
Avantajul unei interfețe de linie de comandă este posibilitatea de automatizare a sarcinilor pe care o oferă; Backup-ul configurației ESXi nu face excepție. Să trecem în revistă cum să facem acest lucru:
1. Creați un director pentru a stoca fișierele de backup pe datastore-ul ESXi.
mkdir /vmfs/volumes/datastore1/ESXi_backup
2. Creați un script pentru a face backup-ul configurației ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
3. Adăugați următoarele linii la 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ți fișierul și ieșiți din vi:
:wq
Nota: Pentru o mai mare comoditate, puteți include, de asemenea, numele gazdei ESXi sau adresa IP la numele fișierului de backup. Acest lucru vă va ajuta să evitați confuziile atunci când utilizați mai multe gazde ESXi.
5. Faceți scriptul executabil:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
6. Mergeți în directorul în care se află scriptul:
cd /vmfs/volumes/datastore1/ESXi_backup/
7. Rulați scriptul:
./esxi_backup.sh
8. Verificați dacă a fost creat un fișier de backup:
ls -al
9. Să ne asigurăm că scriptul de backup al gazdei ESXi rulează conform programului (automat). Editați configurația planificatorului în acest scop:
vi /var/spool/cron/crontabs/root
10. Adăugați următorul șir de caractere pentru a efectua backup-ul configurației ESXi în fiecare zi la ora 02:10 AM.
10 02 * * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
11. Salvați modificările în fișier. Pentru a salva modificările în fișierul doar pentru citire, introduceți:
:wq!
Ca alternativă, puteți schimba permisiunile fișierelor înainte de a edita fișierul:
chmod +w /var/spool/cron/crontabs/root
După aceea, configurația ESXi va fi salvată automat la ora 02:10 AM în fiecare noapte în fișierul numit ESXi_config_bakup_date_time.tgz
Cum se recuperează configurația ESXi în linia de comandă ESXi
Trebuie să aveți ESXi de aceeași versiune și același număr de construcție instalat pe mașina pe care doriți să restaurați configurația ESXi. Această regulă este valabilă pentru toate metodele de recuperare a configurației ESXi luate în considerare în acest articol de blog. Dacă aveți de gând să restaurați configurația ESXi pe gazda ESXi care este instalată de la zero (instalată în mod clar), trebuie să setați adresa IP pentru interfața de rețea utilizată pentru rețeaua de gestionare ESXi și să activați accesul SSH. Configurația inițială ESXi este explicată în acest articol de blog. UUID-ul trebuie să fie același atât pe serverul ESXi care a fost salvat, cât și pe serverul ESXi pe care trebuie restaurată configurația. Mai jos, în această secțiune, citiți ce trebuie făcut dacă valorile UUID sunt diferite.
După ce ați pregătit gazda ESXi proaspăt instalată pentru a restaura configurația ESXi dintr-o copie de rezervă, conectați-vă la gazda ESXi prin SSH și introduceți gazda în modul de întreținere.
esxcli system maintenanceMode set -enable yes
sau
vim-cmd hostsvc/maintenance_mode_enter
Copiați arhiva care conține copia de rezervă a configurației ESXi într-un anumit director de pe o gazdă ESXi utilizând un client SCP, de exemplu WinSCP. Să copiem arhiva configBundle-xxxx.tgz de pe o mașină locală în directorul /tmp/ de pe serverul ESXi de destinație.
Renumiți fișierul configBundle-xxxx.tgz în configBundle.tgz înainte de a introduce o comandă de restaurare a configurației ESXi. În caz contrar, veți primi un mesaj de eroare: „File /tmp/configBundle.tgz was not found”.
Puteți redenumi fișierul în shell-ul ESXi la care v-ați conectat prin SSH:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
Restaurează configurația ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
După rularea acestei comenzi, o gazdă ESXi va fi repornită automat.
După repornirea serverului ESXi, trebuie să ieșiți din modul de întreținere, după care puteți utiliza gazda ca de obicei.
esxcli system maintenanceMode set -enable no
sau
vim-cmd hostsvc/maintenance_mode_exit
Cum se modifică UUID-ul pentru a restabili configurația ESXi
Uuid-ul serverului ESXi poate fi verificat în interfața de linie de comandă ESXi cu ajutorul comenzii:
esxcfg-info -u
Valoarea UUID a gazdei ESXi care a făcut obiectul unei copii de rezervă este menționată în Manifest.txt din interiorul arhivei de backup configBundle.tgz pe care ați realizat-o cu comenzile explicate mai sus.
Nu puteți modifica UUID-ul serverului ESXi, deoarece identificatorul este generat în funcție de hardware. Cu toate acestea, puteți recupera configurația ESXi a gazdei ESXi A pe gazda ESXi B după ce ați modificat UUID-ul din fișierul Manifest.txt stocat în arhiva de backup a configurației ESXi configBundle.tgz.
Să explorăm algoritmul care poate fi utilizat pentru a modifica UUID-ul pentru a aplica configurația salvată pe un alt server fizic. Serverul A este un server a cărui configurație este salvată, iar serverul B este un server pe care trebuie aplicată configurația.
Etapa 1
Verificați UUID-ul pe gazda ESXi pe care doriți să aplicați configurația salvată (serverul B). Acest lucru se poate face cu cel puțin două metode, dar cea de-a doua metodă vă permite să verificați și versiunea ESXi.
1. Rulați esxcfg-info -u
2.1 Efectuați o copie de rezervă a configurației serverului ESXi B
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
2.2 Copiați arhiva de backup în directorul temporar și mergeți în acel director
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
2.3 Extrageți fișierele din arhivă
tar zxvf configBundle.tgz
2.4 Deschideți fișierul Manifest.txt cu vi și verificați valoarea UUID (veți vedea o linie separată cu UUID). Notați UUID-ul.
vi Manifest.txt
În cazul nostru, UUID-ul este 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
2.5 Puteți șterge fișierele temporare din directorul /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Etapa 2
1. Copiați arhiva de rezervă a configurației configBundle.tgz de pe serverul ESXi A pe serverul B, de exemplu, în directorul /tmp/ și mergeți în acel director.
2. Extrageți fișierele din configBundle.tgz archive
tar zxvf configBundle.tgz
3. Deschideți fișierul Manifest.txt cu vi și actualizați valoarea UUID a serverului A cu UUID-ul serverului B.
vi Manifest.txt
În cazul nostru, trebuie să schimbăm 9EA94D56-7E39-96A8-AB45-DF31EF0971EC în 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.
Salvați fișierul și ieșiți din editorul de text :wq
4. Redenumiți sursa configBundle.tgz în configBundle1.tgz, de exemplu (dacă numele fișierului dvs. de backup al configurației ESXi diferă de configBundle.tgz, puteți sări peste acest pas).
mv configBundle.tgz configBundle1.tgz
5. Transferați fișierele Manifest.txt, state.tgz și jumpstrt.gz într-o nouă arhivă configBundle.tgz:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
6. Puneți gazda ESXi în modul de întreținere și restaurați configurația
esxcli system maintenanceMode set -enable yes
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Cum să efectuați o copie de rezervă a gazdei ESXi cu vSphere CLI
O altă interfață de linie de comandă furnizată de VMware pentru a gestiona gazdele ESXi este vSphere CLI (a nu se confunda cu VMware PowerCLI). Ar trebui să instalați vSphere CLI pe o mașină care rulează Linux sau Windows pentru a gestiona gazdele ESXi de la distanță. Perl este necesar pentru a instala vSphere CLI. Avantajul utilizării vSphere CLI este capacitatea sa de a utiliza comoditatea și puterea lui bash în Linux. În exemplele de astăzi se folosește Ubuntu Linux.
Instalarea și configurarea vCLI
Descărcați vSphere CLI de pe site-ul web al VMware.
Descărcați vSphere CLI de pe site-ul web al VMware.
Intrați în directorul în care se află fișierul descărcat și extrageți fișierele din arhivă.
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
Instalați pachetele necesare:
Recomandarea oficială VMware este de a instala acest set de pachete:
apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
Direcționați-vă în directorul în care se află fișierele extrase și rulați programul de instalare:
./vmware-install.pl
Citiți și acceptați acordul de licență. Dacă programul de instalare vă cere să instalați unele module necesare, tastați y și instalați modulele.
În cazul nostru, unele module trebuie instalate manual. Ele pot fi instalate folosind shell-ul interactiv al Perl.
Intrați în shell-ul interactiv al Perl:
perl -MCPAN -e shell
Executați comanda pentru a instala modulul Perl necesar:
instalați Devel::StackTrace
Instalați în mod similar și alte module.
Nota: În cazul nostru, un modul nu a putut fi instalat în shell-ul Perl interactiv, dar putem instala acel modul cu ajutorul comenzii din consola Ubuntu:
apt-get install libcrypt-ssleay-perl
După instalarea modulelor Perl, rulați din nou programul de instalare VMware vSphere CLI.
Instalarea a fost finalizată cu succes și puteți vedea următorul ecran în acest caz:
Acum să încercăm să folosim vSphere CLI și să introducem o comandă în consola Linux pentru a vedea o listă de dispozitive ale serverului ESXi (192.168.101.208 este adresa IP a serverului ESXi).
esxcli -server 192.168.101.208 storage core device list
Serverul SHA-1 thumbprint nu este de încredere, iar conexiunea cu gazda ESXi a eșuat. Acest lucru înseamnă că ar trebui să definiți amprenta thumbprint din motive de securitate. Să încercăm o altă comandă:
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
Numele de utilizator și parola vor fi cerute în consolă în modul interactiv.
Încercați să nu utilizați comenzi în care un nume de utilizator și o parolă sunt tastate ca text simplu, cum ar fi aceasta:
Acest lucru se datorează unor motive de securitate. Comenzile executate sunt salvate în Linux până când executați comanda history -c pentru a șterge istoricul. Dacă trebuie să evitați utilizarea modului interactiv și introducerea manuală a unui nume de utilizator și a unei parole, puteți salva sesiunea ESXi în fișier și puteți utiliza acest fișier atunci când executați comenzi. Salvarea sesiunilor este sigură, spre deosebire de introducerea unei parole ca text simplu în comandă. Salvarea sesiunilor este explicată mai jos în această postare pe blog.
Salvarea unei amprente pentru conectarea la gazdele ESXi
Introducerea unei amprente ESXi de fiecare dată pentru a executa o comandă nu este convenabilă. Din fericire, este posibil să salvați amprenta și să rulați comenzi ulterioare cu vSphere CLI fără a defini o amprentă.
Direcționați-vă în directorul:
cd /usr/lib/vmware-vcli/apps/general/
Trebuie să rulați comanda ca:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint
În exemplul nostru particular, comanda este:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s 192.168.101.208 -t B3:63:9F:67:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA
Acum puteți rula comenzi în vSphere CLI fără a introduce o amprentă de fiecare dată.
esxcli -server 192.168.101.208 system maintenanceMode get
Cu toate acestea, necesitatea introducerii unui nume de utilizator și a unei parole nu a dispărut – trebuie să introduceți în continuare numele de utilizator/parola. Cum puteți configura vSphere CLI pentru a executa comenzi fără a introduce de fiecare dată o parolă? Răspunsul la această întrebare este prezentat în secțiunile de mai jos.
Utilizarea unui fișier de sesiune pentru conectarea la gazdele ESXi
Utilizarea unui fișier de sesiune salvat este una dintre metodele de evitare a introducerii unui nume de utilizator și a unei parole atunci când se execută o comandă pe o gazdă ESXi de la distanță utilizând vSphere CLI.
În primul rând, creați un director pentru a stoca fișierele de rezervă ale configurației ESXi, de exemplu, /backup/.
mkdir /backup
Direcționați în acel director:
cd /usr/lib/vmware-vcli/apps/session
Salvați sesiunea gazdă ESXi autorizată în fișier utilizând un script Perl cu comanda:
perl save_session.pl -savesessionfile /backup/192-168-101-208session -server 192.168.101.208 -username root -password TestPass_555
Unde:
-savesessionfile /backup/192-168-101-208session este numele fișierului de sesiune creat
-server 192.168.101.208 este numele gazdei ESXi a cărei sesiune este salvată (această gazdă ESXi este utilizată în mai multe exemple)
-username root este numele utilizatorului care este conectat la gazda ESXi
-password TestPass_555 este parola pentru utilizatorul care este conectat la gazda ESXi
Acum puteți executa comenzi fără a introduce o parolă, dar trebuie să introduceți cheia -sessionfile (opțiune) și să definiți calea către fișierul de sesiune. De exemplu:
esxcli -sessionfile /backup/192-168-101-208session system maintenanceMode get
Utilizarea unui fișier de configurare pentru conectarea la gazdele ESXi
Ideea din spatele acestei metode este de a salva acreditările în fișierul de configurare sub formă de text simplu și de a face referire la acest fișier atunci când executați comenzi ESXi în vSphere CLI. Mai întâi, creați un fișier de configurare:
vim /backup/vcli-config
Introduceți acreditările în formatul următor:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
Salvați fișierul.
Executați o comandă pe un server ESXi la distanță folosind vSphere CLI:
esxcli -server 192.168.101.208 -config vcli-config system maintenanceMode get
Pentru că acreditările sunt salvate ca text simplu, această metodă nu este sigură.
Utilizarea unui magazin de acreditări pentru conectarea la gazdele ESXi
Un magazin de acreditări este fișierul xml aflat în directorul de utilizator în subdirectorul vmware ~/.vmware/credstore/vicredentials.xml. Avantajul utilizării magazinului de credențiale pentru a rula comenzi pe gazde ESXi la distanță este că o parolă nu este salvată ca text simplu, prin urmare această metodă oferă o securitate mai mare.
Pentru a adăuga credențiale la magazinul de credențiale, rulați comanda:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -server 192.168.101.208 -username root
Listați acreditările salvate în stocul de acreditări pentru a vă asigura că sunt prezente acreditările necesare:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
Executați comanda pe gazda ESXi de la distanță fără a introduce o parolă, utilizând stocul de acreditări.
# esxcli -server 192.168.101.208 -credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get
Dacă utilizați un utilizator non-root, fișierul de acreditări este salvat în /home/nume_utilizator/.vmware/credstore/credstore/vicredentials.xml
În captura de ecran de mai jos, puteți vedea cum sunt salvate acreditările în fișierul de stocare a acreditărilor.
Utilizarea vSphere CLI pentru a face o copie de rezervă a configurației gazdei ESXi
Acum că ați configurat vSphere CLI pe calculatorul Ubuntu Linux, puteți rula comenzile și face o copie de rezervă a configurației ESXi.
Direcționați-vă în directorul /usr/bin/
cd /usr/bin
Acum puteți face o copie de rezervă a configurației ESXi fără a introduce un nume de utilizator și o parolă după ce ați salvat acreditările în magazinul de acreditări:
Sau după salvarea unei sesiuni în fișierul de sesiuni:
vicfg-cfgbackup -sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
Nota: comenzile vicfg- sunt depreciate. Este mai bine să folosiți comenzi echivalente ESXCLI în interfața de linie de comandă atunci când lucrați cu gazde ESXi.
Nota: Dezavantajul utilizării opțiunii -sessionfile este timeout-ul de 30 de minute atunci când este inactiv după rularea ultimei comenzi în vSphere CLI. După aceea, trebuie să vă autentificați și să creați din nou un fișier de sesiune.
Dacă doriți să creați o copie de rezervă a configurației ESXi în timp ce introduceți o parolă în modul interactiv, puteți rula comanda:
vicfg-cfgbackup -server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfgg.tgz
Cum să faceți backup automatizat al configurației ESXi
Dacă aveți un mediu schimbat dinamic și configurația gazdelor ESXi se schimbă des, backup-ul manual al gazdelor ESXi poate să nu fie rațional. În acest caz, puteți automatiza configurația ESXi de backup prin adăugarea unei comenzi de backup sau a unui script de backup care conține mai multe comenzi la scheduler.
Crontab este un programator în Linux. Editați configurația planificatorului în Linux pentru a rula periodic și automat comanda de backup a configurației ESXi.
crontab -e
Nota: Dacă editați configurația crontab pentru prima dată, trebuie să selectați editorul de text implicit care trebuie utilizat pentru a edita configurația crontab. În exemplul nostru, folosim /usr/bin/vim.basic în acest scop.
Formatul configurației crontab este următorul:
minute ore zi_de_lună lună lună zi_de_săptămână comandă
Să facem un back-up al configurației gazdei ESXi în fiecare noapte la 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
Scrieți configurația programatorului crontab și ieșiți din editorul de text vim.
:wq
Să așteptăm 03:25 AM pentru a verifica directorul în care trebuie salvate fișierele de configurare a backup-ului ESXi.
ls -al
După cum vedeți pe captura de ecran de mai jos, fișierul de backup al configurației gazdei ESXi a fost creat automat la ora 03:25.
Acum backup-ul configurației ESXi a fost făcut automat, ceea ce este grozav, dar există și un dezavantaj. De fiecare dată când crontab execută o comandă programată pentru a face backup-ul configurației ESXi, fișierul tgz anterior este suprascris de noul fișier tgz. Această situație vă poate cauza probleme dacă copia de rezervă cu configurația ESXi corectă realizată ieri este suprascrisă de un fișier creat astăzi care conține configurația ESXi incorectă. Modul corect de a preveni o astfel de problemă este salvarea configurației ESXi în fișiere diferite.
Să creăm un script simplu pentru a salva configurația ESXi de fiecare dată ca un fișier separat cu un nume de fișier unic care conține data și ora creării fișierului de backup al configurației ESXi în numele fișierului. Crearea unui script vă permite să adăugați comenzi pentru a face copii de siguranță pentru mai multe gazde ESXi prin rularea unui singur script.
1. Creați fișierul esxi_backup.sh în directorul /backup/:
vim /backup/esxi_backup.sh
2. Adăugați linii în fișier după cum urmează:
#!/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. Scrieți modificările în fișier și ieșiți din editorul de text vim.
:wq
4. Faceți fișierul executabil:
chmod +x /backup/esxi_backup.sh
5. Modificați configurația planificatorului:
crontab -e
6. Adăugați o linie ca aceasta:
50 06 * * * * /backup/esxi_backup.sh
Să setăm crontab pentru a rula scriptul de backup al configurației ESXi la 06:50 AM. Dezactivați sarcina programată anterioară pe care ați adăugat-o înainte prin adăugarea caracterului # la începutul liniei.
7. Așteptați ora stabilită și apoi verificați dacă arhiva de backup a configurației ESXi a fost creată.
Acesta este un script simplu care demonstrează ideea de automatizare. Puteți crea scripturi complexe pentru a face copii de rezervă pentru mai multe gazde ESXi.
Nota: După fiecare repornire a ESXi sau după 30 de minute de timp de inactivitate, sesiunea ESXi devine neautentificată. Țineți cont de această caracteristică atunci când creați un script pentru salvarea automată a ESXi.
Cum se recuperează configurația ESXi în vSphere CLI
Cerințele pentru restaurarea configurației ESXi prin utilizarea vSphere CLI sunt similare cu cerințele existente pentru alte metode. Pentru a restabili configurația ESXi, asigurați-vă că este activat accesul la distanță prin SSH și că este cunoscută adresa IP a serverului ESXi (se recomandă utilizarea aceleiași adrese IP ca și adresa IP a gazdei ESXi care a făcut obiectul unei copii de rezervă) și apoi rulați comanda de genul
vicfg-cfgbackup -server=ESXi_host_IP_address -username=root -l backup_file
În exemplul nostru particular, comanda este:
vicfg-cfgbackup -server=192.168.101.208 -username=root -l /backup/192-168-101-208-esxi-cfg.tgz
Dacă UUID-ul gazdei ESXi țintă pe care doriți să restaurați configurația are un UUID diferit de UUID-ul serverului ESXi salvat (al cărui UUID este definit în fișierul Manifest.txt din interiorul arhivei de backup tgz), puteți utiliza tasta -f (force) pentru a suprascrie UUID-ul.
Puteți verifica UUID-ul gazdei ESXi în execuție cu ajutorul comenzii, după cum vă amintiți:
esxcfg-info -u
Utilizarea Power CLI pentru a face backup-ul gazdei ESXi
Utilizatorii cărora le place Windows pot folosi PowerCLI, care este un set de cmdlet-uri PowerShell pentru a face backup-ul configurației ESXi. Câteva comenzi PowerCLI de bază sunt explicate în această postare pe blog. Mai întâi trebuie să instalați PowerCLI pe sistemul dvs. de operare. Algoritmul este următorul:
1. Rulați PowerCLI ca administrator în Windows.
2. Conectați-vă la serverul ESXi:
Connect-VIServer ESXi_IP_address -user user_name -password your_password
În cazul nostru, folosim comenzile:
Connect-VIServer 192.168.101.208 -user root -password TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath „C:\backup ESXi host”
Dacă gazdele ESXi sunt gestionate de vCenter Server, vă puteți conecta mai întâi la vCenter și apoi să faceți o copie de rezervă a configurației ESXi de pe gazde în PowerCLI fără a fi nevoie să vă autentificați de fiecare dată înainte de a face o copie de rezervă a configurației fiecărei gazde.
Connect-VIServer 10.10.10.10.16
Introduceți numele de utilizator și parola administrativă pentru accesarea vCenter Server. În acest scop, apare o fereastră pop-up.
Realizați backup-ul configurației ESXi a fiecărei gazde:
Get-VMHostFirmware -vmhost 10.10.10.10.61 -BackupConfiguration -DestinationPath „C:\backup ESXi host”
Get-VMHostFirmware -vmhost 10.10.10.10.61 -BackupConfiguration -DestinationPath „C:\backup ESXi host”
Get-VMHostFirmware -vmhost 10.10.10.10.46 -BackupConfiguration -DestinationPath „C:\backup ESXi host”
Cum se restaurează configurația ESXi în PowerCLI
Executați VMware PowerCLI ca administrator. Conectați-vă la o gazdă ESXi pe care doriți să recuperați configurația (în exemplul nostru vom recupera configurația pe gazda ESXi a cărei adresă IP este 192.168.101.208). Apoi introduceți gazda în modul de întreținere:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
Asigurați-vă că VM-urile care locuiesc pe acea gazdă ESXi sunt oprite sau migrate pe o altă gazdă ESXi înainte de a recupera configurația ESXi. Rețineți că, după executarea unei comenzi de restaurare a configurației, gazda ESXi se va reporni automat. Restaurați configurația cu comanda de restaurare 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
Versiunea, numărul de construcție și UUID-ul unei gazde ESXi pe care se recuperează configurația trebuie să corespundă cu versiunea, numărul de construcție și UUID-ul unei gazde ESXi a cărei copie de rezervă o utilizați pentru a restaura configurația. Utilizați tasta -force în comandă pentru a sări peste verificarea UUID.
Salvare și restaurare manuală a configurației ESXi
De asemenea, trebuie să fiți pregătit pentru o situație în care nu vă puteți conecta la gazda ESXi sau când o gazdă ESXi nu poate porni și nu puteți utiliza interfața de linie de comandă pentru a rula comanda pentru salvarea sau restaurarea configurației ESXi. Acest lucru se poate întâmpla din cauza unei defecțiuni hardware sau a unor probleme software. În acest caz, este mai bine să știți cum să faceți o copie de rezervă și să restaurați manual configurația ESXi.
Nota: După cum vă amintiți din configurația crontab implicită pe o gazdă ESXi, scriptul /sbin/auto-backup.sh se execută la fiecare oră și atunci când o gazdă ESXi este repornită sau închisă. Acest script are rolul de a face o copie de rezervă (salvare) a configurației ESXi stocate în memorie în fișierul /bootbank/state.tgz.
Configurația ESXi este stocată în memoria RAM a computerului atunci când un server ESXi este în funcțiune (discul RAM corespunzător este montat în directorul /etc/). Atunci când ESXi pornește, fișierele de sistem sunt extrase din arhiva /bootbank/state.tgz în directorul /etc/. Puteți copia manual fișierul /bootbank/state.tgz dacă gazda ESXi este în funcțiune, utilizând un client SCP, cum ar fi WinSCP (accesul SSH la distanță trebuie să fie activat). Ca o alternativă, puteți să porniți de pe DVD-ul Live și să copiați manual fișierul state.tgz dacă gazda ESXi nu poate fi pornită (de exemplu, din cauza unei defecțiuni hardware).
Flux de lucru manual pentru recuperare
1. Pregătiți arhiva de backup pe care ați realizat-o anterior cu ESXi shell, vSphere CLI sau PowerCLI. Numele fișierului respectiv este configBundle-192-168-101-208.tgz în cazul nostru. Puteți să copiați fișierul pe o unitate flash USB, de exemplu, și să introduceți această unitate flash într-un port USB al serverului ESXi pe care trebuie să recuperați configurația sistemului.
2. Porniți de pe CD/DVD-ul live pe mașina pe care este instalat ESXi. Puteți utiliza discul de instalare Ubuntu ca un CD/DVD live.
3. Deschideți consola (terminalul) în Linux
4. Enumerați partițiile:
ls -al /dev/sd*
fdisk -l | grep /dev/sda
În acest caz, avem nevoie de partiția /dev/sda5/ care este marcată ca date de bază Microsoft.
Partițiile discului ESXi au fost menționate în postarea de pe blog despre Booting ESXi from a USB flash drive și despre recuperarea parolei ESXi.
În acest caz ne interesează partiția /dev/sda5.
5. Creați directorul în care va fi montată partiția /dev/sda5:
mkdir /mnt/sda5
6. Montați partiția de disc în acel director:
mount /dev/sda5 /mnt/sda5
7. În directorul /mnt/sda5, puteți găsi fișierul state.tgz care conține configurația ESXi. Acest director (în care este stocat state.tgz) se numește /bootblank/ atunci când o gazdă ESXi este inițializată.
8. Copiați arhiva de rezervă a configurației ESXi de pe o unitate flash USB în directorul /tmp/ din Ubuntu încărcat de pe un DVD Live. În exemplul nostru, vom copia:
cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz
9. Extrageți fișierele din arhiva de backup:
tar zxvf /tmp/configBundle.tgz
10. Puteți vedea că fișierul state.tgz este extras din arhivă.
ls -al /tmp/
11. Redenumiți fișierul original state.tgz care se află pe partiția /dev/sda5 montată pe /mnt/sda5/
mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz
12. Copiați fișierul state.tgz pe care l-ați extras din arhiva de backup a configurației ESXi (configBundle.tgz) în directorul /tmp/
cp /tmp/state.tgz /mnt/sda5/
13. Demontați partițiile montate
umount /dev/sda5/
14. Reporniți serverul. Ejectați DVD-ul Ubuntu Live și porniți de pe discul pe care este instalat ESXi.
init 6
15. Acum, configurația ESXi ar trebui să fie restaurată.
Concluzie
Postul de astăzi de pe blog a acoperit patru metode de backup și restaurare a configurației ESXi. Utilizarea interfeței de linie de comandă ESXi este bună pentru că nu trebuie să instalați software suplimentar; avantajele vSphere CLI sunt capacitatea de a rula comenzi de la distanță prin utilizarea mașinilor Linux și capacitatea de a face ca backup-ul configurației ESXi să fie automatizat; PowerCLI poate fi apreciat de utilizatorii Windows. În cazul în care gazda ESXi nu este sănătoasă și nu puteți să o porniți, există posibilitatea de a face o copie de rezervă și de a restaura manual configurația. Fiți conștienți de faptul că informațiile bootblank și informațiile despre VM-uri nu sunt stocate în fișierul de backup al configurației ESXi. După restaurarea configurației ESXi, este posibil să fie necesar să înregistrați mașinile virtuale în inventarul dumneavoastră.
Acum știți cum să faceți o copie de rezervă a gazdei ESXi, dar nu uitați să faceți o copie de rezervă a mașinilor virtuale. NAKIVO Backup & Replication & este o soluție universală de backup care poate face backup pentru mașinile dvs. virtuale VMware, mașinile virtuale Hyper-V, instanțele Amazon EC2, precum și pentru serverele fizice Linux și Windows. Descărcați versiunea de încercare gratuită cu toate funcțiile pentru a vedea cât de fiabil poate fi backup-ul în mediul dvs.
.
Lasă un răspuns