Fotokreditt: Ryan McCurdy via Compfight cc
Som vi har nevnt i "Slik sikkerhetskopierer du Citrix Xen VMs gratis med Xen-pocalypse", er en av de fine tingene i Citrix Xen at mange av funksjonene ergratis avgift. 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
"Brukstilfelle": 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 "XE" -kommandoen til å 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:
- Slett alle * tidligere eksisterende VM på serveren
- Importer VMer fra filer på sikkerhetskopieringsstedet.
- Bekreft at alle VM-er kan betjenes ved å aktivere dem en etter en og se etter gjengene til hjerterytmen.
- 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 de vanlige git-metodene. 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 det å 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 tilfeldigvis peker rundt i Citrix Xen, har jeg funnet ut at Storage Repositories (SRs) er tilgjengelige for bruk under "/ var / run / sr-mount /% UUID%" der UUID er den unike identifikatoren til SR, som kan være hentet fra GUI.
Dette betyr at vi kan bruke den vanlige "Next -> Next -> Finish" veiviseren for å opprette "mount" til ønsket reserveplassering, og deretter bruke skriptet til å bruke den banen (som til tross for at det er bra med å montere fra kommandolinjen som er utover omfanget av denne veiledningen).
For å opprette et nytt "mount", høyreklikk servernavnet og velg Ny SR.
Hent SRs UUID
For å oppnå en SRs UUID klikker du bare på navnet sitt i Xen-senteret og går til kategorien "Generelt".
Konfigurer innstillingsfilen
Xen-Phoenix-prosjektet leveres 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, trenger du bare å erstatte% UUID% med SR som det ble oppnådd ovenfor.
- Plasseringen til 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 styrer forgjenopprettingen sletting 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 og etc '.
- debugging - Standard er at debugging 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.
Henrettelse
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 som:
./Xen-phoenix.sh settings.cfg DevTools
Hvor i tilfellet ovenfor er vi inne i katalogen som inneholder skriptet og 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 som:
./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools
Hvor i eksemplet ovenfor vil filer som inneholder ordet "devtools" stavet med en kapital "D" og "T" eller ikke-kapital, samt "AD" og "BI" med eller uten kapitalisering, bli importert.
planlegging
Som nevnt ovenfor vil vi bruke Cron til å planlegge gjennomføringen. Før vi går inn i konfigurasjonen, er detsterkt anbefalt 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 -e
Hvis du har fulgt instruksjonene ovenfor, og du vil legge til en planlagt sikkerhetskopi for søndag kl 01:31 (1:31), skriv inn under:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa][Dd] DB [Bb][iI] [Dd]ev[Tt]ools
Ovenstående er riktig, forutsatt at skript- og innstillingsfilen din begge er 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:
- Informer deg når det startet og ferdig å kjøre.
- Varsle deg eventuelle feil det var i stand til å oppdage og håndtere.
Last ned den til Xen-serveren og utdrag.
wget https://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 til. 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 granulært en VM fra hele systemet ved hjelp av en kontroll TAG. For å gjøre dette må du definere et nytt "Tilpasset felt".
For å gjøre dette, åpne serverens eller til og med en VMs egenskaper. I navigasjonsruten velg "Egendefinerte felt".
Merk: Navnet på det egendefinerte feltet har blitt "hardkodet" i skriptet, så du må ikke avvike fra stavingen ovenfor, med mindre du endrer den aktuelle koden også.
Når feltet er opprettet, bør du se:
Feilsøking
Mens jeg har lagt mye arbeid på å gjøre skriptet så enkelt å bruke og så tåpelig som mulig, "verden er et større laboratorium". Informasjonen nedenfor kan hjelpe deg med å finne ut hva som er kilden til dine problemer.
logging
All "logging" samles av Xen-verten som kjører skriptet i syslog-mekanismen. Dette kan selvfølgelig ses med:
less +F /var/log/messages
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.
debugging
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øgner, og forestill deg ødeleggelsen av alt som du forakter. Sakte fra asken, vil phoenix oppstå …