Ați avut vreodată nevoie să vă restaurați în vrac Citrix-Xen VM-urile pentru o soluție de recuperare în caz de dezastru (DR) sau doar pentru a testa dacă backup-urile funcționează? HTG explică modul în care se folosește Xen-Phoenix, un script bash gratuit, pentru restaurarea VM.
Fotografie de credit: Ryan McCurdy prin Compfight cc
Asa cum am mentionat in "Cum se fac backup-uri pentru Citrix Xen VMs gratis cu Xen-pocalypse", unul dintre lucrurile frumoase din Citrix Xen este ca multe din caracteristicile saleliber de încărcare. Cu aceasta a spus, dacă doriți funcția "Protecție VM automată și recuperare", va trebui să începeți să plătiți pentru licența "Advance". Din nou, nu este faptul că noi, cei de la HTG, renunță la valoarea unei soluții corecte de rezervă, dar dacă sunteți într-un buget restrâns, ați obținut deja imaginile VM din hypervisor și aveți nevoie de o modalitate de a automatiza " test restore "/" DR refresh ", este posibil ca Xen-Phoenix să fie o soluție perfect rezonabilă înainte de a vă angaja bugetul.
"Cazul de utilizare": Aveți câteva VM care necesită o restaurare. Importarea în "Centrul Xen" utilizând clicurile drepte funcționează bine, dar doriți ca acest proces să se întâmple automat și într-un program. Acest script Bash utilizează comanda "XE" pentru a-și îndeplini atribuțiile. XE este interfața liniei de comandă Xen (CLI), echivalentă automată pentru emiterea "clicurilor drepte" din "Centrul Xen". Vom numi scenariul de la Cron, care va furniza partea "programare". În cea mai simplă formă, fluxul de restaurare este:
* Comportamentul ștergerii tuturor VM-urilor poate fi dezactivat complet și acceptă excepții (vezi mai jos).
Permiteți-vă să crăpați :)
Xen-phoenix poate fi obținut în mod liber de la github, folosind metodele obișnuite de git. Cu acest lucru a spus, dacă nu sunteți versat în git încă, puteți lua fișierul zip cu acest link. Deoarece scriptul trebuie să ruleze pe unul dintre serverele dvs. Xen, ar trebui să îl extrageți acolo pentru ca permisiunile de execuție să fie păstrate.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip
unzip master
În timp ce cele de mai sus ar funcționa, vă recomandăm să utilizați metoda GIT pentru a beneficia de actualizări viitoare.
Trebuie să configuram de unde să preluăm exporturile VM.
În timp ce încercam în mod aleatoriu în Citrix Xen, am constatat că depozitele de depozitare (SRs) sunt disponibile pentru utilizare sub "/ var / run / sr-mount /% UUID%" unde UUID este identificatorul unic al SR obținută din GUI.
Aceasta înseamnă că putem folosi expertul obișnuit "Next -> Next -> Finish" pentru a crea "mount" la locația de salvare dorită și apoi utilizați scriptul ca cale (așa cum este recomandat pentru a fi confundat cu montarea din linia de comandă care este dincolo de scopul acestui ghid).
Pentru a crea o nouă "mount", faceți clic dreapta pe numele serverului și selectați New SR.
În acest exemplu, vom arăta Xen la o partajare Windows, deci alegeți "Windows File Sharing (CIFS)":
Finalizați Următorul -> Următorul -> Finalizare.
Obțineți UUID-ul SR
Pentru a obține un UUID al SR, trebuie doar să dați clic pe numele său în Centrul Xen și să accesați fila "General".
Pentru a copia UUID-ul, faceți clic dreapta pe el și alegeți "copy".
Cu aceste informații la îndemână, sunteți gata să editați fișierul de setări.
Proiectul Xen-Phoenix este livrat împreună cu un șablon de fișier "setări". Acest șablon ar trebui să fie modificat pentru a reflecta setarea dvs. și a fost trecut ca primul argument pentru scenariu.
Fișierul de setări desemnează următoarele:
Acest script ia fișierul de setări ca primul său argument și orice alte argumente ca "Chevron" pentru a căuta (separate prin spații). Chevrons, sunt "șiruri de caractere", care suportă expresii regulate care reprezintă cel puțin o parte din numele de fișier dorit al exportului VM.
Aceasta este, în cea mai simplă formă, o invocare a lui Xen-Phoenix ar arăta astfel:
./Xen-phoenix.sh settings.cfg DevTools
În cazul în care, în cazul de mai sus, suntem în directorul care deține scriptul și fișierul de setări și "Chevron" script-ul va căuta este "DevTools". Acest lucru va face ca toate fișierele din directorul de exporturi cu șirul "DevTools" în numele lor să fie importate.
Un exemplu mai complex poate arata:
./ Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools
În cazul în care, în exemplul de mai sus, vor fi importate fișiere care conțin cuvântul "devtools" cu majuscule "D" și "T" sau altele decât cele de capital, precum și "AD" și "BI" cu sau fără capitalizare.
După cum sa menționat mai sus, vom folosi Cron pentru a programa execuția. Înainte de a intra în configurație, estefoarte recomandat că configurați pachetul SSMTP deja instalat pe serverul Xen. În timp ce aceasta este o etapă opțională, acest lucru vă va oferi un colector "backwash". Având un astfel de "colector de spate" vă poate alerta la lucrurile pe care scenariul nu le poate face.
Intrați în modul de editare al lui cron emisând:
crontab -e
Dacă ați respectat instrucțiunile de mai sus și doriți să adăugați o rezervă programată pentru duminică la 01:31 (1:31 AM), introduceți următorul text:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh/root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt ] ools
Cele de mai sus sunt corecte presupunând că fișierul dvs. de script și fișierul de setări sunt ambele sub "/ root / Xen-phoenix-master /".
Am scris în trecut despre programul Perl SendEmail, deci nu este nevoie să reiterez aici. Suficient să spunem că funcționează la fel ca și în Windows.
În timp ce activarea e-mailului este opțională, este foarte recomandat, deoarece scriptul va putea:
Descărcați-l pe serverul Xen și extrageți-l.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Rețineți locația în care ați extras-o. Veți avea nevoie de el pentru fișierul de setări.
Xen-Phoenix ia o pagină de la strămoșul său (Xen-Pocalypse) și vă oferă posibilitatea de a exclude granular un VM din ștergerea la nivel de sistem utilizând un TAG de control. Pentru a face acest lucru, trebuie să definiți un nou câmp "personalizat".
Pentru a face acest lucru, deschideți proprietățile serverului sau chiar ale unui VM. În panoul de navigare, selectați "Câmpuri personalizate".
Dacă aceasta este prima dată când definiți un "câmp personalizat" (ca în exemplul de mai sus), nu veți avea câmpul "Phoenix_keeper" pentru a introduce date, deci trebuie să îl creați. Pentru a face acest lucru, faceți clic pe "Editare câmpuri personalizate" în caseta de dialog care apare, apoi faceți clic pe "Add ..."
Creați un câmp de tip "Text" cu numele "Phoenix_keeper".
Notă: Numele câmpului personalizat a fost "greu codificat" în scenariu, deci nu trebuie să vă abateți de la ortografia de mai sus, cu excepția cazului în care schimbați și codul relevant.
După crearea câmpului, ar trebui să vedeți:
Inchide geamul. Acum ar trebui să completați câmpul "Phoenix_keeper", ca în imaginea de mai jos.
Acum, tot ce trebuie să faceți este să populați acest câmp cu o observație (orice observație va face), ceea ce va determina Xen-Phoenix să o ignore atunci când șterge.
În timp ce m-am străduit să fac scenariul la fel de ușor de folosit și cât de greu posibil, "lumea este un laborator mai mare". Informațiile de mai jos vă pot ajuta să aflați care este sursa problemelor dvs.
Logging
Toate "înregistrările" sunt colectate de către gazda Xen care execută scriptul în mecanismul syslog. Acest lucru, desigur, poate fi văzut cu:
mai puțin + F / var / jurnal / mesaje
Căutați cuvântul cheie "Xen-Phoenix".
Notă: Citrix a stabilit o politică de păstrare a două zile pentru syslog-ul serverelor sale. Poate doriți să păstrați asta în minte pentru postmortemuri.
Debugging
După cum se menționează în segmentul de fișiere de setări, există o directivă care permite depanarea. Activarea depanării va determina scriptul să genereze înregistrarea detaliată în consola și să o castreze de la trimiterea de e-mailuri și de a efectua efectiv importurile, cu excepția cazului în care sunt setate și steagurile relevante. Steagurile posibile sunt notate în șablonul de fișiere de setări și vă permit să definiți în detaliu ceea ce doriți să depanați.
Sper că nu aveți nevoie de depanare și că veți culege roadele muncii mele :)
Gândește-te la toată sărăcia, la ură și la minciună și imagina distrugerea a tot ceea ce tu disprețuiești. Încet din cenușă, Phoenix va apărea ...