13Jul

Kako obnoviti Citrix-Xen VM brezplačno s Xen-Phoenix( Bash)

Ali ste že kdaj potrebovali množično obnovitev vaših Citrix-Xen VM-jev za rešitev za obnovitev po nesreči( DR) ali samo za preizkušanje delovanja vaših varnostnih kopij? HTG razlaga, kako uporabljati Xen-Phoenix, brezplačen bash skript, za obnovitev VM.

Photo Credit: Ryan McCurdy preko Compfight cc

Kot smo omenili v "Kako varnostno kopirati Citrix Xen VMs brezplačno s Xen-pocalypse", je ena izmed lepih stvari v Citrix Xen, da mnoge od njegovih funkcij so brez obtožiti. S tem, če želite, da je funkcija "Automated VM zaščita in obnovitev", morate začeti plačevati licenco "Advance".Še enkrat, ne v tem, da mi v HTG-u zavračamo vrednost resnične rešitve za varnostno kopiranje, vendar če ste v tesnem proračunu, ste že dobili slike VM iz hipervizorja in potrebujete način za avtomatizacijo vašega "postopki za obnovitev testov / postopki DR osveževanja, boste morda našli Xen-Phoenix kot popolnoma razumno rešitev, preden boste izvršili proračunsko obveznost.

Pregled

"primer uporabe": imate nekaj VM-jev, ki zahtevajo obnovitev. Uvažanje v »Xen Center« z uporabo pravih klikov deluje v redu, vendar želite, da se ta proces zgodi samodejno in po urniku. Ta skript Bash uporablja ukaz "XE" za opravljanje svojih nalog. XE je vmesnik ukazne vrstice Xen( CLI), avtomatski ekvivalent za izdajo "desnih klikov" v "Xen Centru".Poklicali bomo scenarij iz Cron-a, ki bo zagotovil del "načrtovanja".V najpreprostejši obliki je tok obnovitve:

  • Izbrišite vse * predhodno obstoječe VM na strežniku
  • Uvozi VM iz datotek na rezervni lokaciji.
  • Preverite, ali so vsi VM-ji operativni, tako da jih aktivirate eno za drugim in iščete orodja za goste.
  • Izklopite VMs, ko ste odkrili srčni utrip ali pa je doseženo časovno omejitev.

* Obnašanje vseh VM-jev se lahko popolnoma onemogoči in podpira izjeme( glejte spodaj).

Omogoča prenehanje:)

Pridobi skript

Xen-phoenix je mogoče prosto pridobiti iz github-a, z uporabo rednih metod git. S tem, če še niste seznanjeni z git, lahko zgrabite zip datoteko s to povezavo. Ker se scenarij potrebuje za zagon na enem od vaših strežnikov Xen, ga morate tam ekstrahirati, tako da se ohranijo dovoljenja za izvajanje.

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

Medtem ko zgoraj deluje, vam svetujemo, da uporabite metodo GIT, tako da boste lahko imeli koristi od prihodnjih posodobitev.

Lokacija izvoza

Nastaviti moramo, kam naj izvozimo VM izvoz.

Medtem ko se naključno pokrijem v Citrix Xen, sem ugotovil, da so shranjevalne repozitorije( SRs) na voljo za uporabo pod "/var/run/ sr-mount /% UUID%", kjer je UUID edinstven identifikator SR, ki ga lahko dobite odGUI.

To pomeni, da lahko uporabimo običajno "Next - & gt;Naprej - & gt;Dokončaj "čarovnika, da ustvarite" namestitev "na želeno mesto za varnostno kopiranje, nato pa skripte uporabite to pot( kot da bi se zmotili z namestitvijo iz ukazne vrstice, ki je izven področja tega priročnika).

Če želite ustvariti nov "mount", desno kliknite ime strežnika in izberite New SR.

V tem primeru bomo Xen usmerili na skupno rabo v sistemu Windows, zato izberite »Windows File Sharing( CIFS)«:

Dokončajte Next - & gt;Naprej - & gt;Dokončaj.

Pridobite SR UUID

Če želite pridobiti UUID SR, preprosto kliknite njegovo ime v Xen centru in pojdite na zavihek »Splošno«.

Če želite kopirati UUID, preprosto kliknite z desnim gumbom in izberite "copy".

S temi informacijami ste pripravljeni urediti datoteko z nastavitvami.

Konfiguriraj nastavitveno datoteko

Projekt Xen-phoenix je priložen predlogi datoteke "nastavitve".To predlogo je treba urejati tako, da odraža vašo nastavitev in se prenese kot prvi argument skripta.

Datoteka z nastavitvami označuje naslednje:

  • Lokacija izvoza vira - če ste sledili vodniku do te točke, morate nadomestiti samo% UUID% s SR, kot je bilo pridobljeno od zgoraj.
  • Lokacija SendEmail - Če ste se odločili za omogočanje e-pošte, morate vnesti tu, kjer ste tukaj izvlekli izvedljivo perl.
  • Preveritelj - nadzoruje postopek preverjanja obnove. To je privzeto omogočeno, saj uspešno "obnovitev ravni datoteke" ni nujno funkcionalen VM.
  • Server_prep - s tem nadzoruje predobdelavo izbrisa vseh VM-jev na strežniku DR.To je privzeto omogočeno, ker se domneva, da je strežnik DR namenski strežnik za ta namen.Če potrebujete VM, ki je nameščen na tem strežniku, da ga ne izbrišete, ga konfigurirajte tako, da bo izključen.Če to vedenje ni primerno za vaš položaj, ga preprosto onemogočite.
  • E-poštni podatki - Ponovno, če ste omogočili e-pošto, morate določiti podrobnosti, na primer: To, From, Servername / IP &itd. ".
  • Razhroščevanje - privzeto je, da je odpravljanje napak izklopljeno z vrednostjo "0"( nič).Ni vam treba vklopiti tega, vendar če to storite, se v odseku za odpravljanje težav prikaže več informacij.

izvedba

Ta skript vzame datoteko z nastavitvami kot svoj prvi argument in vse druge argumente kot "Cheveroni", ki jih iščejo( ločene s presledki).Cheveroni so "nizi", ki podpirajo regularne izraze, ki predstavljajo vsaj del želenega imena datoteke izvoza VM.

To je v najpreprostejši obliki: zvok Xen-phoenix bi bil videti:

. /Xen-phoenix.sh settings.cfg DevTools

V zgornjem primeru smo v imeniku, ki ima skript &datoteka nastavitev in "Chevron", ki ga skripta išče, je "DevTools".To bo povzročilo vse datoteke v izvoznem imeniku z nizom "DevTools" v njihovem imenu, ki se bo uvažalo.

Zapleten primer lahko izgleda:

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

Kjer v zgornjem primeru datoteke, ki vsebujejobeseda "devtools", napisana s kapitalom "D" in "T" ali ne kapitalskimi, pa tudi "AD" &"BI" z ali brez kapitalizacije, bodo uvoženi.

Razporeditev

Kot smo že omenili, bomo za izvedbo načrtovanja uporabili Cron. Preden začnemo konfiguracijo, je zelo priporočljivo, da konfigurirate že nameščen paket SSMTP na strežniku Xen. Medtem ko je to neobvezen korak, vam bo to naredilo zbiralec povratnih voda. Ob takem "zbiralcu povratka" vas lahko opozorijo na stvari, ki jih scenarij ne more.

Vnesite v način urejanja cron z izdajo:

crontab -e

Če ste upoštevali zgornja navodila in želite dodati načrtovano varnostno kopijo za nedeljo ob 01:31( 1:31), vnesite spodaj:

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

Zgoraj je pravilen prevzemvaša skripta in nastavitvena datoteka sta pod "/root/ Xen-phoenix-master /".

Pridobite SendEmail( neobvezno)

V preteklosti smo pisali o programu SendEmail perl, zato tukaj ni treba ponavljati. Dovolj je povedati, deluje na enak način na Linuxu, kot to počne v sistemu Windows.

Medtem ko je omogočanje e-pošte neobvezno, je zelo priporočljivo, ker bo nato skript lahko:

  • Obvesti, ko se je začel &končal teči.
  • Opozori vas na morebitne napake, ki jih je mogoče zaznati in ravnati.

Prenesite ga na strežnik Xen in ga izvlečite.

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

Opomba o lokaciji, kjer ste jo izpisali. Potrebovali jo boste za datoteko nastavitev.

Definira oznako »Izbriši izjemo«( neobvezno)

Xen-Phoenix vzame stran od svojega prednika( Xen-Pocalypse) in vam omogoča, da z brisanjem celotne sistemske funkcije izključite VM z uporabo kontrolne TAG.Če želite to narediti, morate določiti novo "polje po meri".

Če želite to narediti, odprite lastnosti strežnika ali celo VM.V podoknu za krmarjenje izberite »Po meri polja«.

Če ste prvič določili "polje po meri"( kot v zgornjem primeru), za vnos podatkov ne boste imeli polja "Phoenix_keeper", zato jo morate ustvariti.Če želite to narediti, v pogovornem oknu, ki se pojavlja, kliknite na "Uredi po meri polja", nato kliknite "Dodaj. .."

Ustvarite polje "Text" z imenom "Phoenix_keeper".

Opomba: Ime polja po meri je bilo v skriptu "težko kodirano", tako da ne smete odstopati od črkovanja zgoraj, razen če spremenite ustrezno kodo.

Ko je polje ustvarjeno, morate videti:

Zaprite okno. Zdaj bi morali zapolniti polje "Phoenix_keeper", kot je prikazano na spodnji sliki.

Vse kar morate storiti je, da to polje napolnite z opombo( vsaka opomba bo storjena), kar bo Xen-phoenix povzročil, da ga preskočite ob brisanju.

Odpravljanje težav

Medtem, ko sem se veliko trudil, da bi scenarij postal preprost za uporabo in čim bolj varen, je "svet večji laboratorij".Spodnje informacije vam lahko pomagajo ugotoviti, kaj je vir vaših težav.

Vpisovanje

Vsa "beleženja" zbira gostitelj Xen, ki izvaja skript v mehanizmu syslog. To je seveda mogoče gledati z:

manj + F /var/log/ sporočil

Iščete ključno besedo "Xen-Phoenix".

Opomba: Citrix je določil dva( 2) dnevna pravila hrambe za syslog svojih strežnikov. Morda boste želeli obdržati to v mislih za postmorteme.

Razhroščevanje

Kot je navedeno v segmentu nastavitvenih datotek, obstaja direktiva za omogočanje razhroščevanja. Omogočanje razhroščevanja bo povzročilo, da se scenarij v strežniško konzolo izloči z besednim zapisom in ga kastrira pri pošiljanju e-poštnih sporočil in dejansko opravljanju uvoza, razen če so nastavljene tudi ustrezne zastave. Možne zastavice so zapisane v predlogi datoteke nastavitev in vam omogočajo, da natančno določite, kaj želite odpraviti.

Upam, da vam ni treba razhroščevati in uživate plod mojega dela:)

Samo pomislite na vse revščine, sovraštvo in laži in si predstavljate uničenje vsega, kar prezirate. Počasi iz pepela se bo pojavil phoenix. ..