Hyper-V : Comment utiliser la Live Migration ?
Sommaire
I. Présentation
Depuis Windows Server 2012, il est possible de migrer une machine virtuelle à chaud, d’un Hyper-V vers un autre, sans qu’il y ait de stockage partagé entre les deux hôtes. Cette fonctionnalité se nomme « Live Migration » et dans le cas d’une migration sans stockage partagé on parlera de « Live Migration Shared Nothing ».
Il y a quelques prérequis :
- Les hôtes source et destination doivent être membres du même domaine Active Directory ou il doit y avoir une approbation entre les deux domaines si ce n’est pas le cas.
- L’opération doit être réalisée en se connectant sur l’hôte avec un compte membre du groupe Admins du domaine.
- L’utilisation de l’authentification Kerberos implique la configuration d’une délégation sur l’objet Active Directory correspondant à l’hôte de destination.
Contrairement à ce que l’on pourrait penser, il n’est pas nécessaire d’avoir un réseau dédié à cette migration à chaud. Cependant, pour des raisons de performances, c’est fortement recommandé.
Il est à noter que l’on peut faire une migration entre Windows Server 2012 et Windows Server 2016, ce n’est pas limité à deux systèmes dans une version identique.
Dans cet exemple, on va migrer la machine virtuelle « VM01 » de HYPERV1 vers HYPERV2.
II. Configuration de l'Active Directory
Dans la console Utilisateurs et ordinateurs Active Directory, accédez aux propriétés de l’objet « HYPERV2 » puisque c’est l’hôte de destination. Si l’on prévoit des migrations dans les deux sens, il est alors nécessaire de réaliser l’opération pour l’hôte HYPERV1 également.
Accédez à l’onglet « Délégation » et cliquez sur « N’approuver cet ordinateur que pour la délégation aux services spécifiés » puis « Utiliser uniquement Kerberos ».
Ensuite, cliquez sur « Ajouter » et recherchez HYPERV1 (hôte source) dans « Utilisateurs ou ordinateurs ». Dans la liste des services sélectionnez « cifs » et « Microsoft Virtual System Migration Service ».
Validez, vous obtiendrez ceci :
Validez à nouveau, la configuration Active Directory est terminée. Précision tout de même et c’est un point négatif : vous devez redémarrer le serveur HYPERV2 dont nous venons de modifier l’objet AD.
III. Configuration de la Migration Dynamique
Pour que la Live Migration soit possible, il faut activer la fonctionnalité « Migrations dynamiques » sur les deux hôtes Hyper-V. Pour cela, accédez aux paramètres Hyper-V depuis le gestionnaire.
Sur la gauche, vous avez « Migrations dynamiques » : cochez « Activer les migrations dynamiques entrantes et sortantes » et si vous avez un réseau dédié à cette opération, indiquez l’adresse IP.
Dans les fonctionnalités avancées du Live Migration, choisissez le protocole d’authentification Kerberos comme ceci :
IV. Live Migration d'une machine virtuelle
Maintenant que les hôtes Hyper-V sont prêts, nous allons pouvoir déplacer à chaud la machine virtuelle. Depuis HYPERV1, effectuez un clic droit sur VM01 et cliquez sur « Déplacer ».
Comme on souhaite déplacer la machine virtuelle complètement (exécution + stockage), on choisit l’option « Déplacer l’ordinateur virtuel ».
Indiquez l’hyperviseur de destination, ici « HYPERV2 ».
Pour avoir la main sur la destination de chaque élément de la VM, par exemple le VHDX dans un dossier et la configuration dans un autre dossier, sélectionnez l’option « Déplacez les données de l’ordinateur virtuel en sélectionnant l’emplacement où déplacer les éléments ».
Pour être en mesure de sélectionner un emplacement pour chaque élément de façon indépendante, choisissez l’option « Déplacer les éléments de l’ordinateur virtuel vers des emplacements différents ».
Sélectionnez dans la liste les éléments que vous souhaitez déplacer, c’est-à-dire à minima le(s) disque(s) virtuel(s) et la configuration de la VM. Poursuivez.
Pour chacun des éléments sélectionnés à l’étape précédente, il va falloir indiquer un emplacement de destination sur l’hôte HYPERV2.
Si l'assistant détecte que le réseau virtuel n'est pas présent sur l'hôte de destination, vous devrez sélectionner un réseau virtuel de remplacement. Comme ceci :
Il ne vous reste plus qu’à valider, et l’opération va débuter.
L’état « Déplacement de l’ordinateur virtuel et du stockage » va s’afficher dans le gestionnaire Hyper-V.
Lorsque la migration sera terminée, l’exécution de la VM01 sera désormais sur HYPERV2 au lieu de HYPERV1, avec une légère coupure de quelques pings seulement.
Précision : la machine virtuelle conserve son adresse MAC suite à la Live Migration.
V. Troubleshooting
Dans certains cas, vous pouvez obtenir une erreur de lors du lancement de l’opération. Bien souvent, c’est que l’authentification Kerberos est mal configuré, notamment la partie de configuration Active Directory. Il faut bien penser à redémarrer le serveur après avoir modifié son objet AD.
Si l’erreur n’est pas liée à l’authentification, mais plutôt à un problème sur la VM source elle-même, vous pouvez utiliser le cmdlet Compare-VM pour tenter de comprendre le dysfonctionnement.
Depuis l’hôte source, on va exécuter la commande suivante :
(Compare-VM -Name "VM01" -DestinationHost "HYPERV2").Incompatibilities
Ceci va nous afficher les raisons potentielles du dysfonctionnement.
Pour afficher les messages :
(Compare-VM -Name "VM01" -DestinationHost "HYPERV2").Incompatibilities | Ft Message
Article très utile merci !
Super j’en avais besoin
Article très intéressant. J’ai toutefois un problème et de taille
Mes 2 hôtes sont sur le même sous réseau et se ping bien
J’ai veillé à activer winrm et à les ajouter dans les trustedhosts mais … impossible de connecter l’hôte 2 sur le gestionnaire hyperV de l’hôte 1
A priori problème de Winrm ou d’hôtes authentifiés
Je ne comprends pas ce qui se passe
Merci pour l’aide
Bonjour, as-tu essayé de désactiver temporairement le pare-feu (ou celui de ton Endpoint) ?
Bonjour,
Pour ne pas avoir à redémarrer le serveur, il suffit de purger les tickets Kerberos de l amachine avec cette commande :
klist.exe -li 0x3e7 purge