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
Ressources complémentaires
- Configuring Kerberos Constrained Delegation for Hyper-V Management (inclus à la fin de l’article un script pour configurer la délégation Kerberos pour Hyper-V) https://blogs.technet.com/b/matthts/archive/2012/06/10/configuring-kerberos-constrained-delegation-for-hyper-v-management.aspx
- Configure and Use Live Migration on Non-clustered Virtual Machines : https://technet.microsoft.com/en-us/library/jj134199.aspx
- Live Migration Security Failures, Kerberos Live Migration Authentication & Constrained Delegation https://www.aidanfinn.com/?p=13711
- Using Constrained Delegation to remotely manage a server running Hyper-V that uses CIFS/SMB file shares https://blogs.technet.com/b/josebda/archive/2008/06/27/using-constrained-delegation-to-remotely-manage-a-server-running-hyper-v-that-uses-cifs-smb-file-shares.aspx
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 -
Comments
Anonymous
December 06, 2012
The comment has been removedAnonymous
December 06, 2012
The comment has been removedAnonymous
December 07, 2012
Vraiment dommage, merci pour la réponse. Au fait sympa la présentation avec votre collègue aux Techdays de Lausanne !Anonymous
March 23, 2013
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 !!Anonymous
March 25, 2013
The comment has been removedAnonymous
June 05, 2013
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 DjaouadAnonymous
January 23, 2014
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?Anonymous
January 28, 2014
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?Anonymous
January 28, 2014
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.Anonymous
March 04, 2014
The comment has been removedAnonymous
March 04, 2014
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ènementsAnonymous
March 30, 2014
Découvrez en 12 minutes une vidéo (co-animée avec Arnaud ) présentant les évolutions de la Live MigrationAnonymous
March 30, 2014
Découvrez en 12 minutes une vidéo (co-animée avec Arnaud ) présentant les évolutions de la Live Migration