Comment restaurer gratuitement des ordinateurs virtuels Citrix-Xen avec Xen-Phoenix (Bash)
Avez-vous déjà eu besoin de restaurer en bloc vos machines virtuelles Citrix-Xen pour une solution de reprise après sinistre (DR), ou simplement de tester le fonctionnement de vos sauvegardes? HTG explique comment utiliser Xen-Phoenix, un script bash gratuit, pour la restauration de machines virtuelles..
Crédit photo: Ryan McCurdy via Compfight cc
Comme nous l’avons mentionné dans «Comment sauvegarder gratuitement les VM Citrix Xen avec Xen-pocalypse», l’un des avantages de Citrix Xen est que nombre de ses fonctionnalités sont: libre frais. Cela dit, si vous souhaitez utiliser la fonction «Protection et restauration automatisées des ordinateurs virtuels», vous devez commencer à payer pour la licence «Advance». Encore une fois, HTG ne rejette pas la valeur d’une véritable solution de sauvegarde, mais si votre budget est serré, vous avez déjà extrait les images de machine virtuelle de l’hyperviseur et vous avez besoin d’un moyen d’automatiser votre test restauration »/« DR refresh », vous constaterez peut-être que Xen-Phoenix est une solution parfaitement raisonnable avant de prendre l'engagement budgétaire.
Vue d'ensemble
Le «cas d'utilisation»: vous avez plusieurs machines virtuelles nécessitant une restauration. L'importation dans «Xen Center» à l'aide de clics droits fonctionne bien, mais vous souhaitez que ce processus se déroule automatiquement et selon un planning. Ce script Bash utilise la commande “XE” pour effectuer ses tâches. XE est l'interface de ligne de commande (CLI) Xen, l'é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 le suivant:
- Effacer tous * les ordinateurs virtuels existants sur le serveur
- Importer des ordinateurs virtuels à partir de fichiers de l'emplacement de sauvegarde.
- Vérifiez que tous les ordinateurs virtuels sont opérationnels en les activant un par un et en recherchant les pulsations des outils invités..
- Éteignez les ordinateurs virtuels lorsqu'une pulsation a été découverte ou qu'un délai d'attente a été atteint.
* Le comportement supprimer tous les ordinateurs virtuels peut être complètement désactivé et prend en charge les exceptions (voir ci-dessous)..
Permet de craquer :)
Obtenir le script
Xen-phoenix peut être obtenu librement de github, en utilisant les méthodes habituelles de git. Cela dit, si vous n'êtes pas encore familiarisé 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 à cet emplacement afin que les autorisations d'exécution soient préservé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 de pouvoir bénéficier des mises à jour futures..
Le lieu d'exportation
Nous devons configurer où prendre les exportations de VM.
En cherchant de manière aléatoire dans Citrix Xen, j’ai constaté que les référentiels de stockage (SR) étaient disponibles sous «/ var / run / sr-mount /% UUID%», où UUID était l’identifiant unique du SR, qui peut être obtenu à partir de l'interface graphique.
Cela signifie que nous pouvons utiliser l'assistant habituel «Suivant -> Suivant -> Terminer» pour créer le «montage» sur l'emplacement de sauvegarde souhaité, puis demander au script d'utiliser ce chemin (comme indiqué pour gâcher le montage à partir de la ligne de commande). au-delà de la portée de ce guide).
Pour créer un nouveau “montage”, cliquez avec le bouton droit sur le nom du serveur et sélectionnez Nouveau SR..
Dans cet exemple, nous allons pointer Xen vers un partage Windows, choisissez donc «Partage de fichiers Windows (CIFS)»:
Terminez le suivant -> Suivant -> Terminer.
Obtenir l'UUID du SR
Pour obtenir un UUID de SR, il suffit de cliquer sur son nom dans le Xen Center et de cliquer sur l'onglet "Général"..
Pour copier l’UUID, il suffit de cliquer dessus avec le bouton droit de la souris et de choisir «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 fourni avec un modèle de fichier «paramètres». Ce modèle doit être modifié pour refléter votre configuration et transmis comme premier argument au script..
Le fichier de paramètres désigne les éléments suivants:
- L'emplacement des exportations source - Si vous avez suivi le guide jusqu'à ce point, il vous suffit de remplacer le% UUID% par les SR tels qu'ils ont été obtenus ci-dessus..
- L'emplacement de SendEmail - Si vous avez choisi d'activer Email, vous devez entrer où vous avez extrait l'exécutable Perl ici..
- Vérificateur - Ceci contrôle la procédure de vérification après restauration. Cette option est activée par défaut, car une «restauration de niveau fichier» réussie ne signifie pas nécessairement qu'une machine virtuelle est fonctionnelle..
- Server_prep - Ceci contrôle la pré-restauration effacement de tous les ordinateurs virtuels sur le serveur de récupération d'urgence. Cette option est activée par défaut car il est supposé que le serveur DR est un serveur dédié à cet effet. Si vous avez besoin qu'une machine virtuelle en cours d'exécution sur ce serveur ne soit pas supprimée, configurez-la pour qu'elle soit exclue. Si ce comportement ne convient pas à votre situation, désactivez-le simplement complètement.
- Email details - Encore une fois, si vous avez activé le courrier électronique, vous devez définir des détails tels que: À, De, Nom du serveur / IP, etc..
- Débogage - Par défaut, le débogage est désactivé avec la valeur "0" (zéro). Vous ne devriez pas avoir besoin de l'activer, mais si vous le faites, des informations supplémentaires sont indiquées dans le segment de dépannage..
Exécution
Ce script prend le fichier de paramètres comme premier argument et les autres arguments comme des «chevrons» à rechercher (séparés par des espaces). Les chevrons, sont des «chaînes», qui supportent les expressions rationnelles représentant au moins une partie du nom de fichier souhaité pour l'exportation de la VM..
C'est, dans sa forme la plus simple, une invocation de Xen-phoenix ressemblerait à ceci:
./Xen-phoenix.sh settings.cfg Outils de développement
Où dans le cas ci-dessus, nous sommes dans le répertoire qui contient le script et le fichier de paramètres et le "Chevron" que le script va rechercher est "DevTools". Tous les fichiers du répertoire des exportations portant la chaîne «DevTools» dans leur nom seront importés..
Un exemple plus complexe peut ressembler à:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools
Où dans l'exemple ci-dessus, les fichiers contenant le mot «devtools» orthographié par des lettres majuscules «D» et «T» ou non majuscules, ainsi que «AD» et «BI», seront importés.
Calendrier
Comme indiqué ci-dessus, nous utiliserons Cron pour planifier l'exécution. Avant d’entrer dans la configuration, c’est hautement recommandé que vous configuriez le package SSMTP déjà installé sur votre serveur Xen. Bien qu’il s’agisse d’une étape facultative, vous obtiendrez un collecteur «backwash». Avoir un tel "collecteur de lavage" peut vous alerter sur des choses que le script n'est pas capable de faire..
Entrez en mode d'édition de cron en émettant:
crontab -e
Si vous avez suivi les instructions ci-dessus et que vous souhaitez ajouter une sauvegarde planifiée pour dimanche à 01h31 (01h31), saisissez les éléments ci-dessous:
31 01 * * sun /root/Xen-phoenix-master/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 supposant que votre script et votre fichier de paramètres se trouvent tous les deux sous «/ root / Xen-phoenix-master /»..
Obtenir SendEmail (facultatif)
Nous avons déjà écrit sur le programme perl SendEmail, il est donc inutile de répéter ici. Disons simplement que cela fonctionne de la même manière sous Linux que sous Windows.
Bien que l’activation de la messagerie électronique soit facultative, il est vivement recommandé, car le script pourra alors:
- Vous informer quand il a commencé et fini de courir.
- Vous avertir des erreurs qu'il a pu détecter et traiter.
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 prend une page de son ancêtre (Xen-Pocalypse) et vous donne la possibilité d’exclure de manière granulaire une machine virtuelle 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 machine virtuelle. 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 ne disposerez pas du champ «Phoenix_keeper» dans lequel entrer des données. Vous devez donc les créer. Pour ce faire, cliquez sur «Modifier les champs personnalisés» dans la boîte de dialogue qui s’affiche, puis cliquez sur «Ajouter…».
Créez un champ de type “Texte” avec le nom “Phoenix_keeper”.
Remarque: Le nom du champ personnalisé a été «codé en dur» dans le script, vous ne devez donc PAS vous écarter de l'orthographe ci-dessus, à moins que vous ne changiez également 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 renseigner ce champ avec une remarque (toute remarque fera l'affaire), ce qui fera que Xen-phoenix l'ignorera lors de la suppression..
Dépannage
Bien que j'ai déployé 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
Tous les «enregistrements» sont collectés par l'hôte Xen exécutant le script dans le mécanisme syslog. Ceci, bien sûr, peut être vu avec:
less + 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 voudrez peut-être garder cela à l'esprit pour l'après-mort.
Débogage
Comme indiqué dans le segment de fichier de paramètres, une directive permet d'activer le débogage. Si vous activez le débogage, le script produira une journalisation détaillée sur la console et l'empêchera d'envoyer des courriers électroniques et d'effectuer les importations, à moins que les indicateurs correspondants ne soient également définis. Les indicateurs possibles sont notés dans le modèle de fichier de paramètres et vous permettent de définir avec précision ce que vous souhaitez déboguer..
J'espère que vous n'avez besoin d'aucun débogage et que vous récoltez les fruits de mon travail :)
Pensez à toute la pauvreté, à la haine et aux mensonges, et imaginez la destruction de tout ce que vous méprisez. Lentement de ses cendres, le phénix va surgir…