Migrer une machine virtuelle VMware vers un serveur dédié OVHcloud
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à migrer une VM d'un serveur VMware ESXi vers un serveur dédié OVHcloud, lui aussi sur VMware ESXi. Plusieurs scénarios sont possibles : migration d'un serveur dédié à un autre chez OVHcloud (changement de gamme, par exemple), migration d'un serveur dédié d'un hébergeur à un autre, ou encore la migration d'une ressource située sur un serveur physique local vers le Cloud.
Besoin d'aide pour mettre en place votre serveur dédié OVHcloud ? Suivez cet article sur l'installation d'un serveur dédié chez OVHcloud.
Pour migrer une machine virtuelle d'un serveur VMware ESXi situé sur un serveur physique en local, sur un serveur dédié OVHcloud ou un serveur dédié chez un autre hébergeur, vers un serveur dédié sous VMware ESXi de chez OVHcloud, il y a plusieurs façons de faire. La méthode détaillée dans cet article est une possibilité, elle est simple à appliquer et s'appuient sur SSH/SCP ce qui ne nécessite pas d'utiliser des logiciels tiers ou d'installer des outils spécifiques.
II. Configurer l'accès SSH sur les deux serveurs
Sur les deux serveurs VMware, l'accès SSH doit être activé, car l'utilisation de SCP repose sur une connexion SSH. Par défaut, l'accès SSH n'est pas actif sur les hôtes VMware et il doit être activé uniquement en cas de besoin : généralement, on ne laisse pas cet accès actif, à moins d'en avoir réellement besoin.
Pour activer le SSH sur un hôte VMware, il faut effectuer un clic droit sur "Hôte" en haut à gauche, puis sous "Services", choisir "Activer Secure Shell (SSH)". Si c'est indiqué "Désactiver Secure Shell (SSH)" comme sur l'image ci-dessous, c'est que le SSH est déjà activé sur cet hôte. Effectuez cette opération sur les deux hôtes VMware.
Sur le serveur source, il faut configurer le pare-feu du système VMware pour qu'il autorise le client SSH à communiquer avec notre serveur distant. Ce flux sortant est bloqué par défaut. Dans le menu à gauche, cliquez sur "Mise en réseau" puis, au centre, sur l'onglet "Règles du pare-feu". Ici, recherchez la règle "Client SSH" et cliquez sur le bouton "Actions" puis "Activer".
Si vous n'activez pas cette règle de pare-feu sur le serveur VMware source, vous allez obtenir un message "ssh: connect to host X.X.X.X port 22: Connection timed out" au moment d'utiliser SCP, car la connexion ne pourra pas aboutir.
Désormais, nous pouvons transférer la VM entre l'hôte source et l'hôte destination situé chez OVHcloud dans cet exemple.
III. Transférer la VM avec SCP
À ce stade, nos deux serveurs sont capables de communiquer entre eux au travers d'une connexion SSH. De ce fait, nous pouvons envisager de transférer les données d'un serveur à l'autre. À partir du serveur VMware source, je vais envoyer les fichiers de la machine virtuelle à transférer sur le serveur VMware de destination, via la commande scp (et une connexion SSH).
Sur l'hôte source, les fichiers de la machine virtuelle sont stockés ici :
/vmfs/volumes/datastore-vm/vm/serveur-debian/
Cela comprend les disques virtuels au format vmdk, le fichier de configuration de la VM au format vmx, etc.
De votre côté, il faudra aussi aller dans "/vmfs/volumes/" puis adapter la suite du chemin selon le nom de votre banque de données et l'arborescence jusqu'aux fichiers de la VM à migrer. L'objectif est de transférer via SCP tous les fichiers de ce répertoire.
scp /vmfs/volumes/datastore-vm/vm/serveur-debian/* root@1.2.3.4:/vmfs/volumes/datastore-vm/vm/serveur-debian/
Dans l'exemple ci-dessus, tous les fichiers (*) du répertoire local "/vmfs/volumes/datastore-vm/vm/serveur-debian/" sont envoyés vers l'hôte avec l'adresse IP "1.2.3.4" dans le répertoire "/vmfs/volumes/datastore-vm/vm/serveur-debian/" en utilisant le compte "root" pour s'authentifier.
Si la structure n'est pas tout à fait la même entre la source et la destination, ce n'est pas grave, il suffit d'adapter les chemins. On pourrait très bien avoir ceci :
scp /vmfs/volumes/datastore-vm/vm/serveur-debian/* root@1.2.3.4:/vmfs/volumes/datastore1/machines-virtuelles/serveur-debian/
Au moment d'exécuter la commande, il faut valider la connexion en indiquant "yes" et en appuyant sur Entrée. Si vous obtenez un message d'erreur, c'est probablement que vous n'avez pas bien suivi l'étape précédente, qu'il y a une erreur dans la commande, ou que l'hôte source ne peut pas communiquer avec l'hôte distant.
Ensuite, vous devez patienter pendant le transfert des données. Ce sera plus ou moins long en fonction de la taille de la VM et du débit réseau.
IV. Enregistrer et démarrer la VM
Quand les fichiers de la machine virtuelle sont arrivés à destination, la nouvelle VM va pouvoir être enregistrée sur le nouvel hôte, à partir de l'interface Web du serveur VMware ESXi de destination.
Pour cela, créez une nouvelle machine virtuelle en cliquant sur le bouton "Créer/Enregistrer une machine virtuelle" sur l'interface de VMware ESXi. Plutôt que de créer une machine virtuelle, choisissez l'option "Enregistrer une machine virtuelle existante".
Poursuivez en cliquant sur "Sélectionnez une ou plusieurs machines virtuelles, une banque de données ou un répertoire" afin d'explorer votre banque de données et choisir le dossier qui contient les fichiers de la machine virtuelle. Pour ma part, il s'agit du répertoire "serveur-debian".
Validez l'enregistrement en cliquant sur le bouton "Terminer".
Avant de démarrer la machine virtuelle, vérifions sa configuration.... Tout d'abord, on va effectuer une mise à niveau de la compatibilité pour que la VM bénéficie du meilleur support possible sur le nouvel hôte ESXi. Cette étape n'est pas nécessaire si les hôtes sources et destinations sont dans la même version. Il suffit d'effectuer un clic droit sur la VM et de cliquer sur "Mettre à niveau la compatibilité VM" puis de valider.
Maintenant, dans les paramètres de la VM, je vous encourage à vérifier la partie réseau. En fait, il est possible que la VM dispose d'un adaptateur réseau comme c'était le cas avant la migration, mais qu'elle ne soit plus attribuée au switch virtuel (vSwitch) qui va bien. Il sera nécessaire de sélectionner le vSwitch sur lequel connecter la VM et de valider.
Dans certains cas, si l'on retourne dans les paramètres de la VM, on peut voir qu'elle n'accepte pas de se connecter au nouveau vSwitch (la zone ne contient aucune valeur). Quand cela se produit, il faut supprimer la carte réseau de la VM puis ajouter un nouvel adaptateur réseau. Si besoin, gardez de côté votre adresse MAC pour la réattribuer sur la nouvelle carte..
Après avoir supprimé l'adaptateur réseau, il suffit de cliquer sur le bouton "Ajouter un adaptateur réseau" pour l'ajouter.
Dès que c'est fait, la machine virtuelle peut-être démarrée ! Le premier démarrage est très important, vous devez vous assurer que tous vos services habituels démarrent bien et qu'ils sont fonctionnels. Il convient également de vérifier la connectivité réseau de la machine, et dans certains cas il sera nécessaire de modifier l'adresse IP pour s'adapter au nouvel environnement. Si vous êtes dans ce cas, vous devez :
- Configurer la nouvelle adresse IP dans le fichier /etc/network/interfaces (Tutoriel - Debian - Adresse IP statique)
- Configurer la nouvelle adresse IP dans le fichier /etc/hosts
- Vérifier si certains de vos services sont en écoute sur un adresse IP spécifique, car il faudra adapter la configuration
V. Conclusion
Nous venons de voir une méthode simple pour migrer une machine virtuelle d'un serveur vers un autre, en l'occurrence ici vers un serveur dédié situé chez OVHcloud. Avant de migrer la machine virtuelle de production, je vous encourage à effectuer un essai à partir d'une sauvegarde pour voir comment réagit la machine virtuelle dans l'environnement de destination avant de basculer la production.
Si vous souhaitez réaliser la migration d'un serveur dédié vers un autre serveur dédié, pensez à résilier le serveur dédié d'origine (sauf s'il est utilisé pour autre chose, bien entendu) après avoir vérifié que tous les services fonctionnaient correctement et qu'ils étaient stables.