Accueil > Divers (et d’été) > Informatique > Vmware ESX > Faire un rsync entre deux serveurs ESX

Faire un rsync entre deux serveurs ESX

vendredi 6 avril 2018, par Paul Courbis

La commande « rsync » n’existe malheureusement pas sur le système ESX et la synchronisation de fichiers n’est donc pas native ce qui ne simplifie pas la vie pour migrer d’un serveur à un autre si on ne possède pas la version payante avec Vsphere.

De nombreux forums proposent de télécharger une version de rsync mais cela pose évidement des problèmes de sécurité, car quelle confiance accorder à ces binaires non certifiés ?

Une solution très simple est la suivante :

  • activer SSH sur les deux serveurs (source et cible)
  • sur une machine Linux ayant accès en SSH aux deux serveurs (ce peut être une VM), installer le package « sshfs »
  • monter les deux datastores via sshfs : « sshfs root@esx-old :/vmfs/volumes/datastore/ /mnt/esx-old » et « sshfs root@esx-new :/vmfs/volumes/datastore/ /mnt/esx-new »
  • faire le rsync en local entre les deux répertoires ainsi montés

Bien évidement les VM concernées doivent être arrêtées.

Cette mécanique fonctionne pour tous serveurs distants ne disposant pas de la commande rsync mais acceptant de faire un sshfs...

Ce n’est pas optimal en termes de flux réseau mais c’est simplissime et cela fonctionne !

Par ailleurs, voici une méthode pour optimiser le temps d’interruption des VMs lors d’une migration « à la main » entre deux ESXi. Comme les fichiers actifs -machines allumées) sont verrouillés, le rsync va échouer et il faudra le faire « machine éteinte ». Il est possible de diminuer le temps d’interruption en commençant par faire des snapshots des différentes VMs. Les fichiers de snapshot pourront être synchronisés par le rsync et seul le delta sera à synchroniser « machines éteintes ». La création des snapshots peut se faire en ligne de commande par un script du type suivant :

#!/bin/sh

REASON="Snapshot pour migration `date '+%Y%m%d-%H%M%S'`"

vim-cmd vmsvc/getallvms | sed 's/ .*//g' | grep '^[0-9]*$' | sort -n | while read i
do
  echo vim-cmd vmsvc/snapshot.create $i "$REASON"
done

Si les snapshots ne sont pas nécessaires, il est conseillé de les détruire après migration pour optimiser la vitesse d’exécution des VMs...

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Les spams donneront systématiquement lieu à dépôt de plainte. Les messages peu aimables ou comportant trop de fautes d'orthographe seront purement et simplement supprimés sans publication. Aucune obligation de publication ne pourra être opposée au webmaster, sauf éventuel droit de réponse dûment justifié.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :