If-Koubou

Cum de a restabili VM-urile Citrix-Xen gratuit cu Xen-Phoenix (Bash)

Cum de a restabili VM-urile Citrix-Xen gratuit cu Xen-Phoenix (Bash) (Cum să)

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.

Prezentare generală

"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:

  • Șterge toate * VP existente anterior pe server
  • Importați VM-uri din fișierele din locația de rezervă.
  • Verificați că 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 (vezi 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" 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.

Configurați fișierul 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:

  • Localizarea exporturilor de surse - Dacă ați urmat ghidul în acest moment, 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 - 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 - Acesta 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 în acest scop. Dacă aveți nevoie de un VM care rulează pe acest server pentru a nu fi șters, configurați-l pentru a fi exclus. Dacă acest comportament nu este potrivit pentru situația dvs., dezactivați-l complet.
  • Detalii e-mail -Din nou, dacă ați activat e-mailul, trebuie să definiți detalii precum: To, From, Servername / IP & etc '.
  • Debugging - implicit este ca debugging-ul să fie oprit 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 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.

Programare

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 /".

Obțineți SendEmail (opțional)

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:

  • Informați-vă 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 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.

Depanare

Î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 ...