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

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

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

    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 er gratis 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 har et stramt budsjett, har du allerede fått VM-bildene ut av hypervisoren og trenger en måte å automatisere din " test gjenopprette "/" 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 utstedelse av "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 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).

    Kan få sprekker :)

    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 denne banen (som til tross for at det blir bra med å montere fra kommandolinjen som er utover omfanget av denne veiledningen).

    For å opprette et nytt "mount", høyreklikk servernavnet og velg Ny SR.

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

    Fullfør Neste -> Neste -> Fullfør.

    Hent SRs UUID

    For å oppnå en SRs UUID klikker du bare på navnet sitt i Xen-senteret 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 med en "innstillinger" -filmal. Denne malen skal redigeres for å gjenspeile oppsettet og bestått som det første argumentet til 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 til SendEmail - Hvis du har valgt å aktivere E-post, må du skrive inn hvor du har hentet den perl-kjørbare 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  - Standarden er å ha feilsøking slått av med verdien "0" (null). Du trenger ikke å slå på dette, men hvis du gjør det, blir mer informasjon notert 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 det sterkt 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 skriptet ikke klarer.

    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 følgende:

    31 01 * * sol / rød / 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 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 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 "Egendefinert felt".

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

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

    Opprett et tekstfelt med navnet "Phoenix_keeper".

    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:

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

    Nå er 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

    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:

    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.

    debugging

    Som nevnt i innstillingsfilsegmentet, er det et direktiv for å aktivere feilsøking. Aktivering av feilsøking vil føre til at skriptet utfører verbose 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 som du forakter. Sakte fra asken, vil phoenix oppstå ...