Kako obnoviti Citrix-Xen VMs besplatno s Xen-Phoenix (Bash)
Jeste li ikada imali potrebu za masovnim obnavljanjem Citrix-Xen VM-ova za rješenje za oporavak od katastrofe (DR) ili samo za testiranje sigurnosnih kopija? HTG objašnjava kako koristiti Xen-Phoenix, besplatnu bash skriptu, za vraćanje VM-a.
Foto: Ryan McCurdy preko Compfight cc
Kao što smo spomenuli u “Kako Backup Citrix Xen VMs besplatno s Xen-pocalypse”, jedna od lijepih stvari u Citrix Xen je da su mnoge od njegovih značajki besplatno naknade. Uz to rekao, ako želite "Automated VM zaštita i oporavak" značajka, te će morati početi plaćati za "Advance" licencu. Opet, ne radi se o tome da mi u HTG-u odbacujemo vrijednost pravog rješenja za sigurnosno kopiranje, ali ako imate ograničen proračun, već ste izvukli VM slike iz hipervizora i potreban vam je način automatizacije testirati vraćanje ”/” DR refresh ”, možda ćete otkriti da je Xen-Phoenix savršeno razumno rješenje prije nego što preuzmete proračunsku obvezu.
Pregled
“Koristite slučaj”: Imate nekoliko VM-ova koji zahtijevaju vraćanje. Uvoz u "Xen Center" pomoću ispravnih klikova funkcionira dobro, ali želite da se taj proces odvija automatski i po rasporedu. Ova Bash skripta koristi "XE" naredbu za izvršavanje svojih dužnosti. XE je Xen sučelje komandne linije (CLI), automatski ekvivalent za izdavanje "pravih klikova" u "Xen Center". Pozvat ćemo skriptu od Cron-a koja će dostaviti dio "raspoređivanja". U svom najjednostavnijem obliku, povratni tok je:
- Izbrisati sve * prethodno postojeće VM-ove na poslužitelju
- Uvoz VM-ova iz datoteka na rezervnoj lokaciji.
- Provjerite jesu li svi virtualni virtualni uređaji aktivni tako da ih aktivirate jedan po jedan i potražite otkucaje alata za goste.
- Isključite VM kada je otkriven otkucaj srca ili kada se dosegne timeout.
* Ponašanje brisanja svih virtualnih virtualnih jedinica može se u potpunosti onemogućiti i podržava iznimke (vidi dolje).
Omogućujemo pucanje :)
Nabavite skriptu
Xen-phoenix se može slobodno dobiti iz github-a, koristeći regularne git metode. Uz to rekao, ako niste upućen u git još, možete zgrabiti zip datoteku s ovim linkom. Kako skripta mora biti pokrenuta na jednom od vaših Xen poslužitelja, trebali biste je izdvojiti tamo da bi se očuvale dozvole za izvođenje.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip
raspakirajte majstora
Iako će gore navedeno funkcionirati, savjetujemo vam da koristite GIT metodu kako biste mogli imati koristi od budućih ažuriranja.
Lokacija izvoza
Moramo konfigurirati odakle treba izvesti VM izvoz.
Dok se slučajno pojavljuje u Citrix Xen-u, otkrio sam da su spremišta za pohranu (SRs) dostupna za upotrebu pod "/ var / run / sr-mount /% UUID%" gdje je UUID jedinstveni identifikator SR-a, koji može biti iz GUI.
To znači da možemo koristiti uobičajene čarobnjake "Dalje -> Sljedeće -> Završiti" kako bismo stvorili "montiranje" na željenu lokaciju sigurnosne kopije, a zatim skriptu upotrijebili tu stazu (kao što je dodijeljeno zamršavanju s montažom iz naredbenog retka koja je izvan opsega ovog vodiča).
Da biste stvorili novi “mount”, desnom tipkom miša kliknite naziv poslužitelja i odaberite New SR.
U ovom primjeru usmjerit ćemo Xena na Windowsov udio, stoga odaberite "Windows File Sharing (CIFS)":
Dovršite Sljedeće -> Dalje -> Završi.
Nabavite SR-ov UUID
Da biste dobili SR UUID, jednostavno kliknite na njegovo ime u Xen Centru i idite na karticu "General".
Da biste kopirali UUID, jednostavno ga kliknite desnom tipkom i odaberite "Kopiraj".
S ovim informacijama pri ruci spremni ste urediti datoteku s postavkama.
Konfigurirajte datoteku Postavke
Projekt Xen-phoenix dolazi u paketu s predloškom za "postavke". Ovaj bi predložak trebao biti uređen kako bi odražavao vaše postavljanje i proslijeđen kao prvi argument skripti.
Datoteka s postavkama označava sljedeće:
- Lokacija izvoza izvora - Ako ste slijedili vodič do ove točke, morate zamijeniti% UUID% sa SR-ovima kako je dobiveno od gore navedenog.
- Lokacija usluge SendEmail - ako ste se odlučili za omogućavanje e-pošte, morate unijeti gdje ste ovdje izdvojili izvršnu datoteku za perl.
- Verifier - Ovime se kontrolira postupak verifikacije nakon obnavljanja. To je omogućeno prema zadanim postavkama, budući da uspješno "vraćanje razine datoteke" ne znači nužno funkcionalan virtualni virtualni uređaj.
- Server_prep - Ovim se kontrolira prethodno vraćanje brisanje svih VM na DR poslužitelju. To je omogućeno po defaultu jer se pretpostavlja da je DR poslužitelj namjenski poslužitelj za tu svrhu. Ako trebate VM koji se izvodi na ovom poslužitelju da ne bude izbrisan, konfigurirajte ga da bude isključen. Ako ovo ponašanje nije prikladno za vašu situaciju, jednostavno ga potpuno onemogućite.
- Pojedinosti e-pošte - Opet, ako ste omogućili e-poštu, morate definirati pojedinosti kao što su: Za, Od, Naziv poslužitelja / IP & itd..
- otklanjanje grešaka - Zadano je isključivanje uklanjanja pogrešaka s vrijednošću "0" (nula). Ne trebate ga uključivati, ali ako to učinite, više informacija je zabilježeno u segmentu rješavanja problema..
Izvršenje
Ova skripta uzima datoteku postavki kao svoj prvi argument i sve druge argumente kao što su "Šerovi" za pretraživanje (odvojeni razmacima). Ševroni su "nizovi" koji podržavaju regularne izraze koji predstavljaju barem dio željenog naziva datoteke izvoza VM-a.
To jest, u svom najjednostavnijem obliku, prizivanje Xen-phoenixa bi izgledalo ovako:
./Xen-phoenix.sh settings.cfg DevTools
Gdje se u gore navedenom slučaju nalazimo u direktoriju u kojem se nalazi skripta i datoteka s postavkama i "Chevron" koji će skripta tražiti je "DevTools". To će uzrokovati uvoz svih datoteka u direktoriju export s nizom "DevTools" u svom imenu.
Složeniji primjer može izgledati ovako:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools
Gdje se u gornjem primjeru uvoze datoteke koje sadrže riječ "devtools" napisane velikim "D" i "T" ili ne-kapitalnim, kao i "AD" i "BI" sa ili bez velikih slova,.
Zakazivanje
Kao što je gore navedeno, koristit ćemo Cron za planiranje izvršenja. Prije nego uđemo u konfiguraciju, to jest Preporučuje se da konfigurirate već instalirani SSMTP paket na vašem Xen poslužitelju. Iako je ovo neobavezan korak, na taj ćete način dobiti kolektor "povratnog ispiranja". Imati takav "sakupljač povratnog ispiranja" može vas upozoriti na stvari koje skripta ne može.
Uđite u Cron-ov način uređivanja izdavanjem:
crontab-e
Ako ste slijedili gore navedene upute i želite dodati planirano sigurnosno kopiranje za nedjelju u 01:31 (1:31 AM), unesite niže:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ] ools
Gore navedeno je ispravno uz pretpostavku da su vaša skripta i datoteka s postavkama pod "/ root / Xen-phoenix-master /".
Nabavite SendEmail (izborno)
U prošlosti smo pisali o SendEmail perl programu, tako da ovdje nema potrebe ponavljati. Dovoljno je reći da radi na isti način na Linuxu kao i na Windowsima.
Iako je omogućavanje e-pošte opcionalno, preporučuje se jer će skripta moći:
- Obavijestiti vas kada je pokrenut i završio.
- Obavijesti vas o bilo kakvim pogreškama koje je mogao otkriti i obraditi.
Preuzmite ga na Xen poslužitelj i izvadite.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Zabilježite lokaciju na koju ste je izdvojili. Trebat će vam za datoteku s postavkama.
Definiranje oznake "Izbriši iznimku" (izborno)
Xen-Phoenix uzima stranicu od svog pretka (Xen-Pocalypse) i daje vam mogućnost da granulirano isključite VM iz brisanja na razini sustava pomoću kontrolne TAG. Da biste to učinili, morate definirati novo "Prilagođeno polje".
Da biste to učinili, otvorite svojstva poslužitelja ili čak VM. U navigacijskom oknu odaberite "Prilagođena polja".
Ako prvi put definirate "prilagođeno polje" (kao u gornjem primjeru), nećete imati polje "Phoenix_keeper" za unos podataka, tako da ga morate stvoriti. Da biste to učinili, kliknite na "Uredi prilagođena polja" u dijaloškom okviru koji se pojavi, a zatim kliknite "Dodaj ..."
Stvorite polje "Tekst" s nazivom "Phoenix_keeper".
Bilješka: Naziv prilagođenog polja je u skripti "teško kodiran", stoga MORATE ne odstupati od gore navedenog pravopisa, osim ako ne promijenite i relevantni kôd.
Nakon stvaranja polja trebali biste vidjeti:
Zatvori prozor. Sada biste trebali popuniti polje "Phoenix_keeper", kao na slici ispod.
Sada samo trebate popuniti ovo polje s primjedbom (bilo koja primjedba će učiniti), što će uzrokovati da je Xen-phoenix preskoči prilikom brisanja.
Rješavanje problema
Dok sam uložio mnogo truda u izradu scenarija kao jednostavnog za korištenje i što je moguće sigurnije, "svijet je veći laboratorij". Dolje navedene informacije mogu vam pomoći u utvrđivanju izvora vaših problema.
sječa drveta
Sve "logiranje" prikuplja Xen domaćin koji izvodi skriptu u syslog mehanizmu. To se, naravno, može vidjeti na sljedeći način:
manje + F / var / log / messages
Tražite ključnu riječ "Xen-Phoenix".
Napomena: Citrix je postavio dva (2) dnevna pravila zadržavanja za syslog svojih poslužitelja. Možda ćete to htjeti imati na umu za postmorteme.
otklanjanje grešaka
Kao što je navedeno u segmentu datoteka s postavkama, postoji smjernica za omogućavanje otklanjanja pogrešaka. Omogućavanje otklanjanja pogrešaka uzrokovat će da skripta ispiše opširno prijavljivanje na konzolu i kastrira je od slanja e-pošte i stvarnog uvoza, osim ako su postavljene i relevantne zastavice. Moguće zastavice zabilježene su u predlošku datoteke s postavkama i omogućuju vam da definirate što želite debugirati.
Nadam se da vam nije bilo potrebe za uklanjanjem pogrešaka i da ste plodovi mog rada :)
Sjetite se svega siromaštva, mržnje i laži, i zamislite uništenje svega što prezirete. Polako iz pepela, feniks će se pojaviti ...