Hoe Citrix-Xen VM's gratis te herstellen met Xen-Phoenix (Bash)

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 1

Heeft u ooit de behoefte gehad om uw Citrix-Xen VM's in bulk te herstellen voor een noodhersteloplossing (DR), of gewoon om te testen of uw back-ups werken? HTG legt uit hoe je Xen-Phoenix, een gratis bash-script, kunt gebruiken voor het herstellen van VM's.

Fotocredit: Ryan McCurdy via Compfight cc



Zoals we hebben vermeld in Hoe u gratis een back-up van Citrix Xen VM's maakt met Xen-pocalypse, is een van de leuke dingen in Citrix Xen dat veel van zijn functies gratis zijn. Dat gezegd hebbende, als je de geautomatiseerde VM-beveiliging en herstelfunctie wilt, zou je moeten beginnen met betalen voor de Advance-licentie. Nogmaals, het is niet zo dat wij bij HTG de waarde van een echte back-upoplossing afwijzen, maar als je een krap budget hebt, de VM-images al uit de hypervisor hebt gehaald en een manier nodig hebt om je test te automatiseren herstel-/DR-vernieuwingsprocedures, vindt u Xen-Phoenix misschien een heel redelijke oplossing voordat u de budgettoezegging doet.

Overzicht

Het gebruiksscenario: u hebt een aantal VM's die moeten worden hersteld. Het importeren in Xen Center met rechtsklikken werkt goed, maar u wilt dat dit proces automatisch en volgens een schema gebeurt. Dit Bash-script gebruikt het XE-commando om zijn taken uit te voeren. XE is de Xen-opdrachtregelinterface (CLI), automatisch equivalent voor het geven van rechtsklikken in het Xen Center. We zullen het script van Cron aanroepen dat het planningsgedeelte zal leveren. In zijn eenvoudigste vorm is de herstelstroom:

  • Alle* eerder bestaande VM's op de server verwijderen
  • Importeer VM's uit bestanden op de back-uplocatie.
  • Controleer of alle VM's kunnen worden gebruikt door ze één voor één te activeren en te zoeken naar de hartslag van de gasthulpprogramma's.
  • Schakel VM's uit wanneer een hartslag is gedetecteerd of een time-out is bereikt.

*Het gedrag voor het verwijderen van alle VM's kan volledig worden uitgeschakeld en ondersteunt uitzonderingen (zie hieronder).

Laten we knallen :)

Verkrijg het script

Xen-phoenix kan vrij worden verkregen van github, met behulp van de reguliere git-methoden. Dat gezegd hebbende, als je nog niet thuis bent in git, kun je het zipbestand pakken met deze link. Omdat het script op een van je Xen-servers moet draaien, moet je het daar uitpakken zodat de uitvoeringsrechten behouden blijven.

|__+_|

Hoewel het bovenstaande zou werken, wordt u geadviseerd om de GIT-methode te gebruiken, zodat u kunt profiteren van toekomstige updates.

De exportlocatie

We moeten configureren waar de VM-exports vandaan komen.

Terwijl ik willekeurig rondkeek in Citrix Xen, heb ik ontdekt dat de Storage Repositories (SR's) beschikbaar zijn voor gebruik onder /var/run/sr-mount/%UUID%, waarbij UUID de unieke identificatie van de SR is, die kan worden verkregen van de GUI.

Dit betekent dat we de reguliere wizard Volgende -> Volgende -> Voltooien kunnen gebruiken om de koppeling naar de gewenste back-uplocatie te maken, en vervolgens het script dat pad laten gebruiken (in plaats van knoeien met het koppelen vanaf de opdrachtregel, wat buiten het bereik van deze gids).

Om een ​​nieuwe mount te maken, klikt u met de rechtermuisknop op de servernaam en selecteert u New SR.

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 2

In dit voorbeeld verwijzen we Xen naar een Windows-share, dus kies Windows File Sharing (CIFS):

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 3

Voltooi Volgende -> Volgende -> Voltooien.

Verkrijg de UUID van de SR

Om de UUID van een SR te verkrijgen, klikt u eenvoudig op de naam in het Xen Center en gaat u naar het tabblad Algemeen.

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 4

Om de UUID te kopiëren, klikt u er met de rechtermuisknop op en kiest u kopiëren.

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 5

Met deze informatie bij de hand bent u klaar om het instellingenbestand te bewerken.

Configureer het instellingenbestand

Het Xen-phoenix-project wordt geleverd met een sjabloon voor een instellingenbestand. Deze sjabloon moet worden bewerkt om uw instellingen weer te geven en als eerste argument aan het script worden doorgegeven.

Het instellingenbestand geeft het volgende aan:

  • De locatie van de bronexports – Als u de gids tot nu toe hebt gevolgd, hoeft u alleen de %UUID% te vervangen door de SR's zoals deze van boven zijn verkregen.
  • De locatie van SendEmail - Als u ervoor hebt gekozen om e-mail in te schakelen, moet u hier invoeren waar u het uitvoerbare perl hebt uitgepakt.
  • Verifier — Dit regelt de verificatieprocedure na het herstellen. Dit is standaard ingeschakeld, omdat een succesvol herstel op bestandsniveau niet noodzakelijk een functionele VM betekent.
  • Server_prep — Dit regelt de pre-restore verwijdering van alle VM's op de DR-server. Dit is standaard ingeschakeld omdat wordt aangenomen dat de DR-server voor dit doel een dedicated server is. Als u een virtuele machine nodig hebt die op deze server wordt uitgevoerd om niet te worden verwijderd, configureert u deze om te worden uitgesloten. Als dit gedrag niet geschikt is voor uw situatie, schakelt u het gewoon volledig uit.
  • E-maildetails — Nogmaals, als je e-mail hebt ingeschakeld, moet je details definiëren zoals: Aan, Van, Servernaam/IP & etc’.
  • Debugging – De standaard is dat debugging is uitgeschakeld met de waarde 0″ (nul). U hoeft dit niet in te schakelen, maar als u dat wel doet, vindt u meer informatie in het gedeelte voor probleemoplossing.

Uitvoering

Dit script neemt het instellingenbestand als eerste argument en alle andere argumenten als punthaken om naar te zoeken (gescheiden door spaties). Chevrons zijn tekenreeksen die reguliere expressies ondersteunen die ten minste een deel van de gewenste bestandsnaam van de VM-export vertegenwoordigen.

Dat wil zeggen, in zijn eenvoudigste vorm zou een aanroeping van Xen-phoenix er als volgt uitzien:

|__+_|

In het bovenstaande geval bevinden we ons in de map met het script en het instellingenbestand en de Chevron waarnaar het script zoekt, is DevTools. Hierdoor worden alle bestanden in de exportmap met de tekenreeks DevTools in hun naam geïmporteerd.

Een complexer voorbeeld kan er als volgt uitzien:

|__+_|

Waar in het bovenstaande voorbeeld bestanden die het woord devtools bevatten, gespeld met een hoofdletter D en T of niet-hoofdletters, evenals AD & BI met of zonder hoofdletters, worden geïmporteerd.

Het roosteren

Zoals hierboven vermeld, zullen we Cron gebruiken om de uitvoering te plannen. Voordat we ingaan op de configuratie, is het ten zeerste aanbevolen dat u het reeds geïnstalleerde SSMTP-pakket op uw Xen-server configureert. Hoewel dit een optionele stap is, krijgt u hierdoor een terugspoelcollector. Het hebben van zo'n terugspoelcollector kan u waarschuwen voor dingen die het script niet kan.

Ga naar de bewerkingsmodus van cron door het volgende uit te geven:

|__+_|

Als je de bovenstaande instructies hebt gevolgd en je wilt een geplande back-up voor zondag om 01:31 (1:31 uur) toevoegen, voer dan het onderstaande in:

|__+_|

Het bovenstaande is correct, ervan uitgaande dat uw script en instellingenbestand zich beide onder /root/Xen-phoenix-master/ bevinden.

Verkrijg SendEmail (optioneel)

We hebben in het verleden over het SendEmail perl-programma geschreven, dus het is niet nodig om hier te herhalen. Het volstaat te zeggen dat het op Linux op dezelfde manier werkt als op Windows.

Hoewel het inschakelen van e-mail optioneel is, wordt het ten zeerste aanbevolen omdat het script dan in staat zal zijn om:

  • Informeer u wanneer het begon en eindigde met draaien.
  • Waarschuw u voor eventuele fouten die het kon detecteren en afhandelen.

Download het naar de Xen-server en pak het uit.

|__+_|

Noteer de locatie waar u het hebt uitgepakt. Je hebt het nodig voor het instellingenbestand.

De uitzonderingstag voor verwijderen definiëren (optioneel)

Xen-Phoenix neemt een pagina van zijn voorouder (Xen-Pocalypse) en geeft u de mogelijkheid om een ​​VM granulair uit te sluiten van de systeembrede verwijdering met behulp van een controle-TAG. Om dit te doen, moet u een nieuw aangepast veld definiëren.

Open hiervoor de eigenschappen van de server of zelfs een VM. Selecteer in het navigatiedeelvenster Aangepaste velden.

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 6

Als dit de eerste keer is dat u een aangepast veld definieert (zoals in het bovenstaande voorbeeld), heeft u het veld Phoenix_keeper niet om gegevens in in te voeren, dus u moet het maken. Klik hiervoor op Aangepaste velden bewerken in het dialoogvenster dat verschijnt en klik vervolgens op Toevoegen...

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 7

Maak een teksttypeveld met de naam Phoenix_keeper.

Opmerking: de naam van het aangepaste veld is hard gecodeerd in het script, dus u MOET niet afwijken van de bovenstaande spelling, tenzij u ook de relevante code wijzigt.

Nadat het veld is gemaakt, zou u het volgende moeten zien:

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 8

Doe het raam dicht. U zou nu het veld Phoenix_keeper moeten hebben om in te vullen, zoals in de onderstaande afbeelding.

hoe-te-herstellen-citrixxen-vms-gratis-met-xenphoenix-bash foto 9

Nu hoef je alleen maar dit veld in te vullen met een opmerking (elke opmerking is voldoende), waardoor Xen-phoenix het overslaat bij het verwijderen.

Probleemoplossen

Hoewel ik veel moeite heb gedaan om het script zo gebruiksvriendelijk en onfeilbaar mogelijk te maken, is de wereld een groter laboratorium. De onderstaande informatie kan u helpen te achterhalen wat de oorzaak van uw problemen is.

Loggen

Alle logboekregistratie wordt verzameld door de Xen-host die het script uitvoert in het syslog-mechanisme. Dit is natuurlijk te zien met:

|__+_|

U zoekt het trefwoord Xen-Phoenix.

Opmerking: Citrix heeft een bewaarbeleid van twee (2) dagen ingesteld voor syslog van zijn servers. Misschien wilt u dat in gedachten houden voor autopsie.

foutopsporing

Zoals opgemerkt in het segment van het instellingenbestand, is er een richtlijn om foutopsporing in te schakelen. Het inschakelen van foutopsporing zorgt ervoor dat het script uitgebreide logboekregistratie naar de console uitvoert en het castreert van het verzenden van e-mails en het daadwerkelijk uitvoeren van de imports, tenzij de relevante vlaggen ook zijn ingesteld. De mogelijke vlaggen worden vermeld in de sjabloon van het instellingenbestand en ze stellen u in staat om gedetailleerd te definiëren wat u wilt debuggen.

Ik hoop dat je geen foutopsporing nodig hebt gehad en dat je de vruchten plukt van mijn werk :)


