Kako obnoviti virtualne računalnike Citrix-Xen brezplačno z Xen-Phoenixom (Bash)
Ste že kdaj imeli potrebo po množičnem obnavljanju vaših Citrix-Xen VM-jev za reševanje po nesreči (DR) ali samo, da bi preverili, ali vaše varnostne kopije delujejo? HTG pojasnjuje, kako uporabiti Xen-Phoenix, prosti bash skript, za obnavljanje VM.
Foto: Ryan McCurdy preko Compfight cc
Kot smo že omenili v temi »Kako varnostno kopirati Citrix Xen VMs brezplačno z Xen-pocalypse«, je ena izmed lepih stvari v Citrix Xen-u, da je veliko njenih funkcij prost pristojbine. S tem je dejal, če želite "Automated VM zaščito in obnovitev" funkcijo, bi morali začeti plačevati za "Advance" licenco. Tudi to, da mi v HTG-ju ne zavračamo vrednosti prave rešitve za varnostno kopiranje, vendar, če ste na strogem proračunu, ste že prenesli posnetke VM iz hipervizorja in potrebujete način za avtomatizacijo vašega “ preizkusite obnovitev "/" osvežitev DR ", boste morda ugotovili, da je Xen-Phoenix povsem razumna rešitev,.
Pregled
»Primer uporabe«: Imate nekaj VM, ki zahtevajo obnovitev. Uvoz v »Xen Center« z uporabo desnih klikov je v redu, vendar pa želite, da se ta proces zgodi samodejno in po urniku. Ta Bash skript uporablja ukaz "XE" za opravljanje svojih nalog. XE je vmesnik ukazne vrstice Xen (CLI), samodejno enakovreden za izdajanje »pravih klikov« v »Xen centru«. Poklicali bomo skript iz Cron-a, ki bo zagotovil del razporeda. V najpreprostejši obliki je obnovitveni tok:
- Izbriši vse * prej obstoječe VM na strežniku
- Uvozite VM iz datotek na rezervno mesto.
- Preverite, ali so vsi VM aktivni tako, da jih aktivirate enega za drugim in iščete utripanje orodij za goste.
- VM izklopite, ko odkrijete bitje srca ali če je dosežena časovna omejitev.
* Vedenje brisanja vseh VM lahko popolnoma onemogočite in podpira izjeme (glej spodaj).
Lets get cracking :)
Pridobite scenarij
Xen-phoenix lahko prosto pridobimo iz github-a z uporabo običajnih git metod. S tem je dejal, če niste seznanjeni v git še, lahko zgrabi zip datoteko s to povezavo. Ker mora skript delovati na enem od vaših strežnikov Xen, ga morate izvleči tam, da se ohranijo dovoljenja za izvajanje.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip
unzip master
Čeprav bo zgoraj navedeno delovalo, vam svetujemo, da uporabite metodo GIT, da boste lahko imeli koristi od prihodnjih posodobitev.
Lokacija izvoza
Konfigurirati moramo, kje izvesti izvoz VM.
Medtem ko naključno poking v Citrix Xen, sem ugotovil, da skladišča skladišč (SRs) so na voljo za uporabo pod "/ var / run / sr-mount /% UUID%", kjer UUID je edinstven identifikator za SR, ki se lahko iz GUI.
To pomeni, da lahko uporabimo navadnega čarovnika »Naprej -> Naslednji -> Dokončaj«, da ustvarimo »mount« na želeno lokacijo za varnostno kopiranje, nato pa skript uporabimo to pot (kot je dodano zamenjavi z namestitvijo iz ukazne vrstice, ki je izven obsega tega priročnika).
Če želite ustvariti nov “mount”, desno kliknite ime strežnika in izberite New SR.
V tem primeru bomo usmerili Xen na delje Windows, zato izberite »Skupna raba datotek Windows (CIFS)«:
Izpolnite Naslednji -> Naslednji -> Dokončaj.
Pridobite SR UUID
Za pridobitev UUID SR-ja preprosto kliknite njegovo ime v centru Xen in pojdite na zavihek »Splošno«.
Če želite kopirati UUID, preprosto kliknite z desno miškino tipko in izberite »Kopiraj«.
Ko so te informacije na voljo, ste pripravljeni urediti datoteko z nastavitvami.
Konfigurirajte datoteko z nastavitvami
Projekt Xen-phoenix je priložen predlogi za nastavitve. To predlogo je treba urejati tako, da odraža vašo nastavitev in jo posredujete kot prvi argument skriptu.
Datoteka z nastavitvami označuje naslednje:
- Lokacija izvoza vira - Če ste sledili navodilom do te točke, morate le zamenjati% UUID% s SR-ji, kot je bilo pridobljeno zgoraj..
- Lokacija pošiljke SendEmail - če ste omogočili e-poštno sporočilo, morate vnesti, kam ste izvlekli izvršljivo datoteko perl,.
- Verifier - To preverja postopek za preverjanje obnove. To je privzeto omogočeno, saj uspešna »obnovitev ravni datoteke« ne pomeni potrebnega funkcionalnega VM.
- Server_prep - To nadzoruje predhodno obnovitev izbris vseh VM na strežniku DR. To je privzeto omogočeno, ker se domneva, da je strežnik DR v ta namen namenski strežnik. Če potrebujete VM, ki se izvaja na tem strežniku, da ne bo izbrisan, ga konfigurirajte tako, da bo izključen. Če to vedenje ni primerno za vašo situacijo, ga popolnoma onemogočite.
- Podrobnosti o e-pošti - Še enkrat, če ste omogočili e-pošto, morate določiti podrobnosti, kot so: To, From, Servername / IP & itd..
- Odpravljanje napak - Privzeto je, da je odpravljanje napak izklopljeno z vrednostjo "0" (nič). Tega ne bi bilo treba vklopiti, če pa to storite, je v segmentu za odpravljanje težav zabeleženo več informacij..
Izvajanje
Ta skript prevzame nastavitveno datoteko kot svoj prvi argument in vse druge argumente, kot je »Chevrons« za iskanje (ločeno s presledki). Chevroni so »nizi«, ki podpirajo regularne izraze, ki predstavljajo vsaj del želenega imena datoteke izvoza VM.
To je v najpreprostejši obliki, če bi klicanje Xen-phoenixa izgledalo tako:
./Xen-phoenix.sh settings.cfg DevTools
Kjer smo v zgornjem primeru v imeniku, ki vsebuje skript in nastavitveno datoteko, in »Chevron«, ki ga bo skript iskal, je »DevTools«. To bo povzročilo uvoz vseh datotek v imeniku export z nizom "DevTools" v svojem imenu.
Bolj zapleten primer lahko izgleda takole:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools
Kje v zgornjem primeru bodo uvožene datoteke, ki vsebujejo besedo »devtools« s črko »D« in »T« ali ne kapitalne, kot tudi »AD« in »BI« z ali brez velikih začetnic,.
Razporejanje
Kot je navedeno zgoraj, bomo uporabili Cron za načrtovanje izvedbe. Preden gremo v konfiguracijo, je zelo priporočljivo da konfigurirate že nameščen paket SSMTP na strežniku Xen. Čeprav je to neobvezen korak, vam bo to omogočilo zbiralnik »povratne vode«. Če imate takšen zbiralnik »povratnega izpusta«, vas lahko opozori na stvari, ki jih scenarij ne more.
Vnesite v način za urejanje cron, tako da izdate:
crontab -e
Če ste upoštevali zgornja navodila in želite dodati načrtovano varnostno kopijo za nedeljo ob 01:31 (1:31 AM), vnesite spodaj:
31 01 * * ned / root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt ] ools
Zgoraj je pravilno ob predpostavki, da sta skripta in datoteka z nastavitvami pod »/ root / Xen-phoenix-master /«.
Pridobite SendEmail (izbirno)
O programu SendEmail perl smo pisali v preteklosti, zato tukaj ni treba ponavljati. Dovolj je reči, da deluje na enak način na Linuxu, kot v operacijskem sistemu Windows.
Medtem ko je omogočanje e-pošte neobvezno, je zelo priporočljivo, ker bo skript lahko:
- Obveščamo vas, ko se je začel in končal.
- Opozori vas na morebitne napake, ki jih je odkril in obvladal.
Prenesite ga na strežnik Xen in izvlecite.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Zapomnite si lokacijo, kamor ste jo ekstrahirali. Potrebovali ga boste za nastavitveno datoteko.
Določanje oznake »Izbriši izjemo« (neobvezno)
Xen-Phoenix vzame stran od svojega prednika (Xen-Pocalypse) in vam daje možnost, da z uporabo kontrolne TAG natančno izključite VM iz celotnega sistemskega brisanja. Č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 »Polja po meri«.
Če prvič definirate »polje po meri« (kot v zgornjem primeru), v polje »Phoenix_keeper« ne boste vnašali podatkov, zato ga morate ustvariti. To storite tako, da v pogovornem oknu, ki se prikaže, kliknete »Uredi polja po meri« in kliknete »Dodaj…«
Ustvarite polje vrste »Besedilo« z imenom »Phoenix_keeper«.
Opomba: Ime polja po meri je bilo v skriptu »trdo kodirano«, zato ne smete odstopati od zgoraj navedenega črkovanja, razen če spremenite tudi ustrezno kodo..
Ko je polje ustvarjeno, morate videti:
Zapri okno. Zdaj bi morali zapolniti polje "Phoenix_keeper", kot je prikazano na spodnji sliki.
Zdaj, vse kar morate storiti, je, da zapolnite to polje z opombo (vsaka opomba bo naredila), zaradi česar jo bo Xen-phoenix preskočil pri brisanju.
Odpravljanje težav
Medtem ko sem vložil veliko truda v to, da bi bil scenarij enostaven za uporabo in čim bolj varen, je »svet večji laboratorij«. Spodnje informacije vam lahko pomagajo ugotoviti, kaj je vir težav.
Prijava
Vsa »dnevnika« zbira gostitelj Xen, ki izvaja skript v mehanizmu syslog. To je seveda mogoče videti z:
manj + F / var / log / messages
Iščete ključno besedo "Xen-Phoenix".
Opomba: Citrix je za syslog svojih strežnikov nastavil dve (2) dnevni politiki hrambe. Morda boste želeli to imeti v mislih za postmorteme.
Odpravljanje napak
Kot je navedeno v segmentu nastavitvenih datotek, obstaja direktiva za omogočanje razhroščevanja. Omogočanje razhroščevanja bo povzročilo, da bo skript izpisal podrobno prijavljanje v konzolo in ga kastriral iz pošiljanja e-poštnih sporočil in dejansko izvedel uvoz, razen če so določene tudi ustrezne zastavice. Možne zastavice so označene v predlogi datoteke z nastavitvami in omogočajo natančno določanje, kaj želite razhroščiti.
Upam, da niste potrebovali nobenega odpravljanja napak in uživate sadove mojega dela:)
Samo pomislite na vso revščino, sovraštvo in laži. In zamislite si uničenje vsega, kar prezirate. Počasi iz pepela se bo pojavil feniks ...