Cum de a restabili VM-urile Citrix-Xen gratuit cu Xen-Phoenix (Bash)
Ați avut vreodată nevoie să vă restaurați 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 sa facem backup pentru Citrix Xen VMs cu Xen-pocalypse", unul dintre lucrurile frumoase din Citrix Xen este ca multe dintre caracteristicile sale sunt liber de încărcare. Cu aceasta a spus, dacă doriți caracteristica "Protecție VM automată și recuperare", ar trebui să începeți să plătiți pentru licența "Advance". Din nou, nu este faptul că noi, cei de la HTG, eliminăm valoarea unei soluții corecte de rezervă, dar dacă sunteți pe 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.
Prezentare generală
"Cazul de utilizare": Aveți câteva VM care necesită o restaurare. Importul î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ă, debitul de restaurare este:
- Șterge toate * VP existente anterior pe server
- Importați VM-uri din fișierele din locația de rezervă.
- Verificați dacă toate VM-urile pot fi activate prin activarea acestora unul câte unul și căutarea pentru bataile inimii instrumentelor clienților.
- Opriți VM-urile atunci când a fost descoperit un batai de inimă sau când a fost atins un timp de expirare.
* Comportamentul ștergerii tuturor VM-urilor poate fi dezactivat complet și acceptă excepții (vedeți mai jos).
Permiteți-vă să crăpați :)
Obțineți scriptul
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.
Locația exporturilor
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" în 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 "Partajarea de fișiere Windows (CIFS)":
Completați Următorul -> Următorul -> Finalizare.
Obțineți UUID-ul SR
Pentru a obține un UUID al SR, faceți clic pe numele său în Centrul Xen și 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 pregătit să editați fișierul de setări.
Configurați fișierul Setări
Proiectul Xen-Phoenix este livrat împreună cu un șablon de fișier "setări". Acest șablon ar trebui modificat pentru a reflecta setarea dvs. și a fost trecut ca primul argument pentru scenariu.
Fișierul de setări desemnează următoarele:
- Localizarea exporturilor de surse - Dacă ați urmat ghidul până la acest punct, trebuie doar să înlocuiți% UUID% cu SR-urile așa cum a fost obținut de mai sus.
- Locația SendEmail - Dacă ați optat pentru activarea e-mailului, trebuie să introduceți unde ați extras executabilul perl aici.
- Verificator - Aceasta controlează procedura de verificare post restaurare. Acest lucru este activat în mod implicit, deoarece o reușită "restaurare la nivel de fișier" nu înseamnă necesar un VM funcțional.
- Server_prep - Aceasta controlează pre-restabilirea ștergere din toate VM-urile de pe serverul DR. Acest lucru este activat implicit, deoarece se presupune că serverul DR este un server dedicat pentru acest scop. Dacă aveți nevoie de un VM care rulează pe acest server pentru a nu fi șters, configurați-l să fie exclus. Dacă acest comportament nu este potrivit pentru situația dvs., dezactivați-l complet.
- Detalii despre e-mail - Din nou, dacă ați activat e-mailul, trebuie să definiți detalii cum ar fi: To, From, Servername / IP & etc '.
- Debugging - În mod implicit, debugging-ul este dezactivat cu valoarea "0" (zero). Nu trebuie să activați acest lucru, dar dacă faceți acest lucru, se observă mai multe informații în segmentul de depanare.
Execuţie
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 de 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 script-ul ș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 setări.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" scrise cu litere "D" și "T" sau altele decât cele de capital, precum și "AD" și "BI".
Programare
Așa cum am menționat mai sus, vom folosi Cron pentru a programa execuția. Înainte de a intra în configurație, este foarte recomandat că configurați pachetul SSMTP deja instalat pe serverul dvs. 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 urmat instrucțiunile de mai sus și doriți să adăugați o copie de rezervă planificată pentru ziua de 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ă scriptul și fișierul de setări sunt ambele sub "/ root / Xen-phoenix-master /".
Obțineți SendEmail (opțional)
Am scris în trecut despre programul Perl SendEmail, deci nu este nevoie să reiterez aici. Este suficient să spunem că funcționează la fel ca pe Linux ca și în Windows.
În timp ce activarea e-mailului este opțională, este foarte recomandat deoarece scriptul va putea:
- Vă informează când a început și a terminat să fie difuzat.
- Vă avertizează despre eventualele erori pe care a fost capabil să le detecteze și să le manipuleze.
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.
Definirea etichetei "Ștergere excepție" (opțional)
Xen-Phoenix ia o pagină de la strămoșul său (Xen-Pocalypse) și vă oferă posibilitatea de a exclude în mod 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 tip "Text" cu numele "Phoenix_keeper".
Notă: Numele câmpului personalizat a fost "codat greu" în scenariu, deci nu trebuie să vă abțineți de la ortografia de mai sus, cu excepția cazului în care modificați codul relevant.
După crearea câmpului, ar trebui să vedeți:
Inchide geamul. Ar trebui să aveți acum câmpul "Phoenix_keeper" pentru a completa, 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.
Depanare
În timp ce m-am străduit să fac scenariul la fel de ușor de utilizat și de cât mai rezistent 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 să permită depanarea. Activarea depanării va determina scriptul să genereze logare detaliată în consola și să-l castreze de la trimiterea de e-mailuri și de a efectua efectiv importurile, cu excepția cazului în care sunt de asemenea setate steagurile relevante. Steagurile posibile sunt notate în șablonul de fișiere de setări și vă permit să definiți granular 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 ...