13Jul

Så här återställer du Citrix-Xen VM gratis med Xen-Phoenix( Bash)

Har du någonsin haft behov av att bulk återställa dina Citrix-Xen VM för en katastrofåterställning( DR) -lösning, eller bara för att testa att dina säkerhetskopior fungerar? HTG förklarar hur man använder Xen-Phoenix, ett gratis bash-skript, för att återställa VM.

Fotokredit: Ryan McCurdy via Compfight cc

Som vi har nämnt i "Hur man säkerhetskopierar Citrix Xen VMs gratis med Xen-pocalypse" är en av de fina sakerna i Citrix Xen att många av dess funktioner är gratis avavgift. Med det sagt, om du vill ha funktionen "Automatiserad VM-skydd och återställning" måste du börja betala för "Advance" -licensen.Återigen är det inte att vi vid HTG avvisar värdet av en sann backup-lösning, men om du har en snäv budget har du redan fått VM-bilderna från hypervisören och behöver ett sätt att automatisera din "teståterställ "/" DR refresh "-procedurer, kan du hitta Xen-Phoenix som en perfekt lösning innan du gör budgetåtagandet.

Översikt

Användningsfallet: Du har ett par VM som kräver en återställning. Importen i "Xen Center" med rätt klick fungerar ok, men du vill att processen ska ske automatiskt och på ett schema. Detta Bash-skript använder kommandot "XE" för att utföra sina uppgifter. XE är Xen-kommandoradsgränssnittet( CLI), som automatiskt motsvarar utgivning av "rätt klick" i "Xen Center".Vi kommer att ringa manuset från Cron som kommer att leverera "schemaläggningsdelen".I sin enklaste form är återställningsflödet:

  • Ta bort alla * tidigare befintliga VM på servern
  • Importera VM från filer på säkerhetskopieringsplatsen.
  • Verifiera att alla VMs kan användas genom att aktivera dem en efter en och leta efter gästverktygets hjärtslag.
  • Slå av VM när ett hjärtslag har upptäckts eller en timeout har uppnåtts.

* Radera alla VM-beteenden kan inaktiveras helt och stöder undantag( se nedan).

Låter bli sprickbildning:)

Hämta skriptet

Xen-phoenix kan erhållas fritt från github, med hjälp av de vanliga gitmetoderna. Med det sagt, om du inte är versed i git ännu, kan du ta tag i zip-filen med den här länken. Eftersom skriptet behöver köras på en av dina Xen-servrar borde du extrahera det så att exekveringsbehörigheterna behålls.

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

Även om ovanstående skulle fungera rekommenderas du att använda GIT-metoden så att du kan dra nytta av framtida uppdateringar.

Exportplatsen

Vi måste konfigurera var du ska ta VM-exporten från.

Medan slumpmässigt poking runt i Citrix Xen har jag funnit att lagringsutrymmena( SRs) är tillgängliga för användning under "/var/run/ sr-mount /% UUID%" där UUID är den unika identifieraren för SR som kan erhållas frånGUI.

Det betyder att vi kan använda den vanliga "Next - & gt;Nästa - & gt;Finish "-guiden för att skapa" mount "till önskad säkerhetskopieringsplats, och sedan har manuset använda den sökvägen( som kan användas för att röra med monteringen från kommandoraden som ligger utanför handbokens räckvidd).

För att skapa ett nytt "mount" högerklickar du på servernamnet och väljer New SR.

I det här exemplet kommer vi att peka Xen till en Windows-del, så välj "Windows Fildelning( CIFS)":

Fyll i nästa - & gt;Nästa - & gt;Avsluta.

Hämta SR-UUID

För att få en SR-UUID klickar du bara på sitt namn i Xen Center och går till fliken "Allmänt".

För att kopiera UUID, högerklicka bara på den och välj "kopiera".

Med den här informationen är du redo att redigera inställningsfilen.

Konfigurera inställningsfilen

Xen-phoenix-projektet levereras med en "inställnings" -mall. Denna mall ska redigeras för att återspegla din inställning och godkänd som det första argumentet för skriptet.

Inställningsfilen anger följande:

  • Placeringen av källaexporten - Om du har följt guiden till den här punkten behöver du bara byta ut% UUID% med SR: erna som den erhållits ovan.
  • Placeringen av SendEmail - Om du har valt att aktivera E-post måste du ange var du har extraherat den exekverbara perl-filen här.
  • Verifier - Här kontrolleras proceduren för återställningsverifiering. Detta är aktiverat som standard, eftersom en framgångsrik "återställning av filnivåer" inte behöver betyda en funktionell VM.
  • Server_prep - Detta kontrollerar -fördröjningen för alla VM-filer på DR-servern. Detta är aktiverat som standard eftersom det antas att DR-servern är en dedikerad server för detta ändamål. Om du behöver en VM som körs på den här servern så att den inte raderas, konfigurerar den att uteslutas. Om detta beteende inte passar din situation, helt enkelt stäng av den helt.
  • E-post detaljer - Återigen, om du har aktiverat e-post måste du definiera detaljer som: Till, Från, Servernamn / IP &etc'.
  • Felsökning - Standarden är att felsökningen är avstängd med värdet "0"( noll).Du behöver inte aktivera det här, men om du gör det finns mer information i felsökningssegmentet.

