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.
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 »
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
je cherche une version binaire de rsync pour ESXi-5.5.0-1331820
http://www.virtuallyghetto.com/2011/02/how-to-compile-statically-linked-rsync.html
svp
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,
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,
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 ?
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,
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.
non,
il faut décompresser à nouveau jusqu’à obtenir une arborescence classique linux.
Le fichiers est maintenant dans “affa-esxi-setup-02”, dossier “bexi”
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!
.. 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.
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 😉
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.
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.
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 – .
—
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.
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