13Jul

Comment restaurer des machines virtuelles Citrix-Xen gratuitement avec Xen-Phoenix( Bash)

click fraud protection

Avez-vous déjà eu besoin de restaurer en bloc vos machines virtuelles Citrix-Xen pour une solution de reprise après sinistre, ou simplement pour tester le fonctionnement de vos sauvegardes? HTG explique comment utiliser Xen-Phoenix, un script bash gratuit, pour la restauration de machine virtuelle.

Crédit photo: Ryan McCurdy via Compfight cc

Comme nous l'avons mentionné dans "Comment faire pour sauvegarder gratuitement les VMs Citrix Xen avec Xen-pocalypse", l'une des bonnes choses dans Citrix Xen est que beaucoup de ses fonctionnalités sont libre decharge. Cela dit, si vous voulez la fonctionnalité "Automated VM protection and recovery", vous devrez commencer à payer pour la licence "Advance".Encore une fois, nous ne rejetons pas la valeur d'une vraie solution de sauvegarde chez HTG, mais si vous avez un budget serré, vous avez déjà récupéré les images VM de l'hyperviseur et vous avez besoin d'un moyen d'automatiser votre "«Restaurez les procédures», vous pourriez trouver que Xen-Phoenix est une solution parfaitement raisonnable avant de prendre l'engagement budgétaire.

instagram viewer

Présentation

Le "cas d'utilisation": vous avez quelques machines virtuelles qui nécessitent une restauration. L'importation dans "Xen Center" en utilisant les clics droits fonctionne bien, mais vous voulez que ce processus se déroule automatiquement et selon un calendrier. Ce script Bash utilise la commande "XE" pour accomplir ses tâches. XE est l'interface de ligne de commande Xen( CLI), équivalent automatique pour l'émission des "clics droits" dans le "Centre Xen".Nous allons appeler le script de Cron qui fournira la partie "planification".Dans sa forme la plus simple, le flux de restauration est:

  • Supprimer toutes les machines virtuelles existantes sur le serveur
  • Importer des machines virtuelles à partir de fichiers dans l'emplacement de sauvegarde.
  • Vérifiez que toutes les machines virtuelles sont opérationnelles en les activant une par une et en recherchant les pulsations des outils invités.
  • Désactive les VM lorsqu'un battement de cœur a été détecté ou qu'un délai d'attente a été atteint.

* Le comportement de suppression de toutes les machines virtuelles peut être complètement désactivé et prend en charge les exceptions( voir ci-dessous).

Permet de se fissurer:)

Obtenir le script

Xen-phoenix peut être obtenu librement à partir de github, en utilisant les méthodes git régulières. Cela dit, si vous n'êtes pas encore familier avec git, vous pouvez récupérer le fichier zip avec ce lien. Comme le script doit être exécuté sur l'un de vos serveurs Xen, vous devez l'extraire afin que les autorisations d'exécution soient conservées.

wget https: //github.com/aviadra/ Xen-phoenix /archive/ master.zip
décompresser le maître

Bien que ce qui précède fonctionne, il est conseillé d'utiliser la méthode GIT afin que vous puissiez bénéficier des futures mises à jour.

L'emplacement des exportations

Nous devons configurer l'endroit où prendre les exportations de VM.

Tout en fouinant au hasard dans Citrix Xen, j'ai trouvé que les référentiels de stockage( SR) sont disponibles sous "/var/run/ sr-mount /% UUID%" où UUID est l'identifiant unique du SR, qui peut être obtenu à partir duGUI.

Cela signifie que nous pouvons utiliser le "Next - & gt;Suivant - & gt;Terminez "wizard pour créer le" mount "à l'emplacement de sauvegarde désiré, puis demandez au script d'utiliser ce chemin( comme indiqué pour déconnecter avec le montage de la ligne de commande qui dépasse la portée de ce guide).

Pour créer un nouveau "montage", faites un clic droit sur le nom du serveur et sélectionnez Nouveau SR.

Dans cet exemple, nous allons pointer Xen vers un partage Windows, alors choisissez "Partage de fichiers Windows( CIFS)":

Complétez le Suivant - & gt;Suivant - & gt;Terminer.

Obtenir l'UUID du SR

Pour obtenir l'UUID d'un SR, il suffit de cliquer sur son nom dans le Xen Center et d'aller dans l'onglet "Général".

Pour copier l'UUID, faites un clic droit dessus et choisissez "copier".

Avec ces informations à portée de main, vous êtes prêt à modifier le fichier de paramètres.

Configurer le fichier de paramètres

Le projet Xen-phoenix est livré avec un modèle de fichier "settings".Ce modèle doit être modifié pour refléter votre configuration et passé comme premier argument du script.

Le fichier de paramètres désigne les éléments suivants:

  • L'emplacement des exportations sources - Si vous avez suivi le guide jusqu'à ce point, il vous suffit de remplacer le% UUID% par le SR tel qu'il a été obtenu par le haut.
  • Emplacement de SendEmail - Si vous avez choisi d'activer le courrier électronique, vous devez indiquer où vous avez extrait l'exécutable perl ici.
  • Verifier: contrôle la procédure de vérification après restauration. Ceci est activé par défaut, car une «restauration de niveau fichier» réussie ne signifie pas nécessairement une machine virtuelle fonctionnelle.
  • Server_prep: contrôle la suppression de la pré-restauration de toutes les machines virtuelles sur le serveur DR.Ceci est activé par défaut car il est supposé que le serveur DR est un serveur dédié à cette fin. Si vous souhaitez qu'une machine virtuelle qui s'exécute sur ce serveur ne soit pas supprimée, configurez-la pour qu'elle soit exclue. Si ce comportement n'est pas adapté à votre situation, désactivez-le complètement.
  • Email details - Encore une fois, si vous avez activé le courrier électronique, vous devez définir des détails tels que: To, From, Servername / IP &etc'.
  • Débogage - Le débogage est désactivé par défaut avec la valeur "0"( zéro).Vous ne devriez pas avoir besoin de l'activer, mais si vous le faites, plus d'informations sont notées dans le segment de dépannage.

Exécution

Ce script prend le fichier de paramètres comme premier argument et tous les autres arguments comme "Chevrons" à rechercher( séparés par des espaces).Les Chevrons sont des "chaînes", qui supportent des expressions régulières qui représentent au moins une partie du nom de fichier désiré de l'exportation VM.

C'est, dans sa forme la plus simple, une invocation de Xen-phoenix ressemblerait à:

. /Xen-phoenix.sh settings.cfg DevTools

Où dans le cas ci-dessus, nous sommes dans le répertoire qui contient le script &le fichier de paramètres et le "Chevron" que le script cherchera est "DevTools".Cela entraînera l'importation de tous les fichiers du répertoire exports avec la chaîne "DevTools" dans leur nom.

Un exemple plus complexe peut ressembler à:

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

Où dans l'exemple ci-dessus, les fichiers qui contiennentle mot "devtools" épelé avec un capital "D" et "T" ou non-capital, ainsi que "AD" &"BI" avec ou sans majuscule, sera importé.

Programmation

Comme indiqué ci-dessus, nous allons utiliser Cron pour planifier l'exécution. Avant d'entrer dans la configuration, est fortement recommandé que vous configurez le paquet SSMTP déjà installé sur votre serveur Xen. Bien que ce soit une étape facultative, cela vous donnera un collecteur de "rinçage".Avoir un tel "collecteur de lavage à contre-courant" peut vous alerter sur des choses que le script n'est pas capable de faire.

Entrez dans le mode d'édition de cron en lançant:

crontab -e

Si vous avez suivi les instructions ci-dessus et que vous voulez ajouter une sauvegarde planifiée pour dimanche à 01:31( 1:31 AM), saisissez ci-dessous:

31 01 * *sun /root/ Xen-phoenix-maître / Xen-phoenix.sh /root/ Xen-phoenix-master / settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt] ools

Ce qui précède est correct en supposantvotre script et votre fichier de paramètres sont tous les deux sous "/root/ Xen-phoenix-master /".

Obtenir SendEmail( facultatif)

Nous avons déjà parlé du programme Perl SendEmail, il n'est donc pas nécessaire de le répéter ici. Il suffit de dire que cela fonctionne de la même manière sous Linux que sous Windows.

Bien que l'activation du courrier électronique soit facultative, il est fortement recommandé car le script sera alors capable de:

  • Vous informer quand il a démarré &fini de courir.
  • Vous alerter des erreurs qu'il a pu détecter et gérer.

Téléchargez-le sur le serveur Xen et extrayez-le.

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

Notez l'emplacement où vous l'avez extrait. Vous en aurez besoin pour le fichier de paramètres.

Définition de la balise "Delete Exception"( facultatif)

Xen-Phoenix extrait une page de son ancêtre( Xen-Pocalypse) et vous permet d'exclure de manière granulaire une VM de la suppression à l'échelle du système à l'aide d'un TAG de contrôle. Pour ce faire, vous devez définir un nouveau "champ personnalisé".

Pour ce faire, ouvrez les propriétés du serveur ou même d'une VM.Dans le volet de navigation, sélectionnez "Champs personnalisés".

Si c'est la première fois que vous définissez un "champ personnalisé"( comme dans l'exemple ci-dessus), vous n'aurez pas le champ "Phoenix_keeper" dans lequel entrer les données, vous devez donc le créer. Pour ce faire, cliquez sur "Modifier les champs personnalisés" dans la boîte de dialogue qui apparaît, puis cliquez sur "Ajouter. .."

Créez un champ de type "Texte" avec le nom "Phoenix_keeper".

Note: Le nom du champ personnalisé a été "codé en dur" dans le script, donc vous NE DEVEZ PAS dévier de l'orthographe ci-dessus, à moins que vous ne changiez le code approprié.

Une fois le champ créé, vous devriez voir:

Ferme la fenêtre. Vous devriez maintenant avoir le champ "Phoenix_keeper" à remplir, comme dans l'image ci-dessous.

Maintenant, tout ce que vous avez à faire est de remplir ce champ avec une remarque( n'importe quelle remarque fera l'affaire), ce qui provoquera Xen-Phoenix à l'ignorer lors de la suppression.

Dépannage

Tandis que j'ai fait beaucoup d'efforts pour rendre le script aussi facile à utiliser et aussi infaillible que possible, "le monde est un laboratoire plus grand".Les informations ci-dessous peuvent vous aider à déterminer quelle est la source de vos problèmes.

Enregistrement

Toutes les "consignation" sont collectées par l'hôte Xen exécutant le script dans le mécanisme syslog. Ceci, bien sûr, peut être visualisé avec:

moins + F /var/log/ messages

Vous recherchez le mot clé "Xen-Phoenix".

Remarque: Citrix a défini une stratégie de rétention de deux( 2) jours pour syslog de ses serveurs. Vous pouvez garder cela à l'esprit pour les post-mortem.

Débogage

Comme indiqué dans le segment de fichier de paramètres, il existe une directive pour activer le débogage. Si vous activez le débogage, le script génère une journalisation détaillée sur la console et castre l'envoi d'e-mails et l'exécution des importations, sauf si les indicateurs correspondants sont également définis. Les indicateurs possibles sont notés dans le modèle de fichier de paramètres et ils vous permettent de définir de manière granulaire ce que vous voulez déboguer.

J'espère que vous n'avez pas besoin de déboguer et que vous récoltez les fruits de mon travail:)

Pensez à toute la pauvreté, la haine et les mensonges, Et imaginez la destruction de tout ce que vous méprisez. Lentement des cendres, le phénix surgira. ..