Utförande

Detta skript tar inställningsfilen som sitt första argument och andra argument som "Chevrons" för att söka efter( åtskilda av mellanslag).Chevrons, är "strängar", som stöder reguljära uttryck som representerar åtminstone en del av det önskade filnamnet för VM-exporten.

Det är i sin enklaste form, en invigning av Xen-Phoenix skulle se ut:

. /Xen-phoenix.sh settings.cfg DevTools

Där i det här fallet finns vi i katalogen som innehåller manuset &inställningsfilen och "chevronen" skriptet letar efter är "devTools".Detta gör att alla filer i exportkatalogen med strängen "DevTools" i deras namn ska importeras.

Ett mer komplext exempel kan se ut:

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

Där i exemplet ovan innehåller filer som innehållerordet "devtools" stavade med en huvudstad "D" och "T" eller icke-kapital, samt "AD" &"BI" med eller utan kapitalisering kommer att importeras.

Schemaläggning

Som nämnts ovan använder vi Cron för att schemalägga utförandet. Innan vi går in i konfigurationen är det rekommenderas starkt att du konfigurerar det redan installerade SSMTP-paketet på din Xen-server. Medan detta är ett valfritt steg, ger det dig en "backwash" -samlare. Att ha en sådan "backwash collector" kan varna dig om saker som skriptet inte kan.

Gå in i crons redigeringsläge genom att utfärda:

crontab -e

Om du har följt instruktionerna ovan och vill lägga till en schemalagd säkerhetskopia för söndag klockan 01:31( 1:31), mata in nedan:

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

Ovanstående är korrekt antagandeditt skript och inställningsfil är båda under "/root/ Xen-phoenix-master /".

Hämta SendEmail( tillval)

Vi har skrivit om SendEmail Perl-programmet tidigare, så det behöver inte upprepas här. Det räcker med att säga att det fungerar på samma sätt på Linux som på Windows.

Medan du tillåter e-post är valfritt, rekommenderas det, för då kan skriptet kunna:

  • Informera dig när det startade &färdig att springa.
  • Varning dig om eventuella fel som det kunde upptäcka och hantera.

Ladda ner den till Xen-servern och extrahera.

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

Observera platsen där du extraherade den till. Du behöver den för inställningsfilen.

Definiera taggen "Ta bort undantag"( valfritt)

Xen-Phoenix tar en sida från sin förfader( Xen-Pocalypse) och ger dig möjlighet att granulärt utesluta en VM från den hela hela raderingen med hjälp av en kontroll TAG.För att kunna göra detta måste du definiera ett nytt "Anpassat fält".

För att göra detta, öppna serverns eller till och med en VMs egenskaper. I navigeringsfönstret väljer du "Anpassade fält".

Om det här är första gången du definierar ett "anpassat fält"( som i exemplet ovan), har du inte fältet "Phoenix_keeper" för att mata in data, så du måste skapa den. För att göra detta klickar du på "Redigera anpassade fält" i dialogrutan som dyker upp och klickar sedan på "Lägg till. .."

Skapa ett "Text" typfält med namnet "Phoenix_keeper".

Anm.: Namnet på det egna fältet har "hårdkodats" i skriptet, så du får inte avvika från stavningen ovan, såvida du inte ändrar den relevanta koden också.

När fältet har skapats bör du se:

Stäng fönstret. Du ska nu ha "Phoenix_keeper" fältet att fylla, som i bilden nedan.

Allt du behöver göra är att fylla i det här fältet med en anmärkning( någon kommentar kommer att göra), vilket gör att Xen-Phoenix kan hoppa över det när du raderar.

Felsökning

Medan jag har lagt mycket arbete på att göra manuset så enkelt att använda och så otåligt som möjligt, är "världen ett större lab".Informationen nedan kan hjälpa dig att ta reda på vad som är källa till dina problem.

Logging

All "logging" samlas in av Xen-värd som kör scriptet i syslog-mekanismen. Detta kan givetvis ses med:

mindre + F /var/log/-meddelanden

Du letar efter nyckelordet "Xen-Phoenix".

Obs! Citrix har fastställt en policy för två retentionstidpunkter för syslog för sina servrar. Du kanske vill ha det i åtanke för postmortem.

Felsökning

Såsom anges i inställningsfilsegmentet finns ett direktiv som möjliggör debugging. Genom att aktivera felsökning kommer skriptet att mata ut logga till konsolen och slänga den från att skicka e-postmeddelanden och faktiskt utföra importen, såvida inte relevanta flaggor också ställs in. De möjliga flaggor noteras i inställningsfilmallen och de gör att du kan definiera vad du vill felsöka.

Det är mitt hopp att du inte behöver någon felsökning och du skördar frukterna av mitt arbete.

Tänk bara på all fattigdom, hat och lögner, och föreställ dig förstörelsen av allt som du förnekar. Långt från askan kommer fenomenet att uppstå. ..