Stanislas Quastana's blog on TechNet

Windows Server, Windows Client, Cloud Computing, DirectAccess, sécurité des Systèmes d Information

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

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

  • Comments 13
  • Likes

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 :
http://aka.ms/jeveuxwindows2012

- d'un fichier VHD avec un système préinstallé : http://aka.ms/jeveuxwindows2012

 
-
Stanislas Quastana -

Comments
  • Bonjour,

    J'ai fait des tests et j'ai rencontrer cette même erreur ce matin (mais j'ai trouvé sur le technet la résolution des délégations 20 min avant de voir votre post) :-).

    Par contre, j'aimerais faire un gros lab sur mon laptop... en utilisant hyper-v de Windows 8.

    Sur celui-ci j'ai déjà installé 2x W2012 server (mgnt + dc) et 2 hyper-v server 2012. Il n'est apparemment pas possible de lancer les vm dans l'hyper-v lui même étant une vm dans hyper-v de Windows 8 (chaud ok mais ça marche sur VMware Workstation...)

    J'ai bien investigué quelques peu sur le net sans résultats probants, auriez-vous plus d'info ?

    Merci d'avance.

    Julien

  • Bonjour. Ceci n'est pas possible avec Hyper-V dans Windows 8 / 2012.   Et à part le cas du lab de test, il n'y a aucun intérêt de virtualiser des machines de type hyperviseur.

    Et effectivement VMware Workstation ou Fusion sous Mac permette d'exposer les instructions Intel-VT à la VM permettant notamment l'installation dans une VM du rôle Hyper-V

  • Vraiment dommage, merci pour la réponse.

    Au fait sympa la présentation avec votre collègue aux Techdays de Lausanne !

  • Bonjour,

    la manipulation peut devenir très fastidieuse en présence de plusieurs serveurs HyperV (imaginons 20 serveurs !!!). N'y a t-il pas moyen d'éviter cela ? Et toujours dans ce cas il faut tous les redémarrer après la manipulation ? L'ensemble de l'opération me semble très lourd.

    J'attend avec impatience le prochain article,  j'ai le problème avec les déplacements multiples :)

    Merci pour toutes les infos de ce blog !!

  • Dès que le nombre d'hyperviseur commence à augmenter, il est clair qu'il vaut mieux automatiser / scripter la configuration. Pour cela le script disponible à l'adresse suivante (blogs.technet.com/.../configuring-kerberos-constrained-delegation-for-hyper-v-management.aspx) peut être utile ou servir de base à une version plus évoluée.

    De même, au delà de quelques serveurs, l'utilisation de System Center Virtual Machine Manager 2012 SP1 est recommandée (dans ce cas, je ne suis pas certain qu'il soit nécessaire de faire la configuration KDC car je crois qu'on peut le faire de manière centralisée lors de l'installation de l'agent VMM.. à confirmer)

  • Bonjour,

    j'ai eu le meme probleme de live migration , j'ai ajouté la délégation kerberos pour tous mes serveurs , mais j'ai toujours l'erreur " 8009030E no credentials are available in the security package."

    j'ai remarqué un truc et peut etre c'est la source du probleme , pour ma maquette j'ai 4 serveur ( deux windows server 2012 et deux sous hyper-v server 2012 ).

    y a deux serveur qui ont eu un certificat personel ' Administrator' et les deux autre serveurs n'ont pas eu apres l'installation du systeme meme ils sont sur le meme domaine !!.

    la je me demande comment deux n'ont pas eu le certificat , !!!! y a une question avant le live migration marche bien sans délégation mais maintenant meme avec la délégation et j'ai ajouté use kerbero service only ...... ça marche toujours pas :(

    j'aimerai bien avoir votre aide !!!! merci pour les tutos que vous avez donné c'est tres utilies

    cordialement,

    ABDELLAOUI Djaouad

  • First it failed error code from wizard - 0x80072746, after doing ALL the above, wizard fails with the same error, 0x8009030E. The event ID were 22040, then 20402, then 20400, for every attempt. Suggestions?

  • J'ai fais tout ce que vous avez mentionné. Et j'ai la même erreur 0x8009030e. La seule façon de faire un MOVE. Sans erreur c'est sur l'hôte qui héberge la VM. Tous les autres scénarios donne une erreur. Avez-vous une idée?

  • C'est clairement que la delegation Kerberos ne fonctionne pas. Beaucoup de problème Kerberos viennent souvent d'une mauvaise synchronisation horaire --> point à regarder. Vérifiez également que les modifications que vous avez effectuées pour configurer la délégation Kerberos ont bien été répliquées sur tous les DC.

  • Bonjour, j'essaye de déplacer une VM d'un Hyper V 2012 à un autre mais je me prend une erreur au moment de renseigner le nom de l'Hyper-V destinataire:

    "Une erreur s'est produite lors de la tentative d'entrée en contact avec le service de gestion d'ordinateurs virtuels sur l'ordinateur de destination. Vérifiez que le service est en cours d’exécution et que vous êtes autorisé à vous connecter à l'ordinateur de destination"

    Cela fait bien deux jours que je cherche différentes ressources pour m'aider mais pour l'instant rien de concret, si vous avez une idée de la procédures a exécuter pour fixer le problème ce serait parfait.
    Merci d'avance.

  • Bonjour Axel, est ce que vous auriez un code d'erreur ? donné dans le message d'erreur ou les évènements dans les journaux d'évènements

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment