13Jul

Kako vratiti Citrix-Xen VMs za besplatno s Xen-Phoenix( Bash)

Jeste li ikada imali potrebu za skupnim vratiti Citrix-Xen VMs na rješenje za oporavak od katastrofe( DR) ili samo za testiranje sigurnosnih kopija vaših sigurnosnih kopija? HTG objašnjava kako koristiti Xen-Phoenix, besplatnu bash skriptu, za vraćanje VM-a.

Photo Credit: Ryan McCurdy preko Compfight cc

Kao što smo spomenuli u "Kako Backup Citrix Xen VMs za besplatno s Xen-pocalypse", jedna od zgodnih stvari u Citrix Xen je da su mnoge od njegovih značajki slobodan odnaplatiti. Uz to, ako želite značajku "Automatizirano VM zaštitu i oporavak", trebali biste početi plaćati za licencu "Advance".Opet, nije da mi u HTG-u odbacujemo vrijednost stvarnog rješenja za sigurnosno kopiranje, ali ako ste na uskom proračunu, već ste preuzeli VM slike iz hipervisora ​​i trebate način automatizacije vašeg "test restitucija "/" DR refresh ", možda ćete naći Xen-Phoenix savršeno razumno rješenje prije nego što izvršite proračunsku obvezu.

Pregled

"slučaj upotrebe": imate nekoliko VM-ova koji zahtijevaju vraćanje. Uvoz u "Xen Center" koristeći desne klikove radi u redu, ali želite da se taj proces automatski i dogodi. Ovaj skript Bash koristi naredbu "XE" za obavljanje svojih dužnosti. XE je Xen sučelje komandne linije( CLI), automatski ekvivalent za izdavanje "desnih klikova" u "Xen centar".Pozvat ćemo skriptu tvrtke Cron koja će dostaviti dio "raspoređivanja".U svom najjednostavnijem obliku, protokol povratka je:

  • Brisanje svih prethodno postojećih VM-ova na poslužitelju
  • Uvoz VM-ova iz datoteka na sigurnosnoj lokaciji.
  • Provjerite jesu li svi VM-ovi aktivni tako da ih aktivirate jedan po jedan i tražite alate srčanog ritma za goste.
  • Uključite VMs kada je otkrio otkucaje srca ili je došlo do prekida vremena.

* Brisanje svih ponašanja VM-ova može se potpuno isključiti i podržava iznimke( vidi dolje).

Omogućuje pucanje:)

Dobiti skriptu

Xen-phoenix se može slobodno dobiti od github, koristeći redovite git metode. S tim rečeno, ako još niste upoznati s gitom, možete preuzeti zip datoteku s ovom vezom. Kako se skripta treba izvoditi na jednom od vaših Xen poslužitelja, trebali biste ga izdvojiti tako da su ovlasti izvršenja sačuvane.

wget https: //github.com/aviadra/ Xen-phoenix /archive/ master.zip
unzip master

Dok gore navedeno funkcionira, savjetujemo vam da koristite metodu GIT kako biste mogli imati koristi od budućih ažuriranja.

Mjesto izvoza

Moramo konfigurirati gdje izvesti VM izvoz.

Dok sam slučajno poking u Citrix Xen, otkrio sam da je skladišni reposteri( SR) dostupni za uporabu pod "/var/run/ sr-mount /% UUID%" gdje je UUID jedinstveni identifikator SR, koji se može dobiti odGUI.

To znači da možemo koristiti redovite "Next - & gt;Sljedeća - & gt;Završi "čarobnjak za stvaranje" montaže "na željenu lokaciju sigurnosnog kopiranja, a zatim skriptu upotrijebite tu stazu( kao što je slučajno zabrljati s montažom iz naredbene linije koja je izvan opsega ovog vodiča).

Da biste stvorili novu "montažu", desnom tipkom miša kliknite naziv poslužitelja i odaberite Novi SR.

U ovom primjeru upućujemo Xen na dijeljenje sustava Windows pa odaberite "Dijagram dijeljenja datoteka sustava Windows( CIFS)":

Dovršite sljedeće - & gt;Sljedeća - & gt;Završi.

Dobiti SR UUID

Da biste dobili SR UUID, jednostavno kliknite njegovo ime u Xen Center i idite na karticu "General".

Da biste kopirali UUID, jednostavno kliknite desnom tipkom miša i odaberite "copy".

Uz ove informacije, spremni ste za uređivanje datoteke postavki.

Konfiguriraj datoteku postavki

Projekt Xen-phoenix dolazi u paketu s predloškom datoteke "postavke".Ovaj bi predložak trebao biti uređen kako bi odražavao vašu postavku i prošao kao prvi argument za skriptu.

Funkcija postavki označava sljedeće:

  • Lokacija izvornog izvoza - Ako ste slijedili vodič do ove točke, samo% UUID% morate zamijeniti s SR kao što je dobiven odozgo.
  • Lokacija SendEmaila - Ako ste se odlučili za omogućavanje e-pošte, morate unijeti gdje ste ovdje izdvojili perl izvršnu datoteku.
  • Verifier - Ovo kontrolira postupak provjere nakon obnove. To je omogućeno prema zadanim postavkama, jer uspješno "vraćanje na razini datoteke" ne znači nužno funkcionalno VM.
  • Server_prep - Ovo kontrolira brisanje prije pretvorbe svih VM-ova na DR poslužitelju. To je omogućeno prema zadanim postavkama jer pretpostavlja se da je DR poslužitelj posvećena poslužitelj za tu svrhu. Ako vam je potreban VM koji se izvodi na ovom poslužitelju da se ne briše, konfigurirajte ga da bude isključen. Ako ovo ponašanje nije prikladno za vašu situaciju, jednostavno ga onemogućite.
  • Pojedinosti e-pošte - Opet, ako ste omogućili e-poštu, morate definirati pojedinosti kao što su: Za, Od, Servername / IP &itd.”
  • Ispravljanje pogrešaka - Zadano je da se uklanjanje pogrešaka isključi s vrijednošću "0"( nula).Ne biste trebali to uključiti, ali ako to učinite, više informacija nalazi se u segmentu rješavanja problema.

Izvršenje

Ova skripta preuzima datoteku postavki kao svoj prvi argument i sve ostale argumente kao "Chevrons" za pretraživanje( razdvojene razmakom).Chevrons, su "stringovi", koji podržavaju regularne izraze koji predstavljaju barem dio željenog imena datoteke VM izvoza.

To je, u svom najjednostavnijem obliku, zazivanje Xen-Phoenixa izgledalo bi kao:

. /Xen-phoenix.sh settings.cfg DevTools

Gdje se u gornjem slučaju nalazimo u direktoriju koji sadrži skriptu &datoteka za postavke i "Chevron" skripta koja će tražiti jest "DevTools".To će uzrokovati uvoz svih datoteka u direktoriju izvoza s nizom "DevTools" u njihovom imenu.

Složeniji primjer može izgledati kao:

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

Gdje je u gornjem primjeru datoteke koje sadržeriječ "devtools" napisana s glavnim "D" i "T" ili ne kapitalnim, kao i "AD" &Bit će uvezena "BI" s ili bez kapitalizacije.

Zakazivanje

Kao što je gore navedeno, koristit ćemo Cron za zakazivanje izvršenja. Prije nego što uđemo u konfiguraciju, visoko preporučuje da konfigurirate već instalirani SSMTP paket na Xen poslužitelju. Iako je to neobavezan korak, to će vam dati kolektora "prašine".Imajući takav "sakupljač prljave prašine" može vas upozoriti na stvari koje skripta ne može.

Uđite u cronov način editiranja izdavanjem:

crontab -e

Ako ste slijedili gore navedene upute i želite dodati zakazanu rezervnu za nedjelju u 01:31( 1:31), unesite dolje:

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

Gornji je točan pretpostavljajućiskripta i datoteke s postavkama su pod "/root/ Xen-phoenix-master /".

Obavite SendEmail( opcionalno)

U prošlosti smo pisali o programu SendEmail perl, tako da ovdje nema potrebe ponoviti. Dovoljno je reći, to radi isto na Linuxu kao i na sustavu Windows.

Dok je omogućavanje e-pošte opcionalno, vrlo je preporučljivo jer će skripta moći:

  • obavijestiti vas kada je pokrenut &završio je trčanje.
  • Vas upozorava na sve pogreške koje je uspjelo otkriti i rukovati.

Preuzmite ga na Xen poslužitelj i izvadite.

wget http: //caspian.dotconf.net/menu/Software/SendEmail/ sendEmail-v1.56.tar.gz
tar xvzhf PošaljiEmail-v1.56.tar.gz

Napominjemo mjesto na kojem ste ga izdvojili. Trebat će vam je za datoteku postavki.

Određivanje oznake "Izbriši izuzeće"

Xen-Phoenix preuzima stranicu iz svog pretka( Xen-Pocalypse) i daje vam mogućnost granularnog isključivanja VM-a iz brisanja na cijelom sustavu pomoću kontrolnog TAG-a. Da biste to učinili, morate definirati novi "Prilagođeno polje".

Da biste to učinili, otvorite svojstva poslužitelja ili čak VM-a. U navigacijskom oknu odaberite "Prilagođena polja".

Ako prvi put definirate "prilagođeno polje"( kao u gore navedenom primjeru), nećete imati polje "Phoenix_keeper" za unos podataka, pa je morate stvoriti. Da biste to učinili, kliknite "Uredi prilagođena polja" u dijaloškom okviru koji se pojavljuje, a zatim kliknite na "Dodaj. .."

Napravite polje "Tekst" s nazivom "Phoenix_keeper".

Napomena: Naziv prilagođenog polja je "hard coded" u skriptu, tako da ne smijete odstupati od gore navedenog pravopisa, osim ako promijenite i relevantni kôd.

Kada je polje stvoreno, trebali biste vidjeti:

Zatvorite prozor. Sada biste trebali ispuniti polje "Phoenix_keeper", kao na donjoj slici.

Sada, sve što trebate učiniti je popuniti ovo polje s primjedbom( bilo koja opaska će učiniti), što će uzrokovati Xen-Phoenix da ga preskoči kada brisanje.

Rješavanje problema

Dok sam uložio puno napora u izradu skripte kao jednostavan za korištenje i kao što je moguće besprijekorno, "svijet je veći laboratorij".Dolje navedene informacije mogu vam pomoći da utvrdite koji je izvor vaših problema.

Prijava

Sve "zapisivanje" prikuplja Xen host koji pokreće skriptu u syslog mehanizmu. To se, naravno, može vidjeti sa:

manje + F /var/log/ poruke

Tražite ključnu riječ "Xen-Phoenix".

Napomena: Citrix je postavio dva( 2) dana pravila zadržavanja za syslog svojih poslužitelja. Vi svibanj želite zadržati to na umu za postmortems.

Debugging

Kao što je navedeno u segmentu datoteka postavki, postoji smjernica za omogućavanje uklanjanja pogrešaka. Omogućavanje uklanjanja pogrešaka uzrokovat će da skripta isporučuje verzijsko prijavljivanje na konzolu i kastrirati od slanja e-pošte i izvršavanja uvoza, osim ako nisu postavljene i relevantne zastave. Moguće zastavice navedene su u predlošku datoteke postavki i omogućuju vam granularno definiranje onoga što želite ispraviti.

Nadam se da niste trebali nikakvo otklanjanje pogrešaka i žetiš plodove svog rada:)

Samo pomislite na sve siromaštvo, mržnju i laži, i zamislite uništenje svega što prezireš.Polagano iz pepela, pojavit će se feniks. ..