Denk maar aan alle armoede, de haat en de leugens, En stel je de vernietiging voor van alles wat je veracht. Langzaam zal uit de as de feniks verrijzen...

Meer verhalen

Ga op een Geeky 'Machine Building' Spree met Fantastic Contraption

Wat krijg je als je machineonderdelen, een vleugje natuurkunde, obstakels die je moet overwinnen en je fantasie samenvoegt? Fantastisch ding! Met deze game mag je naar hartenlust geeky machines bouwen en op pad sturen. Maar ben je slim genoeg, geeky genoeg, om het meest te bouwen?

Geek Trivia: wat is verantwoordelijk voor een derde van het avondverkeer in Amerika?

Denk je het antwoord te weten? Klik door om te zien of je gelijk hebt!

De pijn van het maken en beheren van wachtwoorden in de huidige online omgeving

Het maken van wachtwoordbeveiligde accounts is tegenwoordig een onderdeel van het werken op internet, maar geen twee sites benaderen het maken van wachtwoorden op dezelfde manier. De ene site biedt je misschien bijna onbeperkte vrijheid in de tekens die je kiest en de lengte van je wachtwoord, maar een andere kan je beperken tot:

Handmatig muziek matchen in Xbox Music op Windows 8

Xbox Music is onlangs geüpdatet, zodat je je muziekcollectie met de cloud kunt synchroniseren en op andere apparaten kunt afspelen. Helaas werkt de autotagging-functie niet altijd zo goed, wat betekent dat je alleen naar een deel van je muziekcollectie kunt luisteren.

Wat is het verschil tussen een fob en een dongle?

Uw kantoorgenoot zegt dat het nieuwe apparaat dat uw bedrijf heeft uitgegeven een fob is, en u zegt dat het een dongle is. Laten we eerst eens kijken voordat we ruzie krijgen voor de waterkoeler.

Geek Trivia: Wat is het meest overvloedige metaal in het menselijk lichaam?

Denk je het antwoord te weten? Klik door om te zien of je gelijk hebt!

Uw items met ster exporteren vanuit Google Reader

Als je reactie op de aangekondigde ondergang van Google Reader was om te schreeuwen But my starred items!, dan is dit de tutorial voor jou. Lees verder, want we laten u meerdere manieren zien om al uw artikelen met ster uit Google Reader te extraheren.

Spring in hoogvliegplezier met 'Fish Out Of Water!'

Ben je klaar om door de lucht te vliegen terwijl je een groep avontuurlijke vissen helpt de wereld boven de golven te verkennen terwijl ze strijden in hun nieuwste game? Pak dan je zwemspullen en bereid je voor op gameplezier op waterbasis met 'Fish Out Of Water'. Of het nu gaat om het overslaan van kalme zeeën, omgaan met

Geek Trivia: wat is het officiële besturingssysteem van Noord-Korea?

Denk je het antwoord te weten? Klik door om te zien of je gelijk hebt!

Afspeellijsten importeren in de moderne (Xbox) muziek-app

Toen de Modern Xbox Music-app met Windows 8 werd geleverd, was er geen manier om je muziek naadloos uit iTunes te importeren. Dit is veranderd in de nieuwste release met de toegevoegde ondersteuning voor afspeellijsten.