Sauvegarder des machines virtuelles ESXi: 6ème (et dernière!) partie

Sauvegarder des machines virtuelles ESXi: 6ème (et dernière!) partie 1

Ce dernier article présente deux scripts de sauvegarde, librement disponible sur Internet et fonctionnant avec ESXI. Le premier utilise l’API Perl fournie par VMware, le second exploite les outils disponibles depuis l’interface SSH. Le second script est accompagné d’un script BATCH d’automatisation de la sauvegarde.

Script PERL

Créer un fichier « ESXi-Backup.pl » dans “C:Program FilesVMwareVMware VI Remote CLI”. Basé sur le script qui est disponible sur  http://communities.vmware.com/thread/164134.

Le tableau $VMNames[] contient des noms de dossiers. Lorsqu’une machine est crée avec l’assistant, le nom de la VM est identique au nom du dossier de stockage. Si la VM a été personnalisée, ce n’est pas  forcément le cas !

Si la VM est active, le script demande la création d’un SnapShot « BackupSnap» pour les VMs portant le nom $VMNames[]. Ainsi, la VM peux continuer à tourner pendant la sauvegarde. L’état de la sauvegarde sera celui de la VM au moment du SnapShot.

Le script parcours la liste des datastore de l’ESXi pour trouver des dossiers au noms de $VMNames[].

Pour chaque datastore, pour chaque dossier, le copie la VM vers le datastore de stockage.

Cette archive est ensuite copiée vers le serveur Rsync.

L’archive est alors supprimée – aucun contrôle n’est fait sur le bon déroulement du transfert vers le serveur Rsync.

L’état de la VM est consolidé avec le SnapShot.

La variable $RCLIPath doit contenir le chemin court vers “Remote CLI “. Pour obtenir le chemin court, taper « dir /x »

Script BASH

Basé sur le script ghettoVCB.sh qui est disponible sur  http://communities.vmware.com/docs/DOC-8760)

Dans un même répertoire:

  • Editer “ghetto.vcb” pour y inscrire le datastore de destination de sauvegardes.
  • Créer une archive “archive.tgz” contenant “ghetto.vcb”.
  • Créer un fichier “list.lst” contenant le nom des VMs à sauvegarder.
  • Copier les utilitaires plink, pscp,  mpack, bmail
  • Créer un fichier “go.bat” contenant le code suivant:
[shell]del /s debug.log
del /s body.msg
del /s body.txt
date /T >> body.txt
time /T >> body.txt
echo "Copy file to esxi" >> body.txt
pscp -pw password list.lst root@192.168.1.60:"/tmp/liste.lst"  >> debug.log
pscp -pw password  archive.tgz root@ 192.168.1.60:"/tmp/archive.tgz" >> debug.log
plink -v -pw password  root@ 192.168.1.60 tar zxv -f /tmp/archive.tgz -C /tmp  >> debug.log
plink -v -pw password  root@ 192.168.1.60 chmod +x /tmp/ghettoVCB.sh  >> debug.log
echo "———————–" >> body.txt
date /T >> body.txt
time /T >> body.txt
echo "run backup script" >> body.txt
plink -v -pw password  root@ 192.168.1.60"sh ./tmp/ghettoVCB.sh /tmp/liste.lst" >> debug.log
echo "———————–" >> body.txt
date /T >> body.txt
time /T >> body.txt
echo "send notification and log by email" >> body.txt
mpack -s "Sauvegarde de Esxi 192.168.1.60 terminee!" -d body.txt -o body.msg debug.log
bmail -d -h -s smtp.monserver.fr -t aaaxxx.fr -f yyyy@zzz.fr -m body.msg
echo "———————–" >> body.txt
date /T >> body.txt
time /T >> body.txt[/shell]

lancer la sauvegarde en double-cliquant “go.bat” ou programmer un tâche windows pour en automatiser le lancement

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

J'ai tout cassé mon Xpenology 2

J’ai tout cassé mon Xpenology

Cette semaine, je me suis offert un disque SSD, un Intel 530 de 240 Go, suite à la vente d'un vrai Synology CS-407. L'objectif étant de m'en servir pour héberger mes VM du HP N54L. Tout content, je m'empresse de déplacer mes quelques VM, Ubuntu, Debian, Zeroshell, Pfsense, Win 7 et enfin Xpenology... Et là c'est le drame !!!

Utiliser un disque en Raw Device Mapping (RDM) pour Xpenology 3

Utiliser un disque en Raw Device Mapping (RDM) pour Xpenology

Suite à mon dernier article sur l'installation des VmWare tools sur la VM Xpenology, un lecteur m'a rapporté en commentaire quelques soucis pour intégrer un disque en RDM. Comme je ne m'étais pas fait de doc, c'est l'occasion de me rappeler la procédure.

9 commentaires

  1. Bonjour,

    Merci pour votre site. Je commence dans la virtualisation, j’ai plusieurs problèmes lors de la création de la sauvegarde.

    Je ne trouve pas sur le net le soft mpack. Lorsque je lance le script, j’ai une erreur sur certaines VM et lorsque la sauvegarde se fait le script se bloque.

    Merci

  2. Merci pour le blog, cela m’a beaucoup aidé.
    Par contre, je ne voyais pas l’utilité de transférer un fichier compressé à l’esxi (pour les 3 fichiers textes qu’il contenait…), après pas mal de temps et de recherche d’erreurs, j’ai découvert que PSCP modifiait les fichiers textes qu’il transférait (ajout de ^M à chaque ligne) ce qui faisait planté mon script de backup qui se basait sur une liste de VM.
    Dommage que vous n’ayez pas précisé ce point dans votre doc….
    Merci @+

  3. Bonjour, Merci déjà de vous intérêsser à se message.Je voulais savoir un script.bat qui permet de sauvegarder l’etat de serveur “active directory” , proxy isa et serveur de fichier deplus faire backup vers un serveur supplémentaire. Merci d’avant pour vos réponses.

  4. Je viens de découvrir ce blog. Bravo.

    Pour info je viens de découvrir aussi un site avec un soft qui apparement travaille avec du web GUI pour faire des backups des VMs http://www.clarkconnect.com/docs/Modules_-_LAN_Backup/Recovery

    “Clarkconnect is dead easy to install and run as everything is done via the web GUI”

    Pas testé par moi même, mais cela ne va pas tarder…

    Vladan 8)

    Tiens, mon Gravatar ne marche pas ici…

  5. merci beaucoup pour ces précisions.
    De même, je développerai mon approche.
    De mon expérience, ESXi est extremement resistant – Au pire, à ce jour, je n’ai perdu que les pools et les switches.

  6. Mon installation de ESXi date d’une semaine seulement.
    J’ai effectivement modifier quelques paramètres et je penche perso pour une solution Ghost (qu’il faut que je teste)

    Je boot sur un Cd Winpe et sauvegarde de la partition qui boot ESXi
    Ensuite ce .GHO, gravé sur un Cd bootable, permettrais de remettre la machine en production rapidement.

    C’est l’idée de base car je ne me suis pas encore penché sur les répertoires ESXi de l’hôte.

    Je vous ferais signe si j’ai progressé

  7. Votre remarque est tout à fait pertinente.
    C’est un point sur lequel j’ai effectivement prévu de me pencher.
    Si vous avez des suggestions pour me guider, je suis à votre écoute.

  8. Bonjour,

    Je viens de parcourir les 6 articles correspondant à la sauvegarde de VMware.
    Ok pour tout ce qui est dit mais à aucun moment vous ne parlez de comment sauvegarder l’hote VMware.

    Il peut très bien arriver que la machine de base tombe aussi et a ce moment la comment la remettre en prod rapidement.

    J’entends pas la le reparamétrage de cartes réseau en teaming, des comptes utilisateurs accédant à telle ou telle machine virtuelle, des groupes, ….

    Dans l’attente d’un article a ce sujet 🙂

    En tout cas merci déjà pour cette série d’articles et bon courage pour les suivants