13Jul

Slik gjenoppretter du Citrix-Xen VMs gratis med Xen-Phoenix( Bash)

click fraud protection

Har du noen gang hatt behov for masse gjenoppretting av Citrix-Xen VM-en for en katastrofegjenoppretting( DR) -løsning, eller bare for å teste at sikkerhetskopiene dine fungerer? HTG forklarer hvordan du bruker Xen-Phoenix, et gratis bash-script, for VM-gjenoppretting.

Fotokredit: Ryan McCurdy via Compfight cc

Som vi har nevnt i "Slik sikkerhetskopierer du Citrix Xen VMs med Xen-pocalypse", er en av de fine tingene i Citrix Xen at mange av funksjonene er gratis avlade. Med det sagt, hvis du vil ha funksjonen "Automatisert VM beskyttelse og gjenoppretting", må du begynne å betale for "Advance" lisensen. Igjen er det ikke at vi ved HTG avviser verdien av en ekte backup løsning, men hvis du er på et stramt budsjett, har du allerede fått VM-bildene ut av hypervisoren og trenger en måte å automatisere din "test gjenopprett "/" DR refresh "prosedyrer, kan du finne Xen-Phoenix å være en perfekt løsning før du gjør budsjettforpliktelsen.

Oversikt

Bruksanvisningen: Du har et par VMer som krever gjenoppretting. Importen i "Xen Center" ved hjelp av høyre klikk fungerer ok, men du vil at denne prosessen skal skje automatisk og på en tidsplan. Dette Bash-skriptet bruker kommandoen "XE" for å utføre sine oppgaver. XE er Xen-kommandolinjegrensesnittet( CLI), automatisk tilsvarende for å utstede "høyre klikk" i "Xen-senteret".Vi vil ringe skriptet fra Cron som vil levere "planlegging" -delen. I sin enkleste form er gjenopprettingsstrømmen:

instagram viewer

  • Slett alle * tidligere eksisterende VM på serveren
  • Importer VMer fra filer på backupplasseringen.
  • Bekreft at alle VM-er kan betjenes ved å aktivere dem en etter en, og se etter hjerteslagets gjesteverktøy.
  • Slå av VM når et hjerteslag er oppdaget, eller en timeout er nådd.

* Slett alle VMs atferd kan deaktiveres helt og støtter unntak( se nedenfor).

Lar deg sprekke:)

Hent skriptet

Xen-Phoenix kan fritt hentes fra github, ved hjelp av vanlige git-metoder. Med det sagt, hvis du ikke er kjent med git ennå, kan du ta tak i zip-filen med denne linken. Som skriptet må kjøre på en av dine Xen-servere, bør du trekke den ut der, slik at eksekveringsrettighetene blir bevart.

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

Mens det ovenfor skulle fungere, anbefales du å bruke GIT-metoden slik at du kan dra nytte av fremtidige oppdateringer.

Eksportstedet

Vi må konfigurere hvor du skal ta VM-eksporten fra.

Mens jeg slår tilfeldig i Citrix Xen, har jeg funnet ut at lagringsoppbevaringene( SRs) er tilgjengelige for bruk under "/var/run/ sr-mount /% UUID%" der UUID er den unike identifikatoren til SR, som kan hentes fraGUI.

Dette betyr at vi kan bruke den vanlige "Next - & gt;Neste - & gt;Fullfør "veiviseren for å opprette" mount "til ønsket reserveplassering, og deretter bruke skriptet denne banen( som til tross for at det går bra med å montere fra kommandolinjen som er utenfor rammen av denne veiledningen).

Hvis du vil opprette et nytt "mount", høyreklikker du servernavnet og velger Ny SR.

I dette eksemplet vil vi peke Xen til en Windows-del, så velg "Windows Fildeling( CIFS)":

Fullfør neste - & gt;Neste - & gt;Bli ferdig.

Hent SRs UUID

For å oppnå en SRs UUID, klikker du bare på navnet sitt i Xen Center og går til kategorien "Generelt".

For å kopiere UUID, bare høyreklikk den og velg "kopi".

Med denne informasjonen tilgjengelig, er du klar til å redigere innstillingsfilen.

Konfigurer innstillingsfilen

Xen-Phoenix-prosjektet leveres sammen med en "innstillinger" -filmal. Denne malen skal redigeres for å gjenspeile oppsettet ditt og bestått som det første argumentet for skriptet.

Innstillingsfilen angir følgende:

  • Plasseringen av kilden eksporten - Hvis du har fulgt veiledningen til dette punktet, må du bare erstatte% UUID% med SR som det ble oppnådd ovenfor.
  • Plasseringen av SendEmail - Hvis du har valgt å aktivere E-post, må du skrive inn hvor du har hentet perl-kjørbarheten her.
  • Verifier - Dette kontrollerer prosedyren for gjenoppretting av innlegg. Dette er aktivert som standard, ettersom en vellykket "gjenoppretting av filnivå" ikke nødvendigvis betyr en funksjonell VM.
  • Server_prep - Dette kontrollerer for gjenoppretting av alle VMer på DR-serveren. Dette er aktivert som standard fordi det antas at DR-serveren er en dedikert server til dette formålet. Hvis du trenger en VM som kjører på denne serveren for ikke å bli slettet, må du konfigurere den for å bli utelukket. Hvis denne virkemåten ikke passer for din situasjon, kan du bare deaktivere den helt.
  • E-post detaljer - Igjen, hvis du har aktivert e-post, må du definere detaljer som: Til, Fra, Servernavn / IP &etc'.
  • Feilsøking - Standard er at feilsøking er slått av med verdien "0"( null).Du trenger ikke å slå på dette, men hvis du gjør det, vises mer informasjon i feilsøkingssegmentet.

-utførelse

Dette skriptet tar innstillingsfilen som det første argumentet og andre argumenter som "Chevrons" for å søke etter( adskilt av mellomrom).Chevrons, er "strenger", som støtter regulære uttrykk som representerer minst en del av det ønskede filnavnet til VM-eksporten.

Det er i sin enkleste form, en invokasjon av Xen-phoenix ville se ut:

. /Xen-phoenix.sh settings.cfg DevTools

Hvor i tilfellet ovenfor er vi inne i katalogen som inneholder skriptet &Innstillingsfilen og "Chevron" skriptet vil se etter, er "DevTools".Dette vil føre til at alle filene i eksportkatalogen med strengen "DevTools" i navnet deres blir importert.

Et mer komplekst eksempel kan se ut:

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

Hvor i eksemplet ovenfor, inneholder filer som inneholderordet "devtools" stavet med en hovedstad "D" og "T" eller ikke-kapital, samt "AD" &"BI" med eller uten kapitalisering, vil bli importert.

Planlegging

Som nevnt ovenfor vil vi bruke Cron til å planlegge gjennomføringen. Før vi går inn i konfigurasjonen, anbefales det sterkt at du konfigurerer den allerede installerte SSMTP-pakken på Xen-serveren din. Selv om dette er et valgfritt trinn, vil dette gi deg en "backwash" -samler.Å ha en slik "backwash collector" kan varsle deg om ting som skriptet ikke kan.

Gå inn i crons redigeringsmodus ved å utstede:

crontab-

Hvis du har fulgt instruksjonene ovenfor, og du vil legge til en planlagt sikkerhetskopi for søndag kl 01:31( 1:31), skriv inn følgende:

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

Ovenstående er korrekt antattSkript og innstillingsfilen er begge under "/root/ Xen-phoenix-master /".

Hent SendEmail( valgfritt)

Vi har skrevet om SendEmail perl-programmet tidligere, så det er ikke nødvendig å gjenta her. Det er nok å si, det fungerer på samme måte på Linux som det gjør på Windows.

Mens aktivering av e-post er valgfritt, anbefales det sterkt fordi da vil skriptet kunne:

  • Informere deg når det startet &ferdig løpende.
  • Varsle deg eventuelle feil det var i stand til å oppdage og håndtere.

Last ned den til Xen-serveren og utdrag.

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

Legg merke til hvor du har hentet den fra. Du trenger den for innstillingsfilen.

Definere merket "Slett unntak"( valgfritt)

Xen-Phoenix tar en side fra sin forfader( Xen-Pocalypse), og gir deg muligheten til å ekskludere en VM fra systemoverføring ved hjelp av en kontroll TAG.For å gjøre dette må du definere et nytt "Tilpasset felt".

For å gjøre dette, må du åpne serverens eller til og med en VMs egenskaper. I navigasjonsruten velg "Egendefinerte felt".

Hvis dette er første gang du definerer et "egendefinert felt"( som i eksempelet ovenfor), vil du ikke ha feltet "Phoenix_keeper" for å skrive inn data, så du må opprette den. For å gjøre dette, klikk på "Rediger egendefinerte felt" i dialogboksen som dukker opp, klikk deretter på "Legg til. .."

Lag et "Tekst" -typefelt med navnet "Phoenix_keeper".

Merk: Navnet på det egendefinerte feltet har blitt "hardkodet" i skriptet, så du må ikke avvike fra stavemåten ovenfor, med mindre du endrer den aktuelle koden også.

Når feltet er opprettet, bør du se:

Lukk vinduet. Du bør nå ha "Phoenix_keeper" -feltet for å fylle, som i bildet nedenfor.

Nå, alt du trenger å gjøre er å fylle dette feltet med en kommentar( noen kommentar vil gjøre), noe som vil føre til at Xen-Phoenix kan hoppe over det når du sletter.

Feilsøking

Selv om jeg har lagt mye arbeid på å gjøre skriptet så enkelt å bruke og så tåpelig som mulig, er "verden en større lab".Informasjonen nedenfor kan hjelpe deg med å finne ut hva som er kilden til dine problemer.

Logging

All "logging" samles inn av Xen-verten som kjører skriptet i syslog-mekanismen. Dette kan selvfølgelig ses med:

mindre + F /var/log/ meldinger

Du leter etter nøkkelordet "Xen-Phoenix".

Merk: Citrix har fastsatt en to-dagers retensjonspolicy for syslog av sine servere. Du vil kanskje huske på postmortemer.

Feilsøking

Som nevnt i innstillingsfilsegmentet, finnes det et direktiv for å aktivere feilsøking. Aktivering av feilsøking vil føre til at skriptet gir utgående logging til konsollen og kastrer den fra å sende e-post og faktisk utfører importen, med mindre de relevante flaggene også er angitt. De mulige flaggene er notert i innstillingsfilmalen, og de lar deg definere hva du vil feilsøke.

Det er mitt håp at du ikke har trengte noen feilsøking, og du høster fruktene av arbeidet mitt:)

Tenk bare på all fattigdom, hat og løgn, og forestill deg ødeleggelsen av alt du forakter. Sakte fra asken, vil Phoenix oppstå. ..