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.