Windows Server 2012 - Dépanner Live Migration - erreurs 0x8009030D, 0x8009030E, 0x80072746

La Live Migration a subi de nombreuses améliorations entre Windows Server 2008 R2 et Windows Server 2012. Parmi les grosses nouveautés disponibles dans Hyper-V édition Windows Server 2012, il y a le Live Migration Shared Nothing qui permet le déplacement à chaud d’une machine virtuelle entre 2 serveurs (ou entre un serveur et un Cluster, ou entre 2 Clusters) n’ayant pas de stockage partagé.

Ayant eu l’occasion de configurer cette fonctionnalité de nombreuses fois, je suis rapidement tombé sur un cas générant un bon message d’erreur comme on aimerait en voir moins souvent. Et cet article a pour objectif de vous expliquez le pourquoi de cette erreur et comment la résoudre.

La bonne nouvelle c’est que ce message d’erreur est très classique et que sa résolution est faisable une fois qu’on a compris la cause du problème.

Dans quelles conditions obtient-on ce message d’erreur ?

ce message d’erreur s’obtient dès qu’on veut déclencher un “live migration shared nothing” d’une machine virtuelle d’un serveur Hyper-V sur lequel l’administrateur n’a pas ouvert de session locale (ou de session Bureau à Distance d’administration) vers un autre serveur Hyper-V

Exemple : je suis connecté en RDP au serveur HyperSpeed-2 depuis lequel j’exécute la console de gestion d’Hyper-V. Dans celle-ci j’ai ajouté 2 autres serveurs (HyperSpeed-1 et HyperSpeed-3).

Je cherche à faire une live migration d’une machine virtuelle exécutée sur HyperSpeed-1 sur HyperSpeed-2 via l’assistant de déplacement :

Ici je choisi un déplacement de machine virtuelle

Serveur hyper-V de destination : HyperSpeed-2

Ici le but est de déplacer l’ensemble des fichiers de la VM du serveur HyperSpeed-1 vers le serveur HyperSpeed-2

Et là le fameux message d’erreur fait son apparition :

Virtual machine migration operation failed at migration source.

Failed to establish a connection with host ‘HYPERSPEED-2’ : no credentials are available in the security package (0x8009030E)

Failed to authenticate the connection at the source host : no suitable credentials available

Si on regarde les évènements dans les journaux on trouve 3 messages d’erreurs

Event ID 22040 : Failed to receive data for a Virtual Machine migration: an existing connection was forcibly closed by the remote host (0x80072746)

Event ID 20402 : The Virtual Machine Management Service failed to authenticate the connection for a Virtual Machine Migration at the destination host. An existing connection was forcibly closed by the remote host (0x80072746)

 

Event ID 20400 : The Virtual Machine Management Service blocked a connection request for a Virtual Machine migration from client address ‘10.166.2.84’. An existing connection was forcibly closed by the remote host (0x80072746)

Pourquoi ce message d’erreur ?

Si on crée une machine virtuelle, les informations de sécurité (crédentials) de l’administrateur sont utilisées sur l’hyperviseur distant.

Par contre quand on déplace une machine virtuelle depuis un serveur hyper-V distant (qui est donc considéré comme l’hôte source dans la Live Migration), certaines opérations impliquent directement cet hôte distant. Cet hôte source va chercher à utiliser les crédentiels de l’administrateur pour déplacer la machine virtuelle vers un hôte de destination et cela va être un échec (d’où le message d’erreur obtenu) car le serveur hôte source n’a pas le droit d’utiliser les crédentiels d’un administrateur. Il lui manque simplement le droit de déléguer les crédentiels de l’administrateur. Et c’est ici qu’intervient la délégation Kerberos contrainte (Kerberos Constrained Delegation)

Ce mécanisme connu depuis Windows 2000, permet à un client (request service) de déléguer l’authentification à un second service en informant le KDC (Kerberos Key Distribution Center) que le second service est autorisé à agir en son nom.

Dans le cas qui nous concerne (la Live Migration), la délégation Kerberos contrainte doit être configurée pour 2 services sur le serveur HyperSpeed-1 :

  • CIFS (Common Internet File System) est utilisé par HyperSpeed-1 (hôte source) pour accéder à HyperSpeed-2 (hôte destination) et créer les fichiers et répertoires.
  • Microsoft Virtual System Migration Service sert comme son nom l’indique à la migration. Ce service gère en autre les migrations de machines virtuelle ainsi que la réplication de VM.

Configurer la délégation Kerberos contrainte

Toute d’abord dans les propriétés d’Hyper-V concernant la Live Migration, passer en mode Kerberos

Ouvrir la console Active Directory Users and computers, et aller dans les propriétés d’HyperSpeed-1

Faire un bon redémarrage des serveurs Hyper-V (oui ça ne fait pas de mal)

ET là ça fonctionne beaucoup mieux ! même vous risquez de tomber potentiellement sur une nouvelle erreur en cas de déplacements multiple. Mais ça je le traiterai dans un prochain article Winking smile

 

   Ressources complémentaires

 

Pour tester Windows Server 2012, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
- d'une image ISO : https://aka.ms/jeveuxwindows2012
- d'un fichier VHD avec un système préinstallé : https://aka.ms/jeveuxwindows2012
 
- Stanislas Quastana -