Back-up mașini virtuale pe ESXi

In acest articol vom discuta despre copierea de mașini virtuale folosind script ghettoVCB. Script-ul este conceput pentru a crea backup-uri de mașini virtuale în ESX (i) 3.x, 4.x, 5.x, și 6.x. Această metodă de rezervă, spre deosebire de alte software-ul este absolut gratuit.

Puteți utiliza unitățile care acceptă următoarele protocoale pentru stocarea backup-VM:

Dar ghettoVCB acceptă numai montarea și demontarea unitate NFS-ROM. Pentru iSCSI mount cu amabilitate disc / LUN, precum și parametrii și ENABLE_NON_PERSISTENT_NFS UNMOUNT_NFS setat la zero (a se vedea. De mai jos).

Setări de rezervă.

Deci, primul lucru de făcut - este de a permite accesul SSH la consola de hypervisor: deschis VMware vSphere Client. selectați gazdă, deschideți fila „Configurare“ și, așa cum se arată în captura de ecran:

Back-up mașini virtuale pe ESXi

În al doilea rând, asigurați-vă că serverul NFS este activat opțiunea „asincronă“. accelerează foarte mult procesul de copiere. Cu toate acestea, pentru viteza vine la un preț: există riscul de a pierde date în cazul coliziunilor NFS-server. În cazul în care o astfel de posibilitate este încă acolo - utilizarea „sincronizare“. În alte cazuri:

În al treilea rând, descărcați script-ul ghettoVCB din github făcând clic pe ZIP-fișier și zarguzhaem-l / ESXi gazdă ESX folosind scp sau WinSCP. Te sfătuiesc să plasați departe de directorul rădăcină: datastore dvs., un dosar cu mașini virtuale - este ideal. Am avea: / VMFS / volume / datastore1.

Acum, datele de conectare prin SSH la consola hypervisor ca root. Despachetați arhiva și setați dreapta:

Trebuie să creați un fișier de configurare direct în consola de hypervisor folosind vi. În nici un caz nu modificați un fișier de configurare în Windows-aplicații (cum ar fi: Notepad, Notepad +) urmat de turnarea pe gazdă din cauza diferitelor combinații de cod rânduri de traducere (CR + LF / LF). Doar pentru a se evita erorile în script-ul, pentru a evita spațiile inutile la sfârșitul rândului și marginile goale.

Descrierea parametrilor după cum urmează:

VM_BACKUP_VOLUME - calea de pe un server ESXi în cazul în care vă va monta NFS (sau în cazul în care va fi creat de rezervă mașinilor virtuale - vezi opțiunea ENABLE_NON_PERSISTENT_NFS.)

DISK_BACKUP_FORMAT - Format disc VMDK (zeroedthick, eagerzeroedthick, subțire, 2gbsparse).

VM_BACKUP_ROTATION_COUNT = 4 - numărul de backup stocate.

POWER_VM_DOWN_BEFORE_BACKUP = 0 - opriți de rezervă a mașinii înainte (0 = dezactivare). Scripting poate, de asemenea, copia și a inclus VM.

ENABLE_HARD_POWER_OFF = 0 - deconectați de backup pe hard disk înainte. Esli nu este instalat VMware Tools, "hard" VM off (hard power off).

ITER_TO_WAIT_SHUTDOWN = 3 - dacă ENABLE_HARD_POWER_OFF = 1, atunci numărul de minute înainte de a produce scenariul "hard" VM off (hard power off).

POWER_DOWN_TIMEOUT = 5 - numărul de minute pe care script-ul va fi de așteptare când dezactivați VM înainte de a va ignora starea și începe procesul de backup.

SNAPSHOT_TIMEOUT = 15 - numărul de minute de script-ul va fi de așteptare atunci când creați o copie a unui anumit mașină virtuală, înainte de a ignora (în cazul oricărei defecțiuni în rezervă).

ENABLE_COMPRESSION = 0 - Comutator de compresie (0 = dezactivat, și rămâne pe ZFS). În ESXi 3.x / 4.x / 5.x, există o limită privind dimensiunea maximă a compresiei mașină virtuală. Când încercarea de a restabili restricțiile VM peste datele pot fi pierdute. testați cu atenție procesul de recuperare, înainte de a trece la sistemele de producție.

VM_SNAPSHOT_MEMORY = 0 și VM_SNAPSHOT_QUIESCE = 0 - parametrii responsabili pentru instantanee. Dacă primul parametru este „1“, dacă aparatul este transferat în această perioadă, în modul de așteptare. Aceasta arata ca o copie a VM, dar nu este utilizat atunci când restaurarea VM a fost făcută. Inițial, se adaugă parametrii în scopul de depanare și, în cele mai multe cazuri nu este necesar.

VMDK_FILES_TO_BACKUP = "my1.vmdk", "my2.vmdk" - specifică lista VMDK la un anumit VM. Dacă lista este goală, toate VMDK (= toate) vor fi copiate.

ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0 - determină dacă generarea de backup VM cu toate instantanee.

VM_SHUTDOWN_ORDER = VM1, VM2, VM3 - determină ordinea în care mașina virtuală va fi oprită (dacă există vreo relație între ele).

VM_STARTUP_ORDER = VM3, VM2, VM1 - definește ordinea de start VM.

ENABLE_NON_PERSISTENT_NFS = 1 - vă permite să conectați NFS-roți (cota de NFS) pentru a crea o copie de rezervă. Când 0, parametrii UNMOUNT_NFS, NFS_SERVER, NFS_MOUNT, NFS_LOCAL_NAME NFS_VM_BACKUP_DIR și vor fi ignorate.

UNMOUNT_NFS = 1 - Stabilește dacă se demontează NFS-drive pentru finalizarea backup VM.

NFS_MOUNT - calea către discul NFS (calea de export NFS).

NFS_LOCAL_NAME - numele care va fi atribuit discul conectat (datastores ID);

NFS_VM_BACKUP_DIR - modul în care se va crea o copie a unei VM (relativ VM_BACKUP_VOLUME).

RSYNC_LINK = 0 - este destinat pentru sincronizarea de backup Rsync. Detaliile sunt vopsite aici.

EMAIL_LOG = 1 - Stabilește dacă jurnalele de e-mail pentru a trimite.

EMAIL_DEBUG = 1 - Determină dacă pentru a trimite jurnalele de depanare (jurnalele de depanare), în e-mail.

Vom continua configurarea. Uită-te la lista de mașini virtuale active și adăugați Enumerate necesare:

Pentru a trimite jurnalele de mail trebuie să permită traficul de ieșire în firewall-ul de pe serverul ESXi, adăugați o linie la sfârșitul fișier XML:

Am recitit și verificați regulile firewall:

În cazul în care nu este nevoie de o rotație jurnal săptămânal sau programul va fi stabilit un pic diferit (de exemplu, o copie de siguranță o dată pe lună), atunci expresia

din start.sh pot fi eliminate. Activare execuție:

Backup va fi în fiecare sâmbătă dimineața. Timpul de sistem este setat la UTC, astfel încât nevoia de a face mai ajustat pentru fusul orar. În cazul meu - este UTC + 3, deci trebuie să facă timp de trei ore înainte, adică vineri, la ora 22:00. Dar, dacă vom adăuga o linie în crontab, după cum urmează:

toate setările vor fi pierdute atunci când reporniți serverul ESXi. Prin urmare, pentru a schimba setările echipei cron'a pentru a adăuga la script-ul de boot:

Situația este similară cu setările serverului ESXi de firewall: pentru conservarea lor trebuie să creeze VIB-pachet folosind utilitarul VIBauthor și instalați-l pe serverul ESXi. Din păcate, VIBauthor se extinde numai la 32 de biți (64 biți fără suport) bazate pe RPM distribuții Linux. Voi folosi CentOS 6.7 i386 minimă. puteți utiliza SUSE distribuție Linux Enterprise 11 SP2, documentația recomandată. Pentru a nu se jura la VIBauthor ustaenovke în funcție de (sau, mai degrabă, de biți), folosind tasta „nodeps“ continua arborescentă podgotavim pentru a construi pachetul:

De fapt, pentru că payload1 dosar - aceasta este locația dorită pachetul de piesa de pe serverul ESXi. Acum, creați o descriere a pachetului:

și în mod direct se conduce singura firewall'a:

Acum puteți compila pachetul:

copiați-l folosind SCP pe un server ESXi:

să stabilească și să verifice dacă sunteți:

Opțional, puteți utiliza meu VIB-pachet.

Pentru a stabili astfel de adăugiri trebuie să ESXi opțiunea de acceptare la nivel de server a fost expus la o valoare de „comunitare acceptate“. Pentru a face acest lucru, deschideți clientul vSphere, așa cum se arată în captura de ecran:

Back-up mașini virtuale pe ESXi

Iar tușa finală: finalizarea procesului de creare a creării de setări server de backup ESXi:

fișier de configurare a serverului ESXi este stocat în /bootbank/state.tgz și este destinat recuperării în cazul opririi bruște sau un server de repornire ESXi (citiți aici). În cazul în care setările de server nu sunt modificate, puteți copia acest fișier manual, în caz contrar - configurare ESXi serverului (stage.tgz și directorul ghettoVCB-master) va fi la fel de rezervă în fiecare săptămână. Pentru a face acest lucru, se adaugă la sfârșitul start.sh înainte de linia „exit 0“ linie:

Crearea unui backup de mașini virtuale.

Verificați setările și de testare a alerga crearea de backup manual, folosind următoarea comandă:

Pentru un singur VM cu numele „MyVirtualMachine“:

Taste parametri de locuri de muncă:

O copie de rezervă a mașinii virtuale este un subdirector <имя_ВМ>-<дата>_<время> . cuprinzând .vmx (fișier de configurare HMW), în mod direct și se .vmdk status.ok. care conține un mesaj despre finalizarea cu succes a copiei de rezervă.

Restaurarea unei VM dintr-o copie de rezervă.

Trebuie să se înțeleagă că în cazul în care copia de rezervă VM a fost făcută în starea ON, după recuperarea unei VM va fi exact la fel ca și cum ar fi după accident - nici o pierdere de date este exclusă.

Conectarea la serverul ESXi prin SSH, NFS mount o copie de rezervă și verificați rezultatul. Formatul de comandă pentru montarea NFS următoarele:

pictat în detaliu aici pentru ESXi 3.x / 4.x. In exemplul meu NFS montat cusatura următor:

Pentru a specifica căi atunci când restaurarea VM nu se poate folosi legături simbolice. Dacă este configurat pentru a utiliza calea de forma: / VMFS / volume / datastore1 / ESXi / ... / VM_name /. când încercați să restaurați VM obține eroarea:

De fapt, acest mesaj apare atunci când script-ul nu găsește o copie de siguranță a VM.

Pentru a specifica calea fără legături simbolice trebuie să știe dispozitiv UUID. Următoarele liste de comandă fiecare LUN, conectat la serverul ESXi și VMFS sale comparație (Volum Name) la UUID:

Deci, în loc de „rezervă“ și „datastore1“, puteți utiliza UUID corespunzătoare:

de rezervă: 9108f6f9-353aeed8;
datastore1: 56b74f4f-85fc58fa-87fe-94de8066eda2.

Pentru mai multe informații despre identificarea discuri și sisteme de fișiere în ESX (i) pot fi obținute aici.

și a restabili VM:

în cazul în care:
-c - calea către lista vehiculelor restaurate.
-L - log cale de locație.

Deoarece backup VM este un set de imagini și fișiere de configurare .vdmk .vmx, puteți pur și simplu să copiați datele și corecta .vmx:

Prin Clientul vSphere deschis, la fel ca în imaginea de mai jos:

Back-up mașini virtuale pe ESXi

la fișierul .vmx, faceți clic pe butonul din dreapta al mouse-ului și selectați „Adăugați la inventar“.

Rezolvarea problemelor.

Pentru a crea o copie de rezervă a informațiilor de depanare necesare pentru a apela cu un ghettoVCB cheie: depanare -d

Pentru a depana procesul de recuperare:

unde: -d - nivelul de detaliu pentru depanare (nivel de depanare) (1-2). Când activați depanare de recuperare de informații nu se va întâmpla.

Pot exista situații în care doriți să întrerupeți ghettoVCB.sh, care rulează în modul manual (interactiv). Apăsați CNTRL + C pentru a opri procesul părinte pentru a continua:

Pentru a opri ghettoVCB, care rulează în modul non-interactiv:

Ambele procese complete și copilului dupa PID:

Dacă mașina virtuală a fost în proces de backup, apoi se deschide un proces suplimentar - vmkfstools:

În ESXi6.5 nu poate fi montat prin NFS GhettoVCB script-ul. Dacă utilizați ESXi versiunea 6.5 și mai mare posibil să aveți nevoie pentru a monta NFS-magazia manual cu ea numai prin clientul vSphere Web, punerea în /vmfs/volumes/datastore1/ghettoVCB-master/my.conf:

la sfârșitul NFS-magazia nu și repara de rezervă demontează start.sh. Acesta a fost: