Backup Vmware. Backup gratuit al mașinilor virtuale bazate pe VMware ESXi. Descrierea utilitarului HVBackup pentru hyper-v

"Mânca administratorii de sistem care nu backupși sunt cei care fac deja copii de rezervă.”
(c) De pe aceste interneturi ale tale.

Bună ziua.

Acest articol va discuta o problemă atât de necesară și presantă administrarea sistemului ca instrument de rezervă pentru mașinile virtuale (VM). Acest articol poate fi considerat pe bună dreptate o continuare logică a câtorva articole anterioare, care au examinat procesele de implementare a sistemelor de hipervizor bazate pe produse VMware și, respectiv, Microsoft. De data aceasta vorbim despre cum să configurați un server care va fi responsabil pentru crearea și stocarea copiilor de rezervă ale mașinilor virtuale pe platformele vSphere ESXi și Hyper-V.
Ambele opțiuni se vor baza pe versiunea gratuită a Veeam Backup & Replication. (denumit în continuare Veeam B&R). În cazul meu, un computer obișnuit cu Windows 7 a fost selectat ca „server de rezervă” (64 de biți). Nu este o coincidență faptul că adâncimea de biți a sistemului de operare este menționată în paranteze - dintr-o anumită versiune (probabil din a 7-a sau mai devreme) Veeam B&R este livrat ca o aplicație pe 64 de biți, eliminând nevoia de sisteme pe 32 de biți pentru serverul Veeam Backup & Replication.
Informații complete cu o listă a versiunilor de sistem de operare pentru server acceptate pot fi găsite în cartea de referință pentru cea mai recentă versiune (la momentul scrierii - v9), care, la rândul său, poate fi găsit întotdeauna pe pagina Veeam FAQ.

Dorind să obținem o versiune bugetară a proiectului și câștigul maxim posibil de cost, pe cât posibil în cadrul respectării acordurilor de licență, vom folosi versiunea gratuită a pachetului Veeam Backup & Replication. Acest lucru, la rândul său, va limita oarecum funcționalitatea de lucru a pachetului. În special în versiune gratuită fără acces la programatorul de activități și, de exemplu, modul de copiere incrementală (doar solid copii integrale VM, în loc de parțial - pe baza modificărilor dintre versiunile de rezervă). Dacă cel puțin puteți trăi fără al doilea, deși cu rezerve, atunci în primul caz vom folosi planificatorul Windows încorporat ca alternativă.
Planificatorul nostru va fi lansat de sarcini bazate pe scripturi Windows Powershell executabile, pentru care în distribuția Veeam B&R (începând cu versiunea 8 + update 3) Există cmdleturile necesare, ceea ce este foarte bun.

Dacă veți lucra cu hypervisor-ul ESXI versiunea 6 (ca in acest articol), apoi actualizarea kb2068 sau o versiune ulterioară a programului în sine trebuie să fie instalată peste Veeam B&R v8 instalat - altfel nu vă veți putea conecta la ESXI (Eroare eșuată pentru a vă conecta la „SERVER_IP” prin SOAP, portul 443, utilizatorul „rădăcină”, proxy srv: port:0 Format necunoscut al versiunii API: „dev”).

Copiere de rezervă a mașinilor virtuale VMware vSphere ESXi

Cred că nu este nevoie să descriem procesul de instalare a Veeam Backup & Replication pe un viitor server de backup - diferă puțin de majoritatea instalatorilor Windows, cu excepția duratei lungi datorate instalării tuturor componentele necesare, așa că să începem imediat să revizuim pachetul de la Veeam.

Instalarea, configurarea și testarea Veeam Backup & Replication

După instalare, lansați Veeam B&R - sunt necesare drepturi de administrator pentru a rula.

Orez. 01

După prima lansare, veți vedea fereastra principală a programului.
Primul pas este adăugarea unui nou server la configurație, pentru care selectăm subelementul corespunzător:

Adăugați server - VMware vSphere.

Orez. 02

Următorii pași demonstrează procesul de adăugare a unui nou server ESXi, pe lângă adresa IP, majoritatea implică crearea unui cont de administrator de server (Acreditări).

Orez. 03

În fila următoare, adăugați propriul cont de administrator ESXi (rădăcină)

Orez. 04
Server a fost adăugat.

Orez. 05

Odată completată adăugarea, în nodul „VMware vSphere”, în lista de servere, vom vedea noul nostru hypervisor. Făcând clic pe numele acestuia, puteți vedea o listă de mașini virtuale găzduite pe server și o scurtă descriere a acestora.

Orez. 06

Înainte de următorii pași de configurare, efectuați o copie de rezervă de test mașină virtuală, de ce în lista de VM, faceți clic pe oricare dintre ele Click dreapta mouse-ul și dați comanda VeeamZIP.

Orez. 07

Se va deschide un dialog care vă va cere să selectați locația viitoarei arhive cu imaginea VM. Selectați o locație și confirmați modificările.

Orez. 08

După aceasta, va începe procesul de creare a unei copii de rezervă a întregului sistem al mașinii virtuale la distanță în spațiul de stocare selectat.

Orez. 09

La finalizarea procesului, o arhivă cu o copie de rezervă a VM-ului nostru va fi scrisă în directorul desemnat (fișier cu extensia *.vbk).

Viteza procesului depinde în mare măsură de dimensiunea sistemului de fișiere VM (spațiu pe disc ocupat), caracteristici ale serverului de backup și ale hypervisorului (sistem de disc, viteza interfeței de rețea), și pe arhitectura de rețea prin care această operațiune efectuat.
În exemplul meu, unități SATA-II și controlere de rețea gigabit, atât pe serverul de rezervă, cât și pe hypervisor, între ele există un comutator - de asemenea, cu porturi de 1 GB/s, cablurile de corecție de rețea sunt scurte și comprimate corespunzător pentru lucrul la acest standard lățime de bandă (analog cu conexiunea încrucișată „montat în rack”).
Printre altele, pot recomanda ca toate VM-urile care rulează produse VMware să instaleze pachetul VMware Tools în sistemul de operare invitat pentru a optimiza funcționarea tuturor serviciilor și utilităților interdependente din infrastructura VMware.
Sa trecem peste.

Creați o lucrare de planificare în Windows PowerShell

După ce am verificat asta mod manual Nu există dificultăți, să începem să adăugăm sarcina la Programatorul de activități Windows. Dar înainte de asta, să creăm obiectul executabil propriu-zis, care va fi sarcina noastră - un script powershell.
Puteți crea un script de la zero sau puteți folosi unul gata făcut pe care îl puteți împrumuta de pe blog (alias în rusă) unul dintre dezvoltatorii de la Veeam. Printre cele mai recente recomandări - versiunea de powershell ar trebui să înceapă de la versiunea 3 pentru a evita eventualele probleme în funcționarea cmdlet-urilor cu versiune veche (dacă este necesar, actualizați înainte de a începe cercetarea creativă). Puteți afla versiunea curentă tastând comanda în consola Powershell:

În cazul meu leneș, am luat scripturi gata făcute și am editat câmpurile de care aveam nevoie, ducând la valorile necesare.

Mai jos puteți vedea cum arată scriptul meu după modificări (fișier numit VeeamZIP2.ps1). Câmpurile modificate cu valorile mele sunt evidențiate cu roșu.

# Autor: Vladimir Eremin # Data creării: 24/03/2015 # http://forums.veeam.com/member31097.html # ###################### ############################################ # Variabile definite de utilizator # ################################################# # ############### # Numele mașinilor virtuale pentru backup separate prin punct și virgulă (obligatoriu) # exemplu din V. Eremin: # $VMNames = "VM1", "VM2", "VM3" $ VMNames = "win_xp1", "zabbix" # Numele mașinilor virtuale gazdă vCenter sau autonome pe care să se găsească backup (Obligatoriu) $HostName = "192.168.55.100" # Director în care ar trebui să meargă backupurile VM (Obligatoriu; de exemplu, C:\ Backup ) $Directory = "d:\backup\arch\veeam-esxi\" # Nivelul de compresie dorit (Opțional; Valori posibile: 0 - Nici unul, 4 - Dedupe-friendly, 5 - Optimal, 6 - Ridicat, 9 - Extrem) $ CompressionLevel = "5" # Opriți mașina virtuală când faceți un instantaneu (Opțional; instrumentele VMware sunt necesare; Valori posibile: $True/$False) $EnableQuiescence = $True # Protejați backupul rezultat cu cheia de criptare (Opțional; $True/$False) $ EnableEncryption = $False # Cheie de criptare (Opțional; cale către un șir securizat) $EncryptionKey = "" # Setări de păstrare (Opțional; În mod implicit, fișierele VeeamZIP nu sunt eliminate și păstrate în locația specificată pentru o perioadă nedeterminată de timp. # Valori posibile: Niciodată , Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month) $Retention = "In 3days" ################################################################## ########################### # Setări de notificare ################### ############################################### # Activează notificarea (Opțional) $EnableNotification = $False # Email Server SMTP $SMTPServer = "" # Email FROM $EmailFrom = "" # Email TO $EmailTo = "" # Subiectul e-mailului $EmailSubject = "" ######## #################################################################### ####### # Formatarea e-mailului ####################################### ########################### $style = "" ################################################# ################ # Variabile definite de utilizatorul final ########################### #################################### ############# ######## NU MODIFICAȚI TRECUȚI ACEST LINIE ############### Asnp VeeamPSSnapin $Server = Get-VBRServer -name $HostName $MesssagyBody = @() foreach ( $VMName în $VMNames) ( $VM = Find-VBRViEntity -Name $VMName -Server $Server If ($EnableEncryption) ( $EncryptionKey = Adaugă-VBREncryptionKey -Parolă (cat $EncryptionKey | ConvertTo-SecureString) $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention -EncryptionKey $EncryptionKey ) Altfel ( $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention ) Dacă ($EnableNotification) ( $TaskSessions = $ZIPSession.GetTaskSessions().logger.getlog().updatedrecords $FailedSessions = $TaskSessions | unde ($_.status) EWarning" -sau $_.Status -eq "EFailed") dacă ($FailedSessions -ne $Null) ( $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @(n="Nume";e=(($_.nume).Substring(0, $_.nume.LastIndexOf("(")))) ,@(n="Ora de începere";e =($_.CreationTime)),@(n="End Time";e=($_.EndTime)),Result,@(n="Details";e=($FailedSessions.Title))) Else ( $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @(n="Nume";e=(($_.name).Substring(0, $_.name.LastIndexOf("(")))) , @(n="Ora de început";e=($_.CreationTime)),@(n="Ora de încheiere";e=($_.Ora de sfârșit)),Rezultat,@(n="Detalii";e = (($TaskSessions | sort creationtime -Descending | select -first 1).Title))) ) ) Dacă ($EnableNotification) ( $Message = New-Object System.Net.Mail.MailMessage $EmailFrom, $EmailTo $Message .Subject = $EmailSubject $Message.IsBodyHTML = $True $message.Body = $MesssagyBody | ConvertTo-Html -head $style | $SMTP = New-Object Net.Mail.SmtpClient ($SMTPServer) $SMTP.Send Mesaj))

După cum puteți vedea din exemplul de mai sus, am schimbat doar câteva câmpuri:

$VMNames = „win_xp1”, „zabbix”

nume de mașini virtuale din lista din Veeam B&R

$HostName = "192.168.55.100"

Adresa IP a hypervisorului ESXi

$Directory = "d:\backup\arch\veeam-esxi\"

director pentru stocarea arhivelor de imagini ale mașinii virtuale

$EnableEncryption = $False

dezactivarea criptării arhivei

$Retention = „În trei zile”

ștergerea automată a arhivei imaginii mașinii virtuale după perioada de timp specificată în variabilă.

Aici vă puteți seta valoarea. — opțiuni posibile sunt enumerate în comentariile la script.

$EnableNotification = $False

Aici am dezactivat notificările prin e-mail pentru că nu am planificat încă o astfel de funcție pentru mine. Puteți personaliza opțional acest lucru dacă este necesar.

Când toate opțiunile sunt definite, trebuie să verificăm funcționarea scriptului nostru.
Lansați consola CMD în numele administratoruluiși rulați comanda:

Powershell – fișier „c:\bin\VeeamZIP\vmware\VeeamZIP2.ps1”

Dacă totul este configurat corect, veți vedea scriptul rulând:

Orez. 10

Orez. unsprezece

După finalizarea acestui pas, trecem la etapa următoare.

Adăugarea unei sarcini în Windows Task Scheduler

Rulați Windows Task Scheduler ca administrator.
Faceți clic dreapta pe folderul „Biblioteca de programare de activități” și selectați „Creați o sarcină simplă”. Dăm sarcinii noastre un nume: „VeeamZIP-test” și setăm proprietățile noii sarcini.

Orez. 12

Vom descrie natura sarcinii dacă este necesar

Orez. 13

Stabiliți un program pentru o nouă sarcină

Orez. 14

Să setăm acțiunile care trebuie efectuate pentru sarcină.

Orez. 15

Acordați atenție acestui pas, și anume modul în care comanda și argumentele sale sunt distribuite după forma:
- în cazul meu, planificatorul a fost de acord să-mi execute scriptul doar cu această metodă de completare a câmpurilor (Separat 2 rânduri: „Program...” și „Adăugați argumente...”).

Orez. 16

Orez. 17

Orez. 18

Orez. 19

După configurarea sarcinii, o vom executa cu forță în afara programului de depanare.

De menționat că mecanismul VeeamZIP nu începe să funcționeze imediat, ci după o anumită perioadă de timp necesară procedurilor de service pentru pregătirea lucrării de copiere. Țineți cont de acest lucru când așteptați în timp ce efectuați verificări de rezervă.

Orez. 20

Ar trebui să funcționeze la fel ca în exemplul anterior, cu o diferență - procesul va fi lansat în fundal, fără a lansa nicio fereastră pe ecran.
Din acest motiv, puteți urmări lansarea cu succes a acestuia în mai multe moduri, inclusiv:;
— crearea unui nou fișier de arhivă de imagini VM în stocare;
- în scopuri de depanare - înregistrarea evenimentelor în jurnalul sarcinii noastre.

Mai jos este un vârf tipic de activitate pe interfața lan-pci în timpul încărcării imaginilor VM de la ESXi pe serverul Veeam B&R:

Orez. 21

Arhive de imagini VM înregistrate în directorul de destinație (stocare de rezervă).

Orez. 22

Rămâne să vă asigurați că backupul funcționează atât manual, cât și conform programului desemnat.

Aș dori să spun câteva cuvinte despre tipurile de licențe.

Pentru ca metoda de backup descrisă mai sus să funcționeze, trebuie îndeplinite următoarele condiții pentru software-ul utilizat:
Sistem de operare server de backup - Windows 7 x64 sp1/ Server 2008R2 / 2012 sau mai recent;
Veeam Backup & Replication (Gratuit, nu mai mic de v8 + instalare obligatorie ultimele actualizări, dar nu mai mic decât upd v.3);
VMware ESXi 6 (va fi destul de posibil să lucrați cu v5.5) Kit esențial sau mai mare (licență mai extinsă). Gratuit (ESXi Freeware) versiunea blochează capacitatea de a crea copii de rezervă pentru VM.

Începând cu prima jumătate a anului 2016, costul licențelor în cadrul schemei de mai sus va fi de 45 de mii de ruble. (ESXi Essential Kit x ​​​​3 servere)+ 10 mii de ruble. pe Windows 7 (8) .
În ceea ce privește ESXi, puteți observa separat că licența Essential Kit vă va permite să obțineți acces la funcționarea mecanismului de backup pentru copii întregi ale mașinilor virtuale. Dacă există o oportunitate financiară de a extinde licența, de exemplu pentru Enterprise, se va deschide un mod de copiere parțială pentru utilizare (schemă incrementală și o serie de alte opțiuni utile și interesante).
Acest mod este, desigur, și mai optim dacă nu te uiți la estimarea finală. Mai mult decât atât, dacă există fonduri pentru pachete complete corporative VMware ESXi, atunci se pare că putem vorbi despre achiziționarea unui versiune comercială pentru Veeam Backup & Replication, care va deschide calea spre utilizarea tuturor opțiunilor acestui software, inclusiv a planificatorului. Este usor de observat ca aceasta optiune te face sa te gandesti la oportunitatea folosirii tehnicii descrise in articol pentru lucrul cu copii de siguranta si este evident data pentru orientare generala asupra subiectului.
Dacă nu aveți fonduri suplimentare pentru licențe extinse, atunci cred că utilizarea combinației descrise în articol arată mai mult decât optimă și prietenoasă cu bugetul.

Cu aceasta, probabil că voi termina prima parte a articolului despre copierea de rezervă a mașinilor virtuale de la hypervisorul VMware ESXi 6 la stocarea serverului Veeam Backup & Replication v8. În a doua parte ne vom uita la configurarea unui server de rezervă cu care să lucrăm mașini virtuale bazat pe Hyper-V.

Backup gratuit al mașinilor virtuale bazate pe VMware ESXi

Pentru VMware ESXiîntrebare backup mașină virtuală este deosebit de acută. Software-ul gratuit suplimentar este incomod de utilizat din cauza funcționalității limitate. Prin urmare noastre backup se va baza pe un script gratuit - ghetouVCB. Aceasta este cea mai bună versiune a scripturilor existente, deși are un nume atât de amuzant și întregul proiect în ansamblu - www.virtuallyghetto.com, autor William Lam. Algoritmul său este de a crea un instantaneu și de a clona o VM.

Pentru a configura o schemă de rezervă completă, avem nevoie de:

  • NFS server pentru stocarea fisierelor;
  • conexiune prin SSH la ESXi;
  • scenariu ghettoVCB.sh adăugat la serverul ESXi (la rădăcina sau folderul viitorului backup). Acest lucru se realizează prin SFTPîn orice mod convenabil pentru dvs., de exemplu, FileZilla;
  • acordăm drepturi de a executa scriptul copiat;

Acum să ne uităm la fiecare punct mai detaliat. Pentru a crește performanța și toleranța la erori a unui server de fișiere/server de rezervă, este mai bine să utilizați RAID10. Sistemele de operare preferate în acest caz sunt Linux (Debian, Ubuntu, „convenient pentru tine”) și Sistemul de fișiere XFS, deoarece în această configurație, viteza de scriere (prioritatea principală pentru backup rapid) va fi mai mare.

Îl avem deja, dar poți să faci totul client vSphere: Configurare > Software > Profil de securitate > Proprietăți... > Asistență tehnică de la distanță (SSH) > Opțiuni... > Pornire sau oprire.

Să trecem la configurarea scriptului ghettoVCB.sh, principalii parametri de care avem nevoie:

VM_BACKUP_VOLUME - calea către folderul de rezervă, în cazul meu /vmfs/volumes/datastore1/backup
DISK_BACKUP_FORMAT - formatul de disc, subțire este cel mai bun pentru copii de rezervă
VM_BACKUP_ROTATION_COUNT - numărul de copii de rezervă stocate (pentru fiecare mașină virtuală), am 3
ADAPTER_FORMAT - tip adaptor, în cazul meu - lsilogic

Parametrii rămași sunt responsabili pentru copierea fișierelor prin rețea și notificările prin e-mail. Parametrii de configurare mai detaliați sunt descriși pe site-ul dezvoltatorului!

Dacă este necesar să copiați nu toate mașinile virtuale, atunci se creează un fișier cu o listă de VM incluse în backup. Creați un fișier ca acesta în vi:

  • mergeți la folderul cu scriptul - cd /ghettovcb sau backup
  • vi vmlist
  • apăsați „a” și introduceți numele VM (fiecare nume pe linie nouă)
  • apăsați „esc” și pentru a salva modificările - „:wq” (fără a salva „:q”)

Să rulăm scriptul:

  • ./ghettovcb.sh -a -l ./log.txt - începe să copiezi toate mașinile, scriind un fișier jurnal în același director
  • ./ghettovcb.sh -f ./vmlist -l ./log.txt - începe copierea mașinilor specificate în fișierul vmlist, jurnalele sunt salvate în același director
  • ./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt - similar, folosind doar fișierul .conf

Executarea corectă a script-ului va fi semnalată printr-o linie cu inscripția: „###### Stare finală: Toate VM-urile au făcut backup OK! ######". Dacă nu este cazul, verificați jurnalele, sintaxa comenzilor și căile fișierelor.

Pentru a adăuga o linie pentru a rula conform unui program (în cron), trebuie să editați fișierul „/etc/rc.local.d/local.sh” făcând următoarele:

  • accesați directorul /etc/rc.local.d/local.sh
  • chmod u+w local.sh
  • deschideți fișierul cu un editor - vi local.sh
  • activați editarea tastelor „i” sau „inserare”.
  • adăugați următoarele înainte de linia exit0:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo 0 20 * * * /vmfs/volumes/datastore/script/ghettoVCB.sh -a -l /vmfs/volumes/backup/log/log.txt >> /var/spool/cron/crontabs/root
/bin/crond

  • În același timp, indicăm orarul (ora este indicată în UTC, adică pentru MSK -3 ore), adică. "00 20 * * * "
  • apăsați „esc” și salvați - „Shift+:” și „wq”
  • la final facem chmod u-w local.sh

Astfel, la ora 23:00, ora Moscovei, se va face backup pentru fișierele mașinii virtuale. În cazul nostru, vor mai rămâne 3 exemplare.

Configurarea copiei de rezervă pentru ESXi prin ghettoVCB.sh efectuat.

Pentru a organiza un sistem de backup automat pentru mașinile virtuale care rulează pe un server VMWare ESXi, vom folosi utilitate gratuită MKSBackup, pe care îl puteți descărca (la momentul scrierii, cea mai recentă versiune disponibilă este MKSBackup 1.0.4 din 24 ianuarie 2013). Acest utilitar este un fel de front end care se integrează cu diverse scripturi de rezervă, inclusiv GhettoVCB(Scriptul de backup VM scris în perl și întreținut de entuziaști). GhettoVCB vă permite modul online creați copii de rezervă ale mașinilor virtuale care rulează. O copie de rezervă a VM este creată prin crearea unui instantaneu al acesteia.

Important. GhettoVCB nu funcționează cu mașini virtuale care au propriile lor instantanee. Pentru a efectua o copie de rezervă a unei mașini virtuale, toate instantaneele trebuie șterse (de exemplu, prin Snapshot Manager).

MKSBackup este unul dintre puținele instrumente de backup care vă permite să efectuați backup online a mașinilor virtuale. MKSBackup poate fi folosit pentru a face backup mașinilor virtuale care rulează atât pe edițiile comerciale ale VMware ESXi, cât și pe VMware Hypervisor gratuit. Utilitarul este dezvoltat în Python și este multiplatformă. Utilitarul MKSBackup nu are GUI, lucrează prin Linie de comanda, și este configurat prin fișierele de configurare.

Desigur, comoditatea și gestionabilitatea soluției de organizare a backup-ului mașinilor virtuale VMWare bazate pe MKSBackup este mai mică decât cea a produselor comerciale, dar este compensată în mare măsură de natura sa liberă, ușurința de configurare și viteza de implementare.

Instalarea scriptului de rezervă MKSBackup

Configurarea setărilor de backup pentru mașina virtuală

Următorul pas este configurarea setărilor de backup pentru mașinile virtuale care rulează pe serverul ESXi. Configurarea se realizează prin editarea fișierului de configurare mksbackup.ini (situat în folderul C:\Magik în mod implicit).

Deschideți fișierul mksbackup.ini în orice editor de text. Structura fișierului constă din mai multe secțiuni, numele fiecărei secțiuni este cuprins între paranteze drepte.
Secțiune:

În această secțiune puteți seta parametrii de notificare pentru e-mail. Nu ne interesează acest lucru, așa că îl vom lăsa

Următoarea secțiune. Această secțiune reprezintă sarcina de backup și descrie diferiții parametri care asigură backup-ul mașinilor virtuale Mediul Windows. În exemplul nostru, sarcina arată astfel:

Program=ghettovcb host=10.10.1.89 port=22 login=root password=LI&f3ccc23 local=C:\magik\vmware global_conf=ghettoVCB.conf vm_list=vm1_https winXPtest destination=C:\magik\$(vm) scp_bin="D: \Instalare\Putty\pscp.exe" -scp -r

Să aruncăm o privire mai atentă asupra parametrilor sarcinii:

program– program de rezervă, părăsiți ghettovcb

gazdă– numele/ip-ul gazdei ESXi pe care rulează mașinile virtuale

port– port pentru acces (portul implicit 22 – protocol SSH)

log in– nume de utilizator cu drepturi de acces la serverul ESXi (în mod implicit, acesta este root, dar din motive de securitate este mai bine să creați un utilizator separat pe serverul ESXi)

parola- Parolă de utilizator

local– directorul local în care sunt stocate scriptul de backup și configurația acestuia

global_conf– fișier cu setările de script ghettoVCB

vm_list– o listă de mașini virtuale pentru care trebuie să creați o copie de rezervă. Dacă trebuie să faceți copii de rezervă pentru toate mașinile virtuale, acest parametru ar trebui lăsat gol. Dacă trebuie să excludeți unele mașini virtuale, utilizați parametrul vm_exclude.

destinaţie– parametrul vă permite să specificați tipul de operație care trebuie efectuată. Ar putea fi

  • backup – efectuați o copie de rezervă simplă (nu este nevoie să specificați o destinație)
  • copiere – efectuați o copie de rezervă și copiați fișierele rezultate în directorul specificat
  • mutare - efectuați o copie de rezervă și mutați fișierele rezultate în directorul specificat

Să ne concentrăm pe opțiunea de mutare, deoarece este mai optimă. În acest caz, backup-urile locale ale mașinilor virtuale vor fi create pe gazda ESXi, care vor fi apoi transferate pe computerul care rulează scriptul.

mon-sun – se presupune că scriptul poate fi executat zilnic (vom lăsa așa, deoarece vom seta frecvența de rulare a backupului prin planificatorul Windows).

În plus, vom indica directorul în care vor fi mutate backup-urile VM (C:\magik). Parametrul $(vm) indică faptul că pentru fiecare mașină virtuală va fi creat un director separat cu numele său, unde vor fi stocate fișierele mașinii virtuale.

Notă. Descriere detaliata Setările de configurare ale scriptului și sintaxa acestuia sunt date pe site-ul web al dezvoltatorului.

scp_bin– calea către utilitarul scp

Important. Asigurați-vă că demonul SSH este activat pe serverul ESXi.

VM_BACKUP_VOLUME=/vmfs/volumes/msa2000/backup VM_BACKUP_ROTATION_COUNT=3

VM_BACKUP_VOLUME– un director pe serverul ESXi în care vor fi salvate copii ale mașinilor virtuale (în mod firesc, ar trebui să existe suficient spațiu liber pe partiția VMFS)

VM_BACKUP_ROTATION_COUNT– numărul de copii locale care urmează să fie stocate (în exemplul nostru, vor fi stocate ultimele 3 copii de rezervă)

Tot ce rămâne este să folosiți utilitarul plink (inclus și cu Putty) pentru a salva cheia gazdă în memoria cache ssh locală. De exemplu, așa:

PLINK.EXE [email protected] ls /

Rularea unei copii de rezervă a mașinilor virtuale pe o gazdă VMWare ESXi

Să testăm scriptul de rezervă. Pentru a face acest lucru, deschideți un prompt de comandă cu drepturi de administrator și executați comanda:

C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini backup VMWARE_FROM_WINDOWS

Unde este cheia –v arată ceea ce trebuie afișat informatii detaliate,-c calea către fișierul de setări mksbackup.ini, backup– înseamnă că trebuie să porniți o copie de rezervă, la sfârșit este indicat numele sarcinii din fișier mksbackup.ini(în exemplul nostru, sarcina este VMWARE_FROM_WINDOWS).

Dacă totul este configurat corect, utilitarul va începe să afișeze informații detaliate despre procesul de backup pe consolă (procesul de backup este destul de lung, așa că nu ar trebui să vă așteptați să fie finalizat rapid).

Procesul de backup poate fi urmărit prin apariția evenimentelor de creare/ștergere a instantaneelor ​​în consola VMware vSphere.

În timpul execuției scriptului, folderele care conțin fișiere mașini virtuale vor apărea în directorul de destinație.

După efectuarea unei copii de test, puteți trece la automatizarea procesului de backup. Pentru a face acest lucru, să creăm o nouă sarcină de planificare Windows.

Să creăm o sarcină numită „Backup ESXi”, care rulează vineri și rulează comanda: C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini backup VMWARE_FROM_WINDOWS

În setările sarcinii, nu uitați să specificați că trebuie să fie rulat cu drepturi de administrator (opțiunea „Run cu cele mai înalte privilegii”).

Notă. Dacă sarcina va fi executată în numele altuia cont(nu cel sub care s-a efectuat testarea), trebuie să rețineți că memoria cache a noului cont nu va conține cheia necesară. Pentru a rezolva problema, trebuie să rulați comanda plink de mai sus dintr-un cont nou.

Dezavantajele acestui lucru aceasta metoda backup mașini virtuale:

  • viteza de rezervă destul de mică
  • o cantitate mare de spațiu liber necesară pentru a stoca copii de rezervă ale VM

Aceste dezavantaje sunt compensate de natura sa liberă, dar pentru soluții mari este de preferat să se utilizeze produse comerciale backup, cum ar fi Veeam sau HP DataProtector.

Pe acest moment Există mai mulți producători de programe de stocare de rezervă, atât plătite, cât și gratuite. Noi am hotărât asta programe gratuite fie incomod de utilizat (instalare complicată, amenințare constantă de eșec, lipsa interfețelor native), fie le lipsesc cele mai importante opțiuni de backup. În acest caz, merită să cumpărați un program plătit, care, spre deosebire de cel gratuit, va fi complet funcțional cu toate funcțiile de bază de backup. Mai jos este o listă cu cele mai bune soluții de backup, conform experților:

    Veeam BackUp & Replication 5

Aceste programe sunt principalele programe de rezervă utilizate de majoritatea utilizatorilor:

    Recuperare date cu suport VCenter Server

După cum s-a scris deja în trecut, acesta este cel mai sigur mod de a crea o copie de rezervă a unei mașini dacă ați achiziționat VCenter Server și nu mai aveți dorința sau mijloacele de a face față acestei probleme. Personalizat această tehnologie destul de usor ghid complet poate fi găsit la următorul link:

Această soluție funcționează atât cu cât și fără VCenterServer, dar nu va exista posibilitatea de a configura backup în timp. Ne vom uita la toate caracteristicile principale de mai jos când comparăm toate produsele.

    Acest produs este destul de popular acum, ca tip de licență a acestui produs(licentiat de socket-uri) va fi extrem de benefic pentru camerele de servere cu servere de putere redusa. Mai jos ne vom uita la mai multe configurații de server și vom lua în considerare caracteristicile prețului. Acest produs acceptă și opțiunea de recuperare instantanee a datelor după o defecțiune datorită tehnologiei sale vPower.

    De asemenea, recent a lansat instrumente pentru backup în medii virtuale. În plus, Symantec este singura soluție de backup care utilizează tehnologia V2P (conversia unui mediu virtual în servere fizice). Adevărat, Vcenter are o astfel de tehnologie, dar nu în cadrul tehnologiei de backup

    Dar capacitățile Acronis nu se limitează la asta. Acronis a inclus o altă caracteristică în pachetul Acronis Backup & Recovery 10 AdvancedServer Virtual Edition: consolidarea serverului pentru a transfera sisteme de la platformele fizice la cele virtuale, cu un planificator de sarcini încorporat. Ca rezultat, avem asta acest programîndeplinește 2 funcții principale:

    • Recuperare sistem de urgență

      Consolidarea serverului

    Principalele avantaje comparativ cu alte tehnologii:

      Posibilitatea de a lucra cu servere fizice, și într-un mediu virtual, care permite, în fazele inițiale de dezvoltare a companiei, să combine consolidarea cu ratinguri ridicate de fiabilitate

      Gamă largă de dispozitive de stocare de rezervă acceptate (chiar și dispozitive optice și benzi magnetice)

      Crearea unei partiții Acronis Secure Zone pe același server VM, care vă permite să restaurați mașina într-un timp scurt, iar această partiție va fi protejată prin modul de deduplicare pe alt server

      Dacă backupul este unul dintre obiectivele noastre principale, indiferent de preț, cu siguranță ar trebui să alegem între soluțiile de la Veeam, Acronis sau Symantec. Ambele produse sunt lideri în backup și stocare și oferă o serie de beneficii individuale.

      Atunci când alegeți între aceste tehnologii, este necesar să trasați o linie pe mai multe linii:

      1. Tip de licență

        Caracteristici

        Volumul și frecvența de rezervă

      La tipuri diferite Licențiarea merită să decidem care dintre ele ni se potrivește cel mai bine. Dacă avem servere puternice cu un număr mare de socluri pentru procesoare, ar trebui să ne înclinăm spre Acronis și Symantec. Dacă avem multe servere slabe cu un număr mic de socluri, cea mai bună opțiune va fi Veeam.

      De asemenea, este necesar să înțelegem de ce avem nevoie, adică ce cerințe vom avea pentru backup, prezența acelor funcții care sunt deosebit de importante pentru noi.

      Un factor foarte important este cât de des și la ce oră vom face copii de rezervă. Dacă trebuie să creăm mașini de backup pentru întreaga infrastructură, iar frecvența nu este importantă, acesta este un lucru (instalăm un planificator de backup noaptea). Este complet diferit dacă avem o singură mașină prioritară, pentru care trebuie să creăm o copie de rezervă la fiecare câteva minute (vom avea deja nevoie de o copie de rezervă pe tot parcursul zilei).

      După ce am determinat toți acești parametri pentru un anumit caz, nu ne va fi greu să decidem singuri care produs este mai potrivit pentru noi.

Un mic test:
Rețea locală - gigabit.
Pe depozitare locală(hardware RAID 10 din 4 discuri de 10K) - „time dd if=/dev/zero of=/vmfs/volumes/datastore/temp bs=1M count=1K” 8 secunde.
Pe stocarea „linux” (software RAID 0 din 3 discuri de 7,5K) - „time dd if=/dev/zero of=/vmfs/volumes/linbackup/temp bs=1M count=1K” 12 secunde.
Pe stocarea Windows (hardware RAID 5 din 10 discuri de 10K) - „time dd if=/dev/zero of=/vmfs/volumes/winbackup/temp bs=1M count=1K” 1 minut și 44 de secunde (sunt șocat) .

Rezultatele vorbesc de la sine. Da, stocarea câștigătoare are RAID 5, dar este puțin probabil să fie singurul de vină pentru acest rezultat.

Am rezolvat sistemul de stocare, acum trebuie să automatizăm backup-ul. Cel mai bun instrument gratuit este scriptul ghettoVCB, pentru a-l folosi trebuie să accesați gazda ESXi prin SSH. După cum se dovedește, există o modalitate foarte simplă de a activa și dezactiva accesul direct din clientul vShere: Configurare > Software > Profil de securitate > Proprietăți... > Asistență tehnică la distanță (SSH) > Opțiuni... > Pornire sau oprire. Cred că va fi mai clar din aceste capturi de ecran:

Descarca ultima versiune scenariu. Puteți deveni „adevărat” făcând așa cum este scris pe pagina de script în secțiunea „Configurare:”, dar am făcut-o mai simplu - am despachetat arhiva de pe computer, în loc să editez fișierul de configurare - am editat scriptul în sine, am copiat acesta în stocarea locală (prin „Browse Datastore”).

Iată principalii parametri:

VM_BACKUP_VOLUME - calea către folderul de rezervă, în cazul meu /vmfs/volumes/linbackup
DISK_BACKUP_FORMAT - formatul de disc, subțire este cel mai bun pentru copii de rezervă
VM_BACKUP_ROTATION_COUNT - numărul de copii de rezervă stocate (pentru fiecare mașină virtuală), am 2
ADAPTER_FORMAT - tip adaptor, am lsilogic

Parametrii rămași nu trebuie editați, dar dacă sunteți interesat, toți parametrii sunt descriși în detaliu pe pagina de script, deși în engleză, aproape toți parametrii sunt scriși în rusă.

Deci, scriptul a fost copiat în stocarea locală, conectați-vă prin ssh, mutați scriptul undeva mai aproape de rădăcină, de exemplu în /ghettovcb/ghettovcb.sh, dacă nu aveți nevoie să faceți backup pentru toate mașinile virtuale, trebuie să creați un fișier cu o listă de mașini virtuale pentru a fi copiată de rezervă:
cd /ghettovcb
vi vmlist
apăsați „a”, introduceți numele mașinilor virtuale, fiecare pe o linie nouă, apăsați „esc” și pentru a salva modificările „:wq” sau pentru a ieși fără a salva „:q”

Întreruperile de linie trebuie să fie „\n”, dacă întrerupeți „\r\n”, scriptul va da o eroare, așa că nu ar trebui să creați o listă în Notepad și apoi să o copiați în stocare dacă nu ați folosit niciodată Notepad+ sau EmEditor și nu nu știu ce este „\n” și „\r\n” - mai bine creați o listă în vi.

Să încercăm să rulăm scriptul:

./ghettovcb.sh -f ./vmlist -l ./log.txt

./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt
Scriptul funcționează, producând o mulțime de informații, dacă la sfârșitul ieșirii vedem „###### Stare finală: Toate VM-urile au făcut backup OK ######”, atunci totul este în regulă, altfel citim! log.txt și află ce nu am făcut.
Acum trebuie să creăm un program pentru copii de rezervă.
cd /var/spool/cron/crontabs
chmod u+w root
vi root
apăsați „a”, scrieți un program, doar rețineți că ora este indicată în UTC, adică pentru Moscova aceasta este ora locală minus trei ore
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
sau dacă ați creat un fișier de configurare
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -g /ghettovcb/ghettovcb.conf -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
apăsați „esc” și salvați „:wq”
in custodie
chmod u-w root

Acum, în fiecare zi, la 20:00 UTC (23:00 ora Moscovei), scriptul va fi lansat, jurnalele despre execuția sa vor fi salvate în stocarea în folderul jurnal, un jurnal separat pentru fiecare zi.

Conform jurnalelor, îmi ia aproximativ 4 ore să fac o copie de rezervă, am calculat viteza - aproximativ 4GB pe minut, adică. aproximativ 70 MB pe secundă, deloc rău. 2,7 TB de stocare sunt suficiente pentru a stoca două copii ale fiecărei mașini virtuale, acest lucru este suficient, plus că există încă loc liber, dar este necesar, pentru că al treilea se face primul copie de rezervăși numai după crearea sa cea mai veche copie este ștearsă.
Ei bine, încă un lucru împotriva stocării „windows” - am încercat să fac copii de rezervă cu un script pe el, stocarea pur și simplu a căzut și scriptul în sine s-a încheiat cu o eroare. Înțeleg că ideea este că înregistrarea NFS a fost configurată incorect, dar setările erau implicite și nu am vrut cu adevărat să înțeleg „ajustarea”.

Experimentul a avut succes, puteți achiziționa un server cu roți bune, RAID 10 este planificat pentru 5TB, acest lucru ar trebui să fie suficient pentru viitoarele mașini virtuale.

Etichete: vmware, vsphere, esxi, backup, backup