13Jul

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

click fraud protection

Ați avut vreodată nevoie să 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.

Photo Credit: Ryan McCurdy prin Compfight cd

Asa cum am mentionat in "Cum se fac backup-ul pentru Citrix Xen VM gratuit cu Xen-pocalypse", unul dintre lucrurile frumoase din Citrix Xen este ca multe dintre caracteristicile sale sunt încărca. 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.

instagram viewer

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 forma sa cea mai simplă, fluxul de restaurare este:

  • Ștergeți toate * VM-urile existente anterior pe serverul
  • Importați VM-uri din fișierele din locația de rezervă.
  • Verificați că toate VM-urile sunt operabile activând-le unul câte unul și căutând bataile inimii instrumentelor clienților.
  • Opriți VM 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 să crapați:)

Obțineți scriptul

Xen-phoenix poate fi obținut în mod liber de la github, folosind metodele obișnuite de tip 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 viitoarele actualizări.

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 a fi utilizate sub "/var/run/ sr-mount /% UUID%" unde UUID este identificatorul unic al SR,GUI.

Aceasta înseamnă că putem folosi regulatorul "Următor - & gt;Următorul - & gt;Finalizați "pentru a crea" mount "în locația de salvare dorită și apoi utilizați scriptul căi de acces( așa cum este recomandat pentru a fi încurcat cu montare din linia de comandă, care depășește domeniul de aplicare al acestui ghid).

Pentru a crea o nouă "mount", faceți clic dreapta pe numele serverului și selectați New SR.

În acest exemplu, vom puncta Xen la o partajare Windows, deci alegeți "Partajarea fișierelor Windows( CIFS)":

Completați Next - & gt;Următorul - & gt;Finalizarea.

Obțineți UUID

al SR Pentru a obține un UUID al unui SR, faceți clic pe numele său în Centrul Xen și mergeți la 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 la acest punct, trebuie doar să înlocuiți% UUID% cu SR-urile așa cum a fost obținut de sus.
  • Locația SendEmail - Dacă ați optat pentru activarea e-mailului, trebuie să introduceți unde ați extras executabilul perl aici. Verificatorul
  • - 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ă ștergerea de a tuturor VM-urilor 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-mailurile, trebuie să definiți detalii cum ar fi: 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, mai multe informații sunt notate în segmentul de depanare. Executarea

Acest script ia fișierul de setări ca primul său argument și orice alte argumente ca "Chevrons" 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 Xen-Phoenix ar arăta astfel:

. /Xen-phoenix.sh settings.cfg DevTools

Unde în cazul de mai sus, suntem în interiorul directorului care deține scriptul &fișierul de setări și "Chevronul" pe care scriptul îl 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 să arate:

. /Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools

Unde în exemplul de mai sus,cuvântul "devtools" scrise cu litere de tip "D" și "T" sau ne-capital, precum și cu "AD" și ""BI" cu sau fără majuscule, va fi importat. Programarea

După cum sa menționat mai sus, vom folosi Cron pentru a programa execuția.Înainte de a intra în configurație, este foarte recomandat ca să 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 prin emiterea:

crontab -e

Dacă ați urmat instrucțiunile de mai sus și doriți să adăugați o copie de rezervă planificată pentru duminică la 01:31( 1:31 AM), introduceți următoarele:

31 01 * *soare /root/ Xen-phoenix-master / Xen-phoenix.sh /root/ Xen-phoenix-master / settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt] ools

scriptul și fișierul de setări sunt ambele sub "/root/ Xen-phoenix-master /".

Obțineți SendEmail( opțional)

Am scris deja despre programul Perl SendEmail, deci nu este nevoie să reiterați 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:

  • Vă informează când a început &terminat.
  • 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șii săi( 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 "greu codificat" în scenariu, deci nu trebuie să se abată de la ortografia de mai sus, cu excepția cazului în care schimbați și codul relevant.

Odată ce câmpul a fost creat, ar trebui să vedeți:

Închideți fereastra. 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 remarcă( orice observație va face), ceea ce va determina Xen-Phoenix să o ignore atunci când șterge.

Rezolvarea problemelor

Deși am depus mult efort pentru a face scriptul la fel de ușor de utilizat și 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 "logging-ul" sunt colectate de către gazda Xen executând script-ul în mecanismul syslog. Acest lucru, desigur, poate fi văzut cu:

mai puțin + F /var/log/ mesaje

Căutați cuvântul cheie "Xen-Phoenix".

Notă: Citrix a stabilit o politică de retenție de două( 2) de zile pentru syslog-ul serverelor sale. Poate doriți să păstrați asta în minte pentru postmortemuri. Depanarea

Așa cum sa menționat în segmentul de fișiere de setări, există o directivă care să permită 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 granular ce doriți să depanați.

Sper că nu ai nevoie de nici o depanare și vei culege roadele muncii mele:)

Gândește-te la toate 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. ..