13Jul
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 gratis afoplade. 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 gendannelse "/" DR refresh "-procedurer, kan du finde Xen-Phoenix til at være en perfekt løsning, før 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 udstedelsen af "højre klik" i "Xen Center".Vi kalder 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.
* Sletningen af alle VMs adfærd kan deaktiveres fuldstændigt og understøtter undtagelser( se nedenfor).
Kan få revner:)
Hent scriptet
Xen-Phoenix kan fritt hentes fra github ved hjælp af de almindelige git-metoder. Med det sagt, hvis du ikke er versed 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 det at bruge GIT-metoden, så du kan få gavn af fremtidige opdateringer.
Eksportstedet
Vi skal konfigurere, hvor du 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 hentes fraGUI.
Det betyder, at vi kan bruge den regulære "Next - & gt;Næste - & gt;Afslut "guiden for at oprette" mount "til den ønskede backupplacering, og brug scriptet til at bruge den pågældende sti( som det er tilfældet med at knuse med montering fra kommandolinjen, som ligger 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 på en Windows-del, så vælg "Windows Fildeling( CIFS)":
Udfør Next - & gt;Næste - & gt;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 proceduren for genoprettelse af post. Dette er aktiveret som standard, da en succesfuld "filniveaugendannelse" ikke nødvendigvis betyder en funktionel VM.
- Server_prep - Dette styrer forudindstillet 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'.
- Fejlfinding - Standard er, at debugging er slukket med værdien "0"( nul).Du skal ikke tænde for 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 for VM-eksporten.
Det er i sin enkleste form, at en indkaldelse af Xen-Phoenix ville se ud:
. /Xen-phoenix.sh settings.cfg DevTools
Hvor i det ovenstående er vi inde i den mappe, der indeholder scriptet &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 indeholder filer, der indeholderordet "devtools" stavet med en hovedstad "D" og "T" eller ikke-kapital, samt "AD" &"BI" med eller uden kapitalisering, vil blive importeret.
Planlægning
Som nævnt ovenfor bruger vi Cron til at planlægge udførelsen. Før vi går ind i konfigurationen, anbefales stærkt , at du konfigurerer den allerede installerede SSMTP-pakke på din Xen-server. Selvom dette er et valgfrit trin, vil dette 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 /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 antagetDit 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:
- Informere dig, når det startede &færdig løb.
- Advarer dig om eventuelle fejl, det var i stand til at opdage og håndtere.
Download 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 fra. Du skal bruge det til indstillingsfilen.
Definering af "Slet undtagelses" -mærket( valgfrit)
Xen-Phoenix tager en side fra sin forfader( Xen-Pocalypse) og giver dig mulighed for at udelukke en VM fra den systembaserede 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. Vælg "Brugerdefinerede felter" i navigationsruden.
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 "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, hvad 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.
Fejlfinding
Selvom jeg har lagt meget på at gøre scriptet så nemt at bruge og så idiotsikkert som muligt, er "verden et større laboratorium".Oplysningerne nedenfor kan hjælpe dig med at finde ud af, hvad der er årsagen til dine problemer.
Logging
Alle "logging" indsamles af Xen-værten, der kører scriptet i syslog-mekanismen. Dette kan selvfølgelig ses med:
mindre + F /var/log/ meddelelser
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.
Fejlfinding
Som angivet i indstillingsfilsegmentet er der et direktiv til at aktivere debugging. 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 granulært hvad du vil debugere.
Det er mit håb, at du ikke har brug for nogen fejlretning, og du høster frugterne af mit arbejde:)
Tænk bare på al fattigdom, had og løgne, og forestil dig ødelæggelsen af alt, hvad du foragter. Langsomt fra asken vil phoenix opstå. ..