Prise en charge de la migration dynamique du commutateur extensible Hyper-V
Pendant une migration dynamique Hyper-V, une partition enfant ou une machine virtuelle est arrêtée sur un ordinateur hôte (hôte source) et migrée vers un autre ordinateur hôte (hôte de destination). Pendant la migration dynamique, les opérations suivantes se produisent :
Lorsque la migration dynamique démarre sur l’hôte source, l’interface de commutateur extensible demande des extensions sous-jacentes pour enregistrer les données d’exécution pour chaque port et la connexion de carte réseau associée.
Pour plus d’informations sur cette opération, consultez Opérations d’enregistrement de commutateur extensible Hyper-V.
Avant la fin de la migration dynamique sur l’hôte de destination, l’interface de commutateur extensible demande aux extensions sous-jacentes de restaurer les données d’exécution pour chaque port et sa connexion de carte réseau associée.
Pour plus d’informations sur cette opération, consultez Opérations de restauration de commutateur extensible Hyper-V.
Pendant l’étape de configuration de la migration dynamique, l’hôte source crée une connexion TCP avec l’hôte physique de destination. Hyper-V transfère les données de configuration de la machine virtuelle source via cette connexion à l’hôte physique de destination. Une machine virtuelle squelette est configurée sur l’hôte de destination et la mémoire est allouée à la machine virtuelle de destination. À ce stade, Hyper-V transfère l’état de la machine virtuelle source, y compris ses pages de mémoire, à la machine virtuelle de destination.
L’interface de commutateur extensible utilise également la connexion TCP pour synchroniser les étapes et les résultats pendant la migration dynamique. Par exemple, l’interface qui s’exécute sur l’hôte de destination demande le transfert des données d’exécution à partir de l’hôte source pour la connexion de port et de carte réseau associée à la machine virtuelle migrée.
Avant que la machine virtuelle de destination soit mise en ligne sur l’hôte de destination, l’interface de commutateur extensible effectue les étapes suivantes :
Un port de validation est créé sur l’hôte de destination via une demande de jeu d’identificateur d’objet (OID) de OID_SWITCH_PORT_CREATE. Si le port est correctement créé, l’interface de commutateur extensible émet d’autres demandes OID pour vérifier les propriétés des stratégies de port par les extensions sous-jacentes.
Si l’extension échoue à la création du port ou invalide l’une des propriétés de stratégie, la migration dynamique ne se poursuit pas pour ce nœud de destination et ce commutateur.
Pour plus d’informations sur le port de validation et ses utilisations, consultez Ports de validation.
Une fois la vérification des propriétés de stratégie terminée, le port de validation est supprimé sur l’hôte de destination via une demande de jeu d’OID de OID_SWITCH_PORT_DELETE. Une fois ce port supprimé, un port opérationnel est créé sur l’hôte de destination et un port opérationnel est créé à sa place. La structure NDIS_SWITCH_PORT_PARAMETERS associée à la demande OID_SWITCH_PORT_CREATE pour le port opérationnel contient les mêmes données que celles utilisées pour créer le port sur l’hôte source.
Si le port opérationnel est correctement créé, des stratégies de port sont ajoutées au port opérationnel.
Si les paramètres sont correctement appliqués au port opérationnel sur l’hôte de destination, une opération d’enregistrement est émise pour le port opérationnel sur l’hôte source.
Si l’opération d’enregistrement est terminée correctement, le port opérationnel et sa connexion de carte réseau sont supprimés sur l’hôte source de la manière suivante :
La connexion réseau est d’abord déconnectée via une demande de jeu d’OID de OID_SWITCH_NIC_DISCONNECT. Une fois cette demande OID terminée, la connexion de carte réseau sur l’hôte source est supprimée via une demande de jeu d’OID de OID_SWITCH_NIC_DELETE.
Une fois la connexion de carte réseau supprimée, le port opérationnel est détruit via une demande de jeu d’OID de OID_SWITCH_PORT_TEARDOWN. Une fois cette requête OID terminée, le port opérationnel est supprimé par le biais d’une demande de jeu d’OID de OID_SWITCH_PORT_DELETE.
Une connexion de carte réseau est créée pour le port opérationnel sur l’hôte de destination via une demande de jeu d’OID de OID_SWITCH_NIC_CREATE. Si cette requête OID se termine correctement, la connexion de la carte réseau est établie sur le port d’opération associé via une demande de jeu d’OID de OID_SWITCH_NIC_CONNECT.
Si la connexion de la carte réseau est établie correctement, les données d’exécution pour le port opérationnel et la connexion de carte réseau sont restaurées sur l’hôte cible.
À ce stade, les extensions sous-jacentes peuvent effectuer la réservation et la validation des ressources sur la connexion de carte réseau.