Sauvegarder ses machines virtuelles sous vmware ESXi (en licence gratuite)

Un serveur sous vmware ESXi version gratuite, c'est bien, mais côté sauvegarde.. quid?

Du coup.. allez hop, utilisation des outils à dispo, "scribouillage", et voilà un petit outil pour automatiser les sauvegardes et la récupération.

Ce script est loin d'être parfait (ou fini), mais est fonctionnel et il peut servir... 

Le principe:

  • Création de snapshot
  • Sauvegarde du disque de base (puisque toutes les modifs arrivent alors dans le snapshot) en fichier gzip (on gagne de la place comme on peut)
  • Suppression du snapshot (commit) 

Pour la restauration:

  • recuperation des fichiers
  • décompression des disques
  • inscription de la machine

 

Bon, c'est loin d'être parfait (pas de  gestion de concurrence, pas de rotation, pas de vérification avant restauration, la destination doit être une banque de donnée de l'ESXi...), mais c'est fonctionnel, c'est possible d'étendre le script ou de le combiner.. Bref.. 

 

Pour la mise en place, uploader le script (ci joint) sur l'ESXi (avec scp par exemple) et lui donner les droits d'exec (chmod u+x BackupEsxi.ash). Configurer ensuite les quelques variables en entête du script (la destination des backups et l'emplacement de restauration). Attention, a s'assurer que les destination existent ! (par défaut les Backups s'effectuent dans 

A partir de là, on peut le lancer.

Les options:

  • BackupUnique => Réaliser le backup d'une vm (indiquer l'id de la vm après affichage de la liste)
  • FullBackup => Backup de l'intégralité des vm (pour backup auto par exemple)
  • RestaureUnique => Restaurer une vm (indiquer le nom après affichage de la liste des sauvegardes)

 

Pour automatiser:

Ajouter une entrée dans le fichier /var/spool/cron/crontabs/root (par exemple le dimanche à 23h01)

01 23 * * 07 /BackupESXi.ash FullBackup

Terminer cron (ps |grep crond puis kill..) et le relancer (crond)

Ajouter une ligne dans le fichier /etc/rc.local pour replacer la ligne dans la crontab (effacée à chaque démarrage sur ESXi, au moins dans sa version gratuite)

echo "01 23 * * 07 /BackupESXi.ash FullBackup" >> /var/spool/cron/crontabs/root

Fichier attachéTaille
BackupESXi.ash4.15 Ko
Powered by Drupal, an open source content management system
titrepage = document.title */ ?>