Sauvegarder des machines virtuelles ESXi: 2ème partie

Sauvegarder des machines virtuelles ESXi: 2ème partie 1

Parce que les images de disques virtuels sont très volumineuses et par conséquent longues à sauvegarder, ce second article d’une série de six articles explore la possibilité d’optimiser le processus de recopie des machines virtuelles en utilisant RSYNC.

Copie vers un serveur RSYNC

Comme le contenu d’un disque évolue assez peu entre deux sauvegardes, il peux être avantageux d’utiliser RSYNC pour réaliser les sauvegarde. RSYNC est un logiciel (et un protocole) pour copier des fichiers rapidement d’une source vers une destination (localement, ou à travers le réseau). Un des précieux avantages de RSYNC est qu’il ne recopie pas tous les fichiers ; seuls les fichiers modifiés sont sauvegardés. Si un très gros fichier est partiellement modifié, seules les portions modifiées du fichier sont sauvegardées. Les données transitant entre le client et le serveur RSYNC sont compressée à la volée. La quantité de données transférées est donc extrêmement réduite après le premier transfert.

Sauvegarder des machines virtuelles ESXi: 2ème partie 2

Installer RSYNC

L’outil RSYNC n’est pas disponible sous ESXi. Il faut donc l’y installer. Comme RSYNC requière un certain nombre de librairies logicielles non disponibles sous ESXi, il convient d’utiliser une version « statically linked »

http://wiki.contribs.org/Backup_of_ESXi_Virtual_Machines_using_Affa#How_to_make_a_statically_linked_Rsync_Binary

Télécharger la version affa

Télécharger l’archive .rpm de Affa2 depuis l’URL http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/Affa2

smeserver-affa-2.0.0-beta*.noarch.rpm

Le compresser avec le logiciel 7zip (http://www.7-zip.org/).

Transférer le programme RSYNC sur Esxi

Renommer le fichier « rsync-static » en « rsync ».

Le copier vers Esxi dans le dossier « /bin » (en utilisant WinSCP).

Rendre RSYNC exécutable

Se connecter à Esxi en mode console (avec Putty).

Lancer la commande suivante :

chmod+x /bin/rsync

Lancer une copie avec RSYNC en ligne de commande

La commande Linux pour copier le disque virtuel « xp.vmdk » du dossier « xp » sur « datastore1 » vers le serveur RSYNC 192.168.1.154 est :

rsync –verbose –stats –avc /vmfs/volumes/datastore1/xp/xp.vmdk 192.168.1.154 ::Backup

où:

  • “192.168.1.154” est l’adresse IP d’un serveur RSYNC
  • “Backup” est le nom de l’espace de stockage sur le serveur RSYNC

Pour configurer un serveur RSYNC, lire le document suivant https://www.synergeek.fr/2009/04/deltacopy-clientserver/

Automatisation des tâches en mode console via SHH

Télécharger plink (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) qui permet d’envoyer une commande à ESXi via SHH. Par exemple, la commande ci-dessous va copier le disque virtuel « xp.vmdk » du dossier « xp » sur « datastore1 » vers le serveur RSYNC 192.168.1.154:

plink -v -pw password root@192.168.1.60 rsync –verbose –stats –avc /vmfs/volumes/datastore1/xp/xp.vmdk 192.168.1.154 ::Backup

où:

  • root = Login de l’utilisateur ESXi
  • password= Mot de passé de l’utilisateur ESXi
  • « 192.168.1.60 » est l’IP du serveur ESXi
  • “192.168.1.154” est l’adresse IP d’un serveur RSYNC
  • “Backup” est le nom de l’espace de stockage sur le serveur RSYNC

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 3

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 4

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.

16 commentaires

  1. Bjr,

    Est-il possible de compresser les fichiers a transférées via rsync ?? Autrement est ce que rsync permet la compression lors du transfert des données ?

    merci,

  2. Bonjour,

    Je débute sur esxi et je voulais savoir si la sauvegarde avec rsync se faisait à chaud (machine virtuelle allumé) ou à froid?

    De plus mon environnement étant sous esxi v5 avec vous plus d’infos sur la compatibilité de rsync avec cette version.

    Cordialement,

  3. Nous n’avons pas testé cette technique sur la dernière version v5.
    Mais pour avoir été en mode console dans cette version, j’ai la forte impression qu’on peut de moins en moins “bidouiller” avec les commandes.
    Je pense que c’est une volonté de VMware pour que l’on mette le moins possible les “mains dans le cambouis”.

    Olivier , une idée ?

  4. Bonjour, déjà, merci pour vos tutos sur ESXi qui me font avancer dans ce “nouveau” monde de la virtualisation.

    Mais Je n’arrive pas à utiliser Rsync à partir de mes ESXi v5 :

    rsync -verbose -stats -avc /vmfs/volumes/../machine.vmdk 192.x.x.x::SavesESXi
    opening connection using: rbose 61.131.1.41 rsync –server –daemon .
    rsync: Failed to exec rbose: No such file or directory (2)
    rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.4]
    protected args:

    Je suis obligé de faire ctrl-c pour terminer la commande
    rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(541) [sender=3.0.4]
    Et je retrouve mon curseur

    PS : sous Windows avec DeltaCopy, tout fonctionne… avec le même serveur Rsync ?
    Cordialement,

  5. Bonjour,
    Tout d’abord, merci car ton tuto semble très intéressant.

    Je souhaite expérimenter affa et, je voudrais savoir comment faire pour installer le script /usr/lib/affa/jobconfig-esxi-sample.pl, sur le serveur ESXi ?

    Merci d’avance.

  6. olivier olejniczak

    non,
    il faut décompresser à nouveau jusqu’à obtenir une arborescence classique linux.
    Le fichiers est maintenant dans “affa-esxi-setup-02”, dossier “bexi”

  7. bonjour,
    tout d’abord merci pour votre tuto clair et bien fait. en fait je suis un “newbie” en matière de machines virtuelle, et j’essai de suivre votre tuto. En allant sur le lien pour télécharger le rsync, j’ai trouvé cette version: smeserver-affa-2.0.0-rc4.noarch.rpm
    en la décompressant avec 7zip, j’ai ce fichier:
    smeserver-affa-2.0.0-rc4.noarch.cpio
    c’est ce fichier qu’il faut renommer? qu’est ce que je dois faire? Merci!

  8. .. c’est sur.
    J’ai testé cette option pour répliquer un vmdk sur un nas. Avec ou sans l’effet est le même, il remplit le fichier sparse de zéro et du coup le fichier devient très volumineux donc trop long à sauvegarder. Pour faire une copie je me contenterai de vmkfstools et d’un DAS.

  9. non, il s’agit seulement de réduire l’espace consommé par la sauvegarde. Cette option a un impact sur les performances de la VM si on devait la relancer mais si on a arrive de devoir relancer un backup, c’est que l’on a d’autres soucis que les perfs 😉

  10. Bonjour
    Merci pour cette documentation précieuse.
    J’ai une question à propos de rsync. L’option –sparse a-t-elle une utilité lors de la copie d’un vmdk (pour un disque en mode thin) ?
    Salutations
    N.

  11. Bon bein désolé mais la apparemment il y a vraiment un gros bug au niveau des – si vous faites attention dans mon premier commentaire le premier moins était tout petit et dans mon édit quand je me suis rendu compte de l’erreur les moins que j’ai ecris son devenu plus gros.
    Bref tout ça pour dire qu’il faut faire attention quand on copie bêtement des commandes quand elle viennent de blog utilisant wordpress, surtout au niveau des tirets.

  12. Je tient a partager mon expérience, et indiquer que la commande exacte de rsync est:

    rsync –verbose –stats -avc /vmfs/volumes/datastore1/xp/xp.vmdk 192.168.1.154::Backup

    ou bien encore

    rsync -v –stats -avc /vmfs/volumes/datastore1/xp/xp.vmdk 192.168.1.154::Backup

    L’erreur se trouvant au niveau des – des différents paramètres et de l’espace séparant l’ip du serveur Rsync de l’espace de stockage, je n’ai pas tester avec plink mais logiquement le problème doit être le même.

    édit: enfait je viens de me rendre compte que le probleme vient de WORDPRESS apparement il affiche mal des – coller l’aun a l’autre donc la ou on voit — il faut lire moinmoin et pas moin – .

  13. Juste deux petites choses à propos de cet article :

    Il faudrait développer un peu plus la partie RSync. J’ai un peu de mal à comprendre quoi télécharger et quoi zipper pour obtenir “rsync-static”

    Installer RSYNC
    L’outil RSYNC n’est pas disponible sous ESXi. Il faut donc l’y installer. Comme RSYNC requière un certain nombre de librairies logicielles non disponibles sous ESXi, il convient d’utiliser une version « statically linked » (http://wiki.contribs.org/Backup_of_ESXi_Virtual_Machines_using_Affa#How_to_make_a_statically_linked_Rsync_Binary).

    Télécharger la version affa
    Télécharger l’archive .rpm de Affa2 depuis l’URL http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/Affa2

    smeserver-affa-2.0.0-beta*.noarch.rpm

    Le compresser avec le logiciel 7zip (http://www.7-zip.org/).

    Ensuite, le lien suivant n’est pas fonctionnel. Vu le nom du serveur je pense que c’est un lien interne a votre réseau

    Pour configurer un serveur RSYNC, lire le document suivant
    http://srvsharepoint/SiteDirectory/technique/Documents%20partages/Documentation/Logiciels/DeltaCopy/DeltaCopy.docx

    • J’ai corrigé le lien éronné!

      La permière partie concerne le téléchargement du client RSync pour Linux compatible avec ESXi. On le trouve dans l’archive smeserver-affa-2.0.0-beta*.noarch.rpm laquelle peux être décompressée avec 7zip.

      Le lien qui ne fonctionnait pas fait référence à l’installation d’un serveur RSYNC sous Windows grâce à l’utilitaire DELTACOPY.

      Une fois, cette infrastructure en place, on peux se logger en SSH sur ESXi pour lancer le client RSYNC qui va recopier les VMs vers le serveur RSYNC.

  14. Wow! J’ai consulté le site à plusieurs occasions et il m’a été d’un grand secours. J’ai particulièrement apprécié ce article. Je vous remercie