Hjemmeside » hvordan » Sådan gendannes Citrix-Xen VM'er gratis med Xen-Phoenix (Bash)

    Sådan gendannes Citrix-Xen VM'er gratis med Xen-Phoenix (Bash)

    Har du nogensinde haft brug for at genoprette dine Citrix-Xen VM'er til en katastrofeopdateringsløsning (DR), eller bare for at teste, at dine sikkerhedskopier fungerer? HTG forklarer, hvordan man bruger Xen-Phoenix, et gratis bash script, til VM-genoprettelse.

    Fotokredit: Ryan McCurdy via Compfight cc

    Som vi har nævnt i "Sådan sikkerhedskopieres Citrix Xen VM'er gratis med Xen-pocalypse", er en af ​​de gode ting i Citrix Xen, at mange af dens funktioner er ledig af afgift. Med det sagt, hvis du vil have funktionen "Automatiseret VM beskyttelse og opsving", skal du begynde at betale for "Advance" -licensen. Igen er det ikke, at vi ved HTG afviser værdien af ​​en ægte backup-løsning, men hvis du er på et stramt budget, har du allerede fået VM-billederne ud af hypervisoren og har brug for en måde at automatisere din " test genoprette "/" DR refresh "-procedurerne, kan du finde Xen-Phoenix til at være en perfekt løsning, inden du laver budgetforpligtelsen.

    Oversigt

    "Anvendelsessagen": Du har et par VM'er, der kræver en gendannelse. Importen i "Xen Center" ved hjælp af højre klik fungerer ok, men du vil have denne proces til at ske automatisk og på en tidsplan. Dette Bash-script bruger kommandoen "XE" til at udføre sine opgaver. XE er Xen-kommandolinjegrænsefladen (CLI), som automatisk svarer til udstedelse af "højre klik" i "Xen Center". Vi vil kalde scriptet fra Cron, som vil levere "planlægning" -delen. I sin enkleste form er gendannelsesstrømmen:

    • Slet alle * tidligere eksisterende VM'er på serveren
    • Importer VM'er fra filer på sikkerhedskopieringsstedet.
    • Bekræft, at alle VM'er kan betjenes ved at aktivere dem en efter en og kigge efter gæsteværktøjets hjerteslag.
    • Sluk VM'er, når et hjerteslag er blevet opdaget, eller en timeout er nået.

    * Slet alle VMs adfærd kan deaktiveres fuldstændigt og understøtter undtagelser (se nedenfor).

    Lader få krakning :)

    Hent scriptet

    Xen-phoenix kan frit opnås fra github ved anvendelse af de regulære gitmetoder. Med det sagt, hvis du ikke er kyndig i git endnu, kan du gribe zip-filen med dette link. Da scriptet skal køre på en af ​​dine Xen-servere, skal du udpakke det der, så eksekveringsrettighederne bevares.

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

    Mens ovenstående ville fungere, anbefales du at bruge GIT-metoden, så du kan få gavn af fremtidige opdateringer.

    Eksportstedet

    Vi skal konfigurere, hvor vi skal tage VM eksporten fra.

    Mens jeg tilfældigt slog rundt i Citrix Xen, har jeg fundet ud af, at Storage Repositories (SRs) er tilgængelige til brug under "/ var / run / sr-mount /% UUID%", hvor UUID er den unikke identifikator af SR, som kan være opnået fra GUI.

    Det betyder, at vi kan bruge den almindelige guiden "Next -> Next -> Finish" til at oprette "mount" til den ønskede sikkerhedskopi, og derefter bruge scriptet til at bruge den pågældende sti (som det er tilfældet med at klare montering fra kommandolinjen, som er uden for denne vejledning).

    For at oprette en ny "mount" skal du højreklikke på servernavnet og vælge Ny SR.

    I dette eksempel vil vi pege Xen til en Windows-del, så vælg "Windows Fildeling (CIFS)":

    Udfyld Næste -> Næste -> Afslut.

    Hent SR's UUID

    For at opnå en SR's UUID skal du blot klikke på dens navn i Xen Center og gå til fanen "Generelt".

    For at kopiere UUID skal du blot højreklikke på det og vælge "kopi".

    Med disse oplysninger ved hånden er du klar til at redigere indstillingsfilen.

    Konfigurer indstillingsfilen

    Xen-phoenix-projektet leveres sammen med en "indstillinger" -filskabelon. Denne skabelon skal redigeres for at afspejle dit opsætning og bestået som det første argument til scriptet.

    Indstillingsfilen angiver følgende:

    • Placeringen af ​​kildeeksporten - Hvis du har fulgt vejledningen til dette punkt, skal du kun erstatte% UUID% med SR'erne, som det blev opnået ovenfra.
    • Placeringen af ​​SendEmail - Hvis du har valgt at aktivere Email, skal du indtaste, hvor du har hentet perl eksekverbar her.
    • Verifier - Dette styrer processen for genoprettelse af post. Dette er aktiveret som standard, da en succesfuld "filniveaugendannelse" ikke nødvendigvis betyder en funktionel VM.
    • Server_prep - Dette styrer forudindstillingen sletning af alle VM'er på DR-serveren. Dette er aktiveret som standard, fordi det antages, at DR-serveren er en dedikeret server til dette formål. Hvis du har brug for en VM, der kører på denne server for ikke at blive slettet, skal du konfigurere den for at blive udelukket. Hvis denne adfærd ikke passer til din situation, skal du bare deaktivere den helt.
    • Email detaljer - Igen, hvis du har aktiveret e-mail, skal du definere detaljer som: Til, Fra, Servernavn / IP & etc '.
    • debugging  - Standarden er, at debugging er slukket med værdien "0" (nul). Du behøver ikke at tænde dette, men hvis du gør det, vises flere oplysninger i fejlfindingssegmentet.

    Udførelse

    Dette script tager indstillingsfilen som dets første argument og andre argumenter som "Chevrons" for at søge efter (adskilt af mellemrum). Chevrons, er "strenge", som understøtter regulære udtryk, der repræsenterer i det mindste en del af det ønskede filnavn på VM-eksporten.

    Det vil sige i sin enkleste form, at en opfordring til Xen-Phoenix ville se ud:

    ./Xen-phoenix.sh settings.cfg DevTools

    Hvor i det ovennævnte tilfælde er vi inde i den mappe, der indeholder scriptet og indstillingsfilen og "Chevron" scriptet vil se efter, er "DevTools". Dette vil medføre, at alle filer i eksportmappen med strenge "DevTools" i deres navn, der skal importeres.

    Et mere komplekst eksempel kan se ud:

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

    Hvor i eksemplet ovenfor vil der blive importeret filer, der indeholder ordet "devtools", stavet med en kapital "D" og "T" eller ikke-kapital, samt "AD" og "BI" med eller uden kapitalisering..

    Planlægning

    Som nævnt ovenfor bruger vi Cron til at planlægge udførelsen. Før vi går ind i konfigurationen, er det højt anbefalet at du konfigurerer den allerede installerede SSMTP-pakke på din Xen-server. Selv om dette er et valgfrit trin, vil det give dig en "backwash" kollektor. At have en sådan "backwash collector" kan være opmærksom på ting, scriptet ikke kan.

    Indtast i crons redigeringstilstand ved at udstede:

    crontab -e

    Hvis du har fulgt ovenstående instruktioner, og du vil tilføje en planlagt backup til søndag kl. 01:31 (1:31), skal du indtaste nedenstående:

    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 ] REDSKABER

    Ovenstående er korrekt, forudsat at din script og indstillingsfil er begge under "/ root / Xen-phoenix-master /".

    Hent SendEmail (valgfrit)

    Vi har tidligere skrevet om SendEmail Perl-programmet, så der er ingen grund til at gentage her. Det er nok at sige, det virker på samme måde på Linux som det gør på Windows.

    Mens aktivering af e-mail er valgfrit, anbefales det stærkt, da scriptet vil kunne:

    • Informer dig, når den startede og afsluttede med at køre.
    • Advarer dig om eventuelle fejl, det var i stand til at opdage og håndtere.

    Hent det til Xen-serveren og uddrag.

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

    Bemærk, hvor du har hentet den til. Du skal bruge det til indstillingsfilen.

    Definere tagget "Slet undtagelse" (valgfrit)

    Xen-Phoenix tager en side fra sin forfader (Xen-Pocalypse) og giver dig mulighed for granulært at udelukke en VM fra hele systemet sletning ved hjælp af en kontrol TAG. For at gøre dette skal du definere et nyt "Brugerdefineret felt".

    For at gøre dette skal du åbne serverens eller endda en VMs egenskaber. I navigationsruden skal du vælge "Brugerdefinerede felter".

    Hvis dette er første gang du definerer et "brugerdefineret felt" (som i eksemplet ovenfor), har du ikke feltet "Phoenix_keeper" til at indtaste data i, så du skal oprette det. For at gøre dette skal du klikke på "Rediger brugerdefinerede felter" i dialogboksen, der vises, og klik derefter på "Tilføj ..."

    Opret et "Tekst" type felt med navnet "Phoenix_keeper".

    Bemærk: Navnet på det brugerdefinerede felt er blevet "hardkodet" i scriptet, så du må ikke afvige fra stavningen ovenfor, medmindre du også ændrer den relevante kode.

    Når feltet er oprettet, skal du se:

    Luk vinduet. Du skal nu have feltet "Phoenix_keeper" for at udfylde, som i billedet nedenfor.

    Nu er alt du skal gøre, fylde dette felt med en bemærkning (enhver bemærkning vil gøre), hvilket vil få Xen-Phoenix til at springe over det, når du sletter det.

    Fejlfinding

    Mens jeg har lagt meget på at gøre scriptet så nemt at bruge og så idiotsikkert som muligt, "verden er et større laboratorium". Oplysningerne nedenfor kan hjælpe dig med at finde ud af, hvad der er årsagen til dine problemer.

    Logning

    Alle "logging" indsamles af Xen-værten, der kører scriptet i syslog-mekanismen. Dette kan selvfølgelig ses med:

    mindre + F / var / log / beskeder

    Du leder efter nøgleordet "Xen-Phoenix".

    Bemærk: Citrix har indstillet en 2-dages retentionspolitik for syslog af sine servere. Du vil måske gerne huske på postmortemer.

    debugging

    Som angivet i indstillingsfilsegmentet er der et direktiv til at aktivere fejlfinding. Aktivering af debugging vil medføre, at scriptet udsender verbose logging til konsollen og castrere den fra at sende e-mails og faktisk udføre importen, medmindre de relevante flag er også indstillet. De mulige flag er noteret i indstillingsfilskabelonen, og de giver dig mulighed for at definere, hvad du vil fejle.

    Det er mit håb, at du ikke har brug for nogen fejlfinding, og du høster frugterne af mit arbejde :)


    Tænk bare på al fattigdom, had og løgn, og forestil dig ødelæggelsen af ​​alt, hvad du foragter. Langsomt fra asken vil phoenix opstå ...