Résoudre les problèmes de la pile de mise en réseau SDN (Software Defined Networking) dans Windows Server
S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versions 21H2 et 20H2
Ce guide examine les scénarios courants d’erreurs et de défaillances SDN (Software Defined Networking) et décrit un workflow de résolution des problèmes qui utilise les outils de diagnostic disponibles.
Pour plus d’informations sur SDN, consultez Software Defined Networking.
Types d’erreurs
La liste suivante représente la classe des problèmes les plus souvent rencontrés avec Virtualisation de réseau Hyper-V (HNVv1) dans Windows Server 2012 R2 à partir de déploiements de production sur le marché et coïncide de nombreuses façons avec les mêmes types de problèmes observés dans Windows Server 2016 HNVv2 avec la nouvelle pile SDN (Software Defined Network).
La plupart des erreurs peuvent être classées dans un petit ensemble de classes :
Configuration non valide ou non prise en charge Un utilisateur appelle l’API NorthBound de manière incorrecte ou avec une stratégie non valide.
Erreur dans l’application de stratégie La stratégie du contrôleur de réseau n’a pas été remise à un hôte Hyper-V, retardée ou non à jour sur tous les hôtes Hyper-V (par exemple, après une migration dynamique).
Dérive de configuration ou bogue logiciel Problèmes de chemin d’accès aux données entraînant des paquets supprimés.
Erreur externe liée au matériel/pilotes de carte réseau ou à l’infrastructure réseau de sous-couche Déchargements de tâches mal gérés (par exemple, VMQ) ou structure réseau mal configurée (par exemple, MTU)
Ce guide de dépannage examine chacune de ces catégories d’erreurs et recommande les meilleures pratiques et les outils de diagnostic disponibles pour identifier et corriger l’erreur.
Outils de diagnostic
Avant de discuter des workflows de résolution des problèmes pour chacun de ces types d’erreurs, examinons les outils de diagnostic disponibles.
Pour utiliser les outils de diagnostic du contrôleur de réseau (chemin de contrôle), vous devez d’abord installer la fonctionnalité RSAT-NetworkController et importer le NetworkControllerDiagnostics
module :
Add-WindowsFeature RSAT-NetworkController -IncludeManagementTools
Import-Module NetworkControllerDiagnostics
Pour utiliser les outils de diagnostic HNV Diagnostics (chemin d’accès aux données), vous devez importer le HNVDiagnostics
module :
# Assumes RSAT-NetworkController feature has already been installed
Import-Module hnvdiagnostics
Diagnostics du contrôleur de réseau
Ces applets de commande sont documentées sur TechNet dans la rubrique d’applet de commande Diagnostics du contrôleur de réseau. Ils permettent d’identifier les problèmes liés à la cohérence de la stratégie réseau dans le chemin de contrôle entre les nœuds du contrôleur de réseau et entre le contrôleur de réseau et les agents hôtes NC s’exécutant sur les hôtes Hyper-V.
Les applets de commande Debug-ServiceFabricNodeStatus et Get-NetworkControllerReplica doivent être exécutées à partir de l’une des machines virtuelles du nœud contrôleur de réseau. Toutes les autres applets de commande diagnostic nc peuvent être exécutées à partir de n’importe quel hôte, qui dispose d’une connectivité au contrôleur de réseau et se trouve dans le groupe de sécurité de gestion du contrôleur de réseau (Kerberos) ou a accès au certificat X.509 pour gérer le contrôleur de réseau.
Diagnostics de l’hôte Hyper-V
Ces applets de commande sont documentées sur TechNet dans la rubrique d’applets de commande de diagnostic Virtualisation de réseau Hyper-V (HNV). Ils permettent d’identifier les problèmes dans le chemin d’accès aux données entre les machines virtuelles client (Est/Ouest) et le trafic d’entrée via une adresse IP virtuelle SLB (nord/sud).
Debug-VirtualMachineQueueOperation, Get-CustomerRoute, Get-PACAMapping, Get-ProviderAddress, Get-VMNetworkAdapterPortId, Get-VMSwitchExternalPortId et Test-EncapOverheadSettings sont tous des tests locaux qui peuvent être exécutés à partir de n’importe quel hôte Hyper-V. Les autres applets de commande appellent des tests de chemin d’accès aux données via le contrôleur de réseau et ont donc besoin d’accéder au contrôleur de réseau comme décrit ci-dessus.
GitHub
Le dépôt microsoft/SDN GitHub contient de nombreux exemples de scripts et flux de travail qui s’appuient sur ces applets de commande in-box. En particulier, les scripts de diagnostic se trouvent dans le dossier Diagnostics . Aidez-nous à contribuer à ces scripts en envoyant des demandes de tirage.
Dépannage des flux de travail et des guides
[Hôte] Valider l’intégrité du système
Il existe une ressource incorporée nommée État de configuration dans plusieurs ressources du contrôleur de réseau. L’état de configuration fournit des informations sur l’intégrité du système, notamment la cohérence entre la configuration du contrôleur de réseau et l’état réel (en cours d’exécution) sur les hôtes Hyper-V.
Pour vérifier l’état de configuration, exécutez ce qui suit à partir d’un hôte Hyper-V avec une connectivité au contrôleur de réseau.
Notes
La valeur du paramètre NetworkController doit être le nom de domaine complet ou l’adresse IP en fonction du nom de sujet du certificat X.509 >créé pour le contrôleur de réseau.
Le paramètre Credential doit uniquement être spécifié si le contrôleur de réseau utilise l’authentification Kerberos (généralement dans les déploiements VMM). Les informations d’identification doivent être pour un utilisateur qui se trouve dans le groupe de sécurité de gestion du contrôleur de réseau.
Debug-NetworkControllerConfigurationState -NetworkController <FQDN or NC IP> [-Credential <PS Credential>]
# Healthy State Example - no status reported
$cred = Get-Credential
Debug-NetworkControllerConfigurationState -NetworkController 10.127.132.211 -Credential $cred
Fetching ResourceType: accessControlLists
Fetching ResourceType: servers
Fetching ResourceType: virtualNetworks
Fetching ResourceType: networkInterfaces
Fetching ResourceType: virtualGateways
Fetching ResourceType: loadbalancerMuxes
Fetching ResourceType: Gateways
Un exemple de message d’état de configuration est illustré ci-dessous :
Fetching ResourceType: servers
---------------------------------------------------------------------------------------------------------
ResourcePath: https://10.127.132.211/Networking/v1/servers/4c4c4544-0056-4b10-8058-b8c04f395931
Status: Warning
Source: SoftwareLoadBalancerManager
Code: HostNotConnectedToController
Message: Host is not Connected.
----------------------------------------------------------------------------------------------------------
Notes
Il existe un bogue dans le système où les ressources de l’interface réseau pour la carte réseau de la machine virtuelle SLB Mux Transit sont dans un état d’échec avec l’erreur « Commutateur virtuel - Hôte non connecté au contrôleur ». Cette erreur peut être ignorée en toute sécurité si la configuration IP de la ressource de carte réseau de machine virtuelle est définie sur une adresse IP du pool IP du réseau logique de transit. Il existe un deuxième bogue dans le système où les ressources d’interface réseau pour les cartes réseau du fournisseur HNV de passerelle sont dans un état d’échec avec l’erreur « Commutateur virtuel - PortBlocked ». Cette erreur peut également être ignorée en toute sécurité si la configuration IP dans la ressource de carte réseau de machine virtuelle est définie sur Null (par conception).
Le tableau ci-dessous présente la liste des codes d’erreur, des messages et des actions de suivi à effectuer en fonction de l’état de configuration observé.
Code | Message | Action |
---|---|---|
Unknown | Erreur inconnue | |
HostUnreachable | L’ordinateur hôte n’est pas accessible | Vérifier la connectivité réseau de gestion entre le contrôleur de réseau et l’hôte |
PAIpAddressExhausted | Adresses IP pa épuisées | Augmenter la taille du pool IP du sous-réseau logique du fournisseur HNV |
PAMacAddressExhausted | Les adresses PA Mac épuisées | Augmenter la plage de pools Mac |
PAAddressConfigurationFailure | Échec de la plomberie des adresses PA sur l’hôte | Vérifiez la connectivité réseau de gestion entre le contrôleur de réseau et l’hôte. |
CertificateNotTrusted | Le certificat n’est pas approuvé | Corrigez les certificats utilisés pour la communication avec l’hôte. |
CertificateNotAuthorized | Certificat non autorisé | Corrigez les certificats utilisés pour la communication avec l’hôte. |
PolicyConfigurationFailureOnVfp | Échec de la configuration des stratégies VFP | Il s’agit d’un échec d’exécution. Aucune solution de contournement définitive. Collecter les journaux. |
PolicyConfigurationFailure | Échec lors de l’envoi de stratégies aux hôtes, en raison d’échecs de communication ou d’autres erreurs dans NetworkController. | Pas d’actions précises. Cela est dû à l’échec du traitement de l’état de l’objectif dans les modules du contrôleur de réseau. Collecter les journaux. |
HostNotConnectedToController | L’hôte n’est pas encore connecté au contrôleur de réseau | Le profil de port n’est pas appliqué sur l’hôte ou l’hôte n’est pas accessible à partir du contrôleur de réseau. Vérifiez que la clé de Registre HostID correspond à l’ID d’instance de la ressource de serveur |
MultipleVfpEnabledSwitches | Plusieurs commutateurs VFp sont activés sur l’hôte | Supprimez l’un des commutateurs, car l’agent hôte du contrôleur de réseau ne prend en charge qu’un commutateur virtuel avec l’extension VFP activée |
PolicyConfigurationFailure | Échec de l’envoi de stratégies de réseau virtuel pour une carte réseau virtuelle en raison d’erreurs de certificat ou d’erreurs de connectivité | Vérifiez si les certificats appropriés ont été déployés (le nom du sujet du certificat doit correspondre au nom de domaine complet de l’hôte). Vérifiez également la connectivité de l’hôte avec le contrôleur de réseau |
PolicyConfigurationFailure | Échec de l’envoi de stratégies vSwitch pour une carte réseau virtuelle en raison d’erreurs de certificat ou d’erreurs de connectivité | Vérifiez si les certificats appropriés ont été déployés (le nom du sujet du certificat doit correspondre au nom de domaine complet de l’hôte). Vérifiez également la connectivité de l’hôte avec le contrôleur de réseau |
PolicyConfigurationFailure | Échec de l’envoi (push) de stratégies de pare-feu pour un VmNic en raison d’erreurs de certificat ou de connectivité | Vérifiez si les certificats appropriés ont été déployés (le nom du sujet du certificat doit correspondre au nom de domaine complet de l’hôte). Vérifiez également la connectivité de l’hôte avec le contrôleur de réseau |
DistributedRouterConfigurationFailure | Échec de la configuration des paramètres du routeur distribué sur la carte réseau virtuelle hôte | Erreur de pile TCPIP. Peut nécessiter le nettoyage des cartes réseau réseau de l’hôte pa et de la récupération d’urgence sur le serveur sur lequel cette erreur a été signalée |
DhcpAddressAllocationFailure | Échec de l’allocation d’adresses DHCP pour une carte réseau de machine virtuelle | Vérifiez si l’attribut d’adresse IP statique est configuré sur la ressource de carte réseau |
CertificateNotTrusted CertificateNotAuthorized |
Échec de la connexion à Mux en raison d’erreurs de réseau ou de certificat | Vérifiez le code numérique fourni dans le code du message d’erreur : cela correspond au code d’erreur winsock. Les erreurs de certificat sont granulaires : par exemple, le certificat ne peut pas être vérifié, le certificat n’est pas autorisé, etc. |
HostUnreachable | L’expérience utilisateur est non saine (le cas courant est BGPRouter déconnecté) | L’homologue BGP sur le commutateur RRAS (machine virtuelle BGP) ou top-of-rack (ToR) est inaccessible ou ne peut pas être appairé correctement. Vérifiez les paramètres BGP sur les deux logiciels Load Balancer ressource multiplexeur et pair BGP (machine virtuelle ToR ou RRAS) |
HostNotConnectedToController | L’agent hôte SLB n’est pas connecté | Vérifiez que le service agent hôte SLB est en cours d’exécution ; Reportez-vous aux journaux de l’agent hôte SLB (exécution automatique) pour des raisons pour lesquelles, dans le cas où SLBM (NC) a rejeté le certificat présenté par l’état d’exécution de l’agent hôte affiche des informations nuances |
PortBlocked | Le port VFP est bloqué, en raison d’un manque de stratégies de réseau virtuel /ACL | Vérifiez s’il existe d’autres erreurs, ce qui peut entraîner la configuration des stratégies. |
Surchargé | Loadbalancer MUX est surchargé | Problème de performances avec MUX |
RoutePublicationFailure | Loadbalancer MUX n’est pas connecté à un routeur BGP | Vérifiez si l’expérience utilisateur MUX dispose d’une connectivité avec les routeurs BGP et que le peering BGP est correctement configuré |
VirtualServerUnreachable | Loadbalancer MUX n’est pas connecté au gestionnaire SLB | Vérifier la connectivité entre SLBM et MUX |
QosConfigurationFailure | Échec de la configuration des stratégies QOS | Vérifiez si une bande passante suffisante est disponible pour toutes les machines virtuelles si la réservation QOS est utilisée |
Vérifier la connectivité réseau entre le contrôleur de réseau et l’hôte Hyper-V (service agent hôte NC)
Exécutez la commande netstat ci-dessous pour vérifier qu’il existe trois connexions ÉTABLIES entre l’agent hôte NC et le ou les nœuds du contrôleur de réseau et un socket LISTENING sur l’hôte Hyper-V
- LISTENING on port TCP:6640 on Hyper-V Host (NC Host Agent Service)
- Deux connexions établies entre l’adresse IP de l’hôte Hyper-V sur le port 6640 et l’adresse IP du nœud NC sur les ports éphémères (> 32000)
- Une connexion établie entre l’adresse IP de l’hôte Hyper-V sur le port éphémère et l’adresse IP REST du contrôleur de réseau sur le port 6640
Notes
Il se peut qu’il n’y ait que deux connexions établies sur un hôte Hyper-V s’il n’y a pas de machines virtuelles de locataire déployées sur cet hôte particulier.
netstat -anp tcp |findstr 6640
# Successful output
TCP 0.0.0.0:6640 0.0.0.0:0 LISTENING
TCP 10.127.132.153:6640 10.127.132.213:50095 ESTABLISHED
TCP 10.127.132.153:6640 10.127.132.214:62514 ESTABLISHED
TCP 10.127.132.153:50023 10.127.132.211:6640 ESTABLISHED
Vérifier les services d’agent hôte
Le contrôleur de réseau communique avec deux services d’agent hôte sur les ordinateurs hôtes Hyper-V : agent hôte SLB et agent hôte NC. Il est possible qu’un ou les deux services ne soient pas en cours d’exécution. Vérifiez leur état et redémarrez s’ils ne sont pas en cours d’exécution.
Get-Service SlbHostAgent
Get-Service NcHostAgent
# (Re)start requires -Force flag
Start-Service NcHostAgent -Force
Start-Service SlbHostAgent -Force
Vérifier l’intégrité du contrôleur de réseau
S’il n’y a pas trois connexions ESTABLISHED ou si le contrôleur de réseau ne répond pas, vérifiez que tous les nœuds et modules de service sont opérationnels à l’aide des applets de commande suivantes.
# Prints a DIFF state (status is automatically updated if state is changed) of a particular service module replica
Debug-ServiceFabricNodeStatus [-ServiceTypeName] <Service Module>
Les modules de service de contrôleur de réseau sont les suivants :
- ControllerService
- ApiService
- SlbManagerService
- ServiceInsertion
- FirewallService
- VSwitchService
- GatewayManager
- FnmService
- HelperService
- UpdateService
Check that ReplicaStatus is **Ready** and HealthState is **Ok**.
In a production deployment is with a multi-node Network Controller, you can also check which node each service is primary on and its individual replica status.
```powershell
Get-NetworkControllerReplica
# Sample Output for the API service module
Replicas for service: ApiService
ReplicaRole : Primary
NodeName : SA18N30NC3.sa18.nttest.microsoft.com
ReplicaStatus : Ready
Vérifiez que l’état du réplica est prêt pour chaque service.
Rechercher les hostID et les certificats correspondants entre le contrôleur de réseau et chaque hôte Hyper-V
Sur un hôte Hyper-V, exécutez les commandes suivantes pour vérifier que l’HostID correspond à l’ID d’instance d’une ressource de serveur sur le contrôleur de réseau.
Get-ItemProperty "hklm:\system\currentcontrolset\services\nchostagent\parameters" -Name HostId |fl HostId
HostId : **162cd2c8-08d4-4298-8cb4-10c2977e3cfe**
Get-NetworkControllerServer -ConnectionUri $uri |where { $_.InstanceId -eq "162cd2c8-08d4-4298-8cb4-10c2977e3cfe"}
Tags :
ResourceRef : /servers/4c4c4544-0056-4a10-8059-b8c04f395931
InstanceId : **162cd2c8-08d4-4298-8cb4-10c2977e3cfe**
Etag : W/"50f89b08-215c-495d-8505-0776baab9cb3"
ResourceMetadata : Microsoft.Windows.NetworkController.ResourceMetadata
ResourceId : 4c4c4544-0056-4a10-8059-b8c04f395931
Properties : Microsoft.Windows.NetworkController.ServerProperties
Assainissement Si vous utilisez des scripts SDNExpress ou un déploiement manuel, mettez à jour la clé HostId dans le Registre pour qu’elle corresponde à l’ID d’instance de la ressource de serveur. Redémarrez l’agent hôte du contrôleur de réseau sur l’hôte Hyper-V (serveur physique) Si vous utilisez VMM, supprimez le serveur Hyper-V de VMM et supprimez la clé de Registre HostId. Ensuite, rajoutez le serveur via VMM.
Vérifiez que les empreintes des certificats X.509 utilisés par l’hôte Hyper-V (le nom d’hôte sera le nom d’objet du certificat) pour la communication (SouthBound) entre l’hôte Hyper-V (service agent hôte NC) et les nœuds du contrôleur de réseau sont identiques. Vérifiez également que le certificat REST du contrôleur de réseau a le nom d’objet CN=<FQDN ou IP>.
# On Hyper-V Host
dir cert:\\localmachine\my
Thumbprint Subject
---------- -------
2A3A674D07D8D7AE11EBDAC25B86441D68D774F9 CN=SA18n30-4.sa18.nttest.microsoft.com
...
dir cert:\\localmachine\root
Thumbprint Subject
---------- -------
30674C020268AA4E40FD6817BA6966531FB9ADA4 CN=10.127.132.211 **# NC REST IP ADDRESS**
# On Network Controller Node VM
dir cert:\\localmachine\root
Thumbprint Subject
---------- -------
2A3A674D07D8D7AE11EBDAC25B86441D68D774F9 CN=SA18n30-4.sa18.nttest.microsoft.com
30674C020268AA4E40FD6817BA6966531FB9ADA4 CN=10.127.132.211 **# NC REST IP ADDRESS**
...
Vous pouvez également vérifier les paramètres suivants de chaque certificat pour vous assurer que le nom de l’objet est ce qui est attendu (nom d’hôte ou nom de domaine complet REST NC), que le certificat n’a pas encore expiré et que toutes les autorités de certification de la chaîne de certificats sont incluses dans l’autorité racine approuvée.
- Nom de sujet
- Date d'expiration
- Approuvé par l’autorité racine
Assainissement Si plusieurs certificats ont le même nom d’objet sur l’hôte Hyper-V, l’agent hôte du contrôleur de réseau choisit de façon aléatoire une pour présenter au contrôleur de réseau. Cela peut ne pas correspondre à l’empreinte numérique de la ressource serveur connue du contrôleur de réseau. Dans ce cas, supprimez l’un des certificats portant le même nom d’objet sur l’hôte Hyper-V, puis redémarrez le service Agent hôte du contrôleur de réseau. Si une connexion ne peut toujours pas être établie, supprimez l’autre certificat portant le même nom d’objet sur l’hôte Hyper-V et supprimez la ressource de serveur correspondante dans VMM. Ensuite, recréez la ressource de serveur dans VMM, qui génère un nouveau certificat X.509 et l’installe sur l’hôte Hyper-V.
Vérifier l’état de configuration SLB
L’état de configuration SLB peut être déterminé dans le cadre de la sortie de l’applet de commande Debug-NetworkController. Cette applet de commande génère également l’ensemble actuel de ressources du contrôleur de réseau dans les fichiers JSON, toutes les configurations IP de chaque hôte Hyper-V (serveur) et la stratégie de réseau local à partir des tables de base de données de l’Agent hôte.
Par défaut, d’autres traces seront collectées. Pour ne pas collecter les traces, ajoutez le paramètre -IncludeTraces:$false.
Debug-NetworkController -NetworkController <FQDN or IP> [-Credential <PS Credential>] [-IncludeTraces:$false]
# Don't collect traces
$cred = Get-Credential
Debug-NetworkController -NetworkController 10.127.132.211 -Credential $cred -IncludeTraces:$false
Transcript started, output file is C:\\NCDiagnostics.log
Collecting Diagnostics data from NC Nodes
Notes
L’emplacement de sortie par défaut est le <répertoire working_directory>\NCDiagnostics\. Le répertoire de sortie par défaut peut être modifié à l’aide du -OutputDirectory
paramètre.
Les informations d’état de configuration SLB se trouvent dans le fichier diagnostics-slbstateResults.Json de ce répertoire.
Ce fichier JSON peut être divisé en sections suivantes :
- Structure
- SlbmVips : cette section répertorie l’adresse IP de l’adresse IP virtuelle du gestionnaire SLB, qui est utilisée par le contrôleur de réseau pour coordonner la configuration et l’intégrité entre les Muxes SLB et les agents hôtes SLB.
- MuxState - Cette section répertorie une valeur pour chaque Mux SLB déployée en donnant l’état du mux
- Configuration du routeur : cette section répertorie le numéro de système autonome (ASN) du routeur en amont, l’adresse IP de transit et l’ID. Il répertorie également l’asn et l’adresse IP de transit SLB Muxes.
- Informations sur l’hôte connecté : cette section répertorie l’adresse IP de gestion de tous les hôtes Hyper-V disponibles pour exécuter des charges de travail à charge équilibrée.
- Plages d’adresses IP virtuelles : cette section répertorie les plages de pools d’adresses IP ip virtuelles publiques et privées. L’adresse IP virtuelle SGBD sera incluse en tant qu’adresse IP allouée à partir de l’une de ces plages.
- Itinéraires Mux : cette section répertorie une valeur pour chaque Mux SLB déployée contenant toutes les annonces de routage pour ce mux particulier.
- Locataire
- VipConsolidatedState : cette section répertorie l’état de connectivité de chaque adresse IP virtuelle de locataire, y compris le préfixe de routage annoncé, l’hôte Hyper-V et les points de terminaison DIP.
Notes
L’état SLB peut être vérifié directement à l’aide du script DumpSlbRestState disponible sur le référentiel microsoft SDN GitHub.
Validation de la passerelle
À partir du contrôleur de réseau :
Get-NetworkControllerLogicalNetwork
Get-NetworkControllerPublicIPAddress
Get-NetworkControllerGatewayPool
Get-NetworkControllerGateway
Get-NetworkControllerVirtualGateway
Get-NetworkControllerNetworkInterface
À partir de la machine virtuelle de passerelle :
Ipconfig /allcompartments /all
Get-NetRoute -IncludeAllCompartments -AddressFamily
Get-NetBgpRouter
Get-NetBgpRouter | Get-BgpPeer
Get-NetBgpRouter | Get-BgpRouteInformation
À partir du commutateur Top of Rack (ToR) :
sh ip bgp summary (for 3rd party BGP Routers)
routeur BGP Windows
Get-BgpRouter
Get-BgpPeer
Get-BgpRouteInformation
En plus de ces problèmes, nous avons vu jusqu’à présent (en particulier sur les déploiements basés sur SDNExpress), la raison la plus courante pour le compartiment client qui n’est pas configuré sur les machines virtuelles GW semble être le fait que la capacité GW dans FabricConfig.psd1 est moins comparée à ce que les gens essaient d’attribuer aux connexions réseau (tunnels S2S) dans TenantConfig.psd1. Cela peut être vérifié facilement en comparant les sorties des commandes suivantes :
PS > (Get-NetworkControllerGatewayPool -ConnectionUri $uri).properties.Capacity
PS > (Get-NetworkControllerVirtualgatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "TenantName").properties.OutboundKiloBitsPerSecond
PS > (Get-NetworkControllerVirtualgatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "TenantName").property
[Hôte] Valider Data-Plane
Une fois le contrôleur de réseau déployé, les réseaux virtuels de locataire et les sous-réseaux ont été créés et les machines virtuelles ont été attachées aux sous-réseaux virtuels, des tests de niveau infrastructure supplémentaires peuvent être effectués par l’hôte pour vérifier la connectivité du locataire.
Vérifier la connectivité réseau logique du fournisseur HNV
Une fois que la première machine virtuelle invitée s’exécutant sur un hôte Hyper-V a été connectée à un réseau virtuel client, le contrôleur de réseau affecte deux adresses IP du fournisseur HNV (adresses IP PA) à l’hôte Hyper-V. Ces adresses IP proviennent du pool d’adresses IP du réseau logique du fournisseur HNV et sont gérées par le contrôleur de réseau. Pour savoir quelles sont ces deux adresses IP HNV
PS > Get-ProviderAddress
# Sample Output
ProviderAddress : 10.10.182.66
MAC Address : 40-1D-D8-B7-1C-04
Subnet Mask : 255.255.255.128
Default Gateway : 10.10.182.1
VLAN : VLAN11
ProviderAddress : 10.10.182.67
MAC Address : 40-1D-D8-B7-1C-05
Subnet Mask : 255.255.255.128
Default Gateway : 10.10.182.1
VLAN : VLAN11
Ces adresses IP du fournisseur HNV sont affectées aux cartes Ethernet créées dans un compartiment réseau TCPIP distinct et ont un nom de carte de VLANX où X est le réseau logique du fournisseur HNV (transport).
La connectivité entre deux hôtes Hyper-V à l’aide du réseau logique du fournisseur HNV peut être effectuée par un test ping avec un paramètre de compartiment supplémentaire (-c Y) où Y est le compartiment réseau TCPIP dans lequel les PAhostVNICs sont créés. Ce compartiment peut être déterminé en exécutant :
C:\> ipconfig /allcompartments /all
<snip> ...
==============================================================================
Network Information for *Compartment 3*
==============================================================================
Host Name . . . . . . . . . . . . : SA18n30-2
<snip> ...
Ethernet adapter VLAN11:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
Physical Address. . . . . . . . . : 40-1D-D8-B7-1C-04
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::5937:a365:d135:2899%39(Preferred)
IPv4 Address. . . . . . . . . . . : 10.10.182.66(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.128
Default Gateway . . . . . . . . . : 10.10.182.1
NetBIOS over Tcpip. . . . . . . . : Disabled
Ethernet adapter VLAN11:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
Physical Address. . . . . . . . . : 40-1D-D8-B7-1C-05
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::28b3:1ab1:d9d9:19ec%44(Preferred)
IPv4 Address. . . . . . . . . . . : 10.10.182.67(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.128
Default Gateway . . . . . . . . . : 10.10.182.1
NetBIOS over Tcpip. . . . . . . . : Disabled
*Ethernet adapter vEthernet (PAhostVNic):*
<snip> ...
Notes
Les adaptateurs de carte réseau virtuelle hôte PA ne sont pas utilisés dans le chemin des données et n’ont donc pas d’adresse IP affectée à l’adaptateur « vEthernet (PAhostVNic). »
Par exemple, supposons que les hôtes Hyper-V 1 et 2 disposent d’adresses IP du fournisseur HNV (PA) :
Ordinateur hôte Hyper-V | Adresse IP pa 1 | Adresse IP pa 2 |
---|---|---|
Hôte 1 | 10.10.182.64 | 10.10.182.65 |
Hôte 2 | 10.10.182.66 | 10.10.182.67 |
nous pouvons effectuer un test ping entre les deux à l’aide de la commande suivante pour vérifier la connectivité réseau logique du fournisseur HNV.
# Ping the first PA IP Address on Hyper-V Host 2 from the first PA IP address on Hyper-V Host 1 in compartment (-c) 3
C:\> ping -c 3 10.10.182.66 -S 10.10.182.64
# Ping the second PA IP Address on Hyper-V Host 2 from the first PA IP address on Hyper-V Host 1 in compartment (-c) 3
C:\> ping -c 3 10.10.182.67 -S 10.10.182.64
# Ping the first PA IP Address on Hyper-V Host 2 from the second PA IP address on Hyper-V Host 1 in compartment (-c) 3
C:\> ping -c 3 10.10.182.66 -S 10.10.182.65
# Ping the second PA IP Address on Hyper-V Host 2 from the second PA IP address on Hyper-V Host 1 in compartment (-c) 3
C:\> ping -c 3 10.10.182.67 -S 10.10.182.65
Assainissement Si le test ping du fournisseur HNV ne fonctionne pas, vérifiez votre connectivité réseau physique, y compris la configuration du réseau virtuel. Les cartes réseau physiques sur chaque hôte Hyper-V doivent être en mode jonction sans réseau local virtuel spécifique affecté. La carte réseau réseau virtuelle hôte de gestion doit être isolée du réseau virtuel du réseau logique de gestion.
PS C:\> Get-NetAdapter "Ethernet 4" |fl
Name : Ethernet 4
InterfaceDescription : <NIC> Ethernet Adapter
InterfaceIndex : 2
MacAddress : F4-52-14-55-BC-21
MediaType : 802.3
PhysicalMediaType : 802.3
InterfaceOperationalStatus : Up
AdminStatus : Up
LinkSpeed(Gbps) : 10
MediaConnectionState : Connected
ConnectorPresent : True
*VlanID : 0*
DriverInformation : Driver Date 2016-08-28 Version 5.25.12665.0 NDIS 6.60
# VMM uses the older PowerShell cmdlet <Verb>-VMNetworkAdapterVlan to set VLAN isolation
PS C:\> Get-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName <Mgmt>
VMName VMNetworkAdapterName Mode VlanList
------ -------------------- ---- --------
<snip> ...
Mgmt Access 7
<snip> ...
# SDNExpress deployments use the newer PowerShell cmdlet <Verb>-VMNetworkAdapterIsolation to set VLAN isolation
PS C:\> Get-VMNetworkAdapterIsolation -ManagementOS
<snip> ...
IsolationMode : Vlan
AllowUntaggedTraffic : False
DefaultIsolationID : 7
MultiTenantStack : Off
ParentAdapter : VMInternalNetworkAdapter, Name = 'Mgmt'
IsTemplate : True
CimSession : CimSession: .
ComputerName : SA18N30-2
IsDeleted : False
<snip> ...
Vérifier la prise en charge des images MTU et Jumbo sur le réseau logique du fournisseur HNV
Un autre problème courant dans le réseau logique du fournisseur HNV est que les ports réseau physiques et/ou la carte Ethernet n’ont pas suffisamment de MTU configuré pour gérer la surcharge à partir de l’encapsulation VXLAN (ou NVGRE).
Notes
Certaines cartes Et pilotes Ethernet prennent en charge le nouveau mot clé *EncapOverhead qui sera automatiquement défini par l’Agent hôte du contrôleur de réseau sur une valeur de 160. Cette valeur sera ensuite ajoutée à la valeur du mot clé *JumboPacket dont la somme est utilisée comme MTU annoncé. par exemple *EncapOverhead = 160 et *JumboPacket = 1514 => MTU = 1674B
# Check whether or not your Ethernet card and driver support *EncapOverhead
PS C:\ > Test-EncapOverheadSettings
Verifying Physical Nic : <NIC> Ethernet Adapter #2
Physical Nic <NIC> Ethernet Adapter #2 can support SDN traffic. Encapoverhead value set on the nic is 160
Verifying Physical Nic : <NIC> Ethernet Adapter
Physical Nic <NIC> Ethernet Adapter can support SDN traffic. Encapoverhead value set on the nic is 160
Pour tester si le réseau logique du fournisseur HNV prend en charge la taille MTU supérieure de bout en bout, utilisez l’applet de commande Test-LogicalNetworkSupportsJumboPacket :
# Get credentials for both source host and destination host (or use the same credential if in the same domain)
$sourcehostcred = Get-Credential
$desthostcred = Get-Credential
# Use the Management IP Address or FQDN of the Source and Destination Hyper-V hosts
Test-LogicalNetworkSupportsJumboPacket -SourceHost sa18n30-2 -DestinationHost sa18n30-3 -SourceHostCreds $sourcehostcred -DestinationHostCreds $desthostcred
# Failure Results
SourceCompartment : 3
pinging Source PA: 10.10.182.66 to Destination PA: 10.10.182.64 with Payload: 1632
pinging Source PA: 10.10.182.66 to Destination PA: 10.10.182.64 with Payload: 1472
Checking if physical nics support jumbo packets on host
Physical Nic <NIC> Ethernet Adapter #2 can support SDN traffic. Encapoverhead value set on the nic is 160
Cannot send jumbo packets to the destination. Physical switch ports may not be configured to support jumbo packets.
Checking if physical nics support jumbo packets on host
Physical Nic <NIC> Ethernet Adapter #2 can support SDN traffic. Encapoverhead value set on the nic is 160
Cannot send jumbo packets to the destination. Physical switch ports may not be configured to support jumbo packets.
Correction
- Ajustez la taille MTU sur les ports de commutateur physique pour qu’ils soient au moins 1674B (y compris 14B en-tête et bande-annonce Ethernet)
- Si votre carte de carte de carte réseau ne prend pas en charge le mot clé EncapOverhead, ajustez le mot clé JumboPacket sur au moins 1674B
Vérifier la connectivité de la carte réseau de machine virtuelle du locataire
Chaque carte réseau de machine virtuelle affectée à une machine virtuelle invitée dispose d’un mappage d’autorité de certification entre l’adresse client privée (CA) et l’espace d’adressage du fournisseur HNV (PA). Ces mappages sont conservés dans les tables de serveur OVSDB sur chaque hôte Hyper-V et sont disponibles en exécutant l’applet de commande suivante.
# Get all known PA-CA Mappings from this particular Hyper-V Host
PS > Get-PACAMapping
CA IP Address CA MAC Address Virtual Subnet ID PA IP Address
------------- -------------- ----------------- -------------
10.254.254.2 00-1D-D8-B7-1C-43 4115 10.10.182.67
10.254.254.3 00-1D-D8-B7-1C-43 4115 10.10.182.67
192.168.1.5 00-1D-D8-B7-1C-07 4114 10.10.182.65
10.254.254.1 40-1D-D8-B7-1C-06 4115 10.10.182.66
192.168.1.1 40-1D-D8-B7-1C-06 4114 10.10.182.66
192.168.1.4 00-1D-D8-B7-1C-05 4114 10.10.182.66
Notes
Si les mappages ca-PA attendus ne sont pas générés pour une machine virtuelle cliente donnée, vérifiez les ressources de configuration de machine virtuelle et de configuration IP sur le contrôleur de réseau à l’aide de l’applet de commande Get-NetworkControllerNetworkInterface . Vérifiez également les connexions établies entre l’agent hôte NC et les nœuds de contrôleur de réseau.
Avec ces informations, un ping de machine virtuelle client peut désormais être lancé par l’hôte à partir du contrôleur de réseau à l’aide de l’applet de commande Test-VirtualNetworkConnection .
Scénarios de résolution des problèmes spécifiques
Les sections suivantes fournissent des conseils pour résoudre des problèmes spécifiques.
Aucune connectivité réseau entre deux machines virtuelles clientes
- [Locataire] Vérifiez que Windows pare-feu dans les machines virtuelles clientes ne bloque pas le trafic.
- [Locataire] Vérifiez que les adresses IP ont été affectées à la machine virtuelle du locataire en exécutant ipconfig.
- [Hôte] Exécutez Test-VirtualNetworkConnection à partir de l’hôte Hyper-V pour valider la connectivité entre les deux machines virtuelles client en question.
Notes
VsID fait référence à l’ID de sous-réseau virtuel. Dans le cas de VXLAN, il s’agit de l’identificateur de réseau VXLAN (VNI). Vous pouvez trouver cette valeur en exécutant l’applet de commande Get-PACAMapping .
Exemple
$password = ConvertTo-SecureString -String "password" -AsPlainText -Force
$cred = New-Object pscredential -ArgumentList (".\administrator", $password)
Créez une autorité de certification ping entre « Machine virtuelle web verte 1 » avec l’adresse IP SenderCA de 192.168.1.4 sur l’hôte « sa18n30-2.sa18.nttest.microsoft.com » avec l’adresse IP Mgmt de 10.127.132.153 vers l’ip listenerCA de 192.168.1.5 attachée au sous-réseau virtuel (VSID) 4114.
Test-VirtualNetworkConnection -OperationId 27 -HostName sa18n30-2.sa18.nttest.microsoft.com -MgmtIp 10.127.132.153 -Creds $cred -VMName "Green Web VM 1" -VMNetworkAdapterName "Green Web VM 1" -SenderCAIP 192.168.1.4 -SenderVSID 4114 -ListenerCAIP 192.168.1.5 -ListenerVSID 4114
Test-VirtualNetworkConnection at command pipeline position 1
Starting CA-space ping test
Starting trace session
Ping to 192.168.1.5 succeeded from address 192.168.1.4
Rtt = 0 ms
CA Routing Information:
Local IP: 192.168.1.4
Local VSID: 4114
Remote IP: 192.168.1.5
Remote VSID: 4114
Distributed Router Local IP: 192.168.1.1
Distributed Router Local MAC: 40-1D-D8-B7-1C-06
Local CA MAC: 00-1D-D8-B7-1C-05
Remote CA MAC: 00-1D-D8-B7-1C-07
Next Hop CA MAC Address: 00-1D-D8-B7-1C-07
PA Routing Information:
Local PA IP: 10.10.182.66
Remote PA IP: 10.10.182.65
<snip> ...
- [Locataire] Vérifiez qu’il n’existe aucune stratégie de pare-feu distribuée spécifiée sur le sous-réseau virtuel ou les interfaces réseau de machines virtuelles qui bloquent le trafic.
Interrogez l’API REST du contrôleur de réseau trouvée dans l’environnement de démonstration à sa18n30nc dans le domaine sa18.nttest.microsoft.com.
$uri = "https://sa18n30nc.sa18.nttest.microsoft.com"
Get-NetworkControllerAccessControlList -ConnectionUri $uri
Examinez la configuration IP et les sous-réseaux virtuels qui font référence à cette liste de contrôle d’accès
- [Hôte] Exécuter
Get-ProviderAddress
sur les deux hôtes Hyper-V hébergeant les deux machines virtuelles client en question, puis exécuterTest-LogicalNetworkConnection
ouping -c <compartment>
à partir de l’hôte Hyper-V pour valider la connectivité sur le réseau logique du fournisseur HNV - [Hôte] Vérifiez que les paramètres MTU sont corrects sur les hôtes Hyper-V et tous les appareils de basculement de couche 2 entre les hôtes Hyper-V. Exécutez
Test-EncapOverheadValue
tous les hôtes Hyper-V en question. Vérifiez également que tous les commutateurs de couche 2 entre eux ont défini sur 1674 octets au moins pour tenir compte d’une surcharge maximale de 160 octets. - [Hôte] Si les adresses IP pa ne sont pas présentes et/ou si la connectivité de l’autorité de certification est interrompue, vérifiez que la stratégie réseau a été reçue. Exécutez
Get-PACAMapping
pour voir si les règles d’encapsulation et les mappages CA-PA requis pour créer des réseaux virtuels de superposition sont correctement établis. - [Hôte] Vérifiez que l’agent hôte du contrôleur de réseau est connecté au contrôleur de réseau. Exécuter
netstat -anp tcp |findstr 6640
pour voir si - [Hôte] Vérifiez que l’ID d’hôte dans HKLM/ correspond à l’ID d’instance des ressources serveur hébergeant les machines virtuelles clientes.
- [Hôte] Vérifiez que l’ID de profil de port correspond à l’ID d’instance des interfaces réseau de machine virtuelle des machines virtuelles clientes.
Journalisation, suivi et diagnostics avancés
Les sections suivantes fournissent des informations sur les diagnostics avancés, la journalisation et le suivi.
Journalisation centralisée du contrôleur de réseau
Le contrôleur de réseau peut collecter automatiquement les journaux du débogueur et les stocker dans un emplacement centralisé. La collection de journaux peut être activée lorsque vous déployez le contrôleur de réseau pour la première fois ou à tout moment ultérieurement. Les journaux sont collectés à partir du contrôleur de réseau et des éléments réseau gérés par le contrôleur de réseau : ordinateurs hôtes, équilibreurs de charge logicielle (SLB) et machines de passerelle.
Ces journaux incluent des journaux de débogage pour le cluster Contrôleur de réseau, l’application du contrôleur de réseau, les journaux de passerelle, SLB, la mise en réseau virtuelle et le pare-feu distribué. Chaque fois qu’un nouvel hôte/SLB/passerelle est ajouté au contrôleur de réseau, la journalisation est démarrée sur ces machines. De même, lorsqu’un hôte/SLB/passerelle est supprimé du contrôleur de réseau, la journalisation est arrêtée sur ces machines.
Activation de la journalisation
La journalisation est automatiquement activée lorsque vous installez le cluster Contrôleur de réseau à l’aide de l’applet de commande Install-NetworkControllerCluster . Par défaut, les journaux sont collectés localement sur les nœuds du contrôleur de réseau sur %systemdrive%\SDNDiagnostics. Il est FORTEMENT recommandé de modifier cet emplacement pour qu’il s’agit d’un partage de fichiers distant (non local).
Les journaux de cluster du contrôleur de réseau sont stockés à l’emplacement %programData%\Windows Fabric\log\Traces. Vous pouvez spécifier un emplacement centralisé pour la collection de journaux avec le paramètre DiagnosticLogLocation avec la recommandation qu’il s’agit également d’un partage de fichiers distant.
Si vous souhaitez restreindre l’accès à cet emplacement, vous pouvez fournir les informations d’identification d’accès avec le paramètre LogLocationCredential . Si vous fournissez les informations d’identification pour accéder à l’emplacement du journal, vous devez également fournir le paramètre CredentialEncryptionCertificate , qui est utilisé pour chiffrer les informations d’identification stockées localement sur les nœuds du contrôleur de réseau.
Avec les paramètres par défaut, il est recommandé de disposer d’au moins 75 Go d’espace libre à l’emplacement central et de 25 Go sur les nœuds locaux (s’il n’utilise pas d’emplacement central) pour un cluster contrôleur de réseau à trois nœuds.
Modifier les paramètres de journalisation
Vous pouvez modifier les paramètres de journalisation à tout moment à l’aide de l’applet de Set-NetworkControllerDiagnostic
commande. Les paramètres suivants peuvent être modifiés :
- Emplacement du journal centralisé. Vous pouvez modifier l’emplacement pour stocker tous les journaux, avec le
DiagnosticLogLocation
paramètre. - Informations d’identification pour accéder à l’emplacement du journal. Vous pouvez modifier les informations d’identification pour accéder à l’emplacement du journal, avec le
LogLocationCredential
paramètre. - Passez à la journalisation locale. Si vous avez fourni un emplacement centralisé pour stocker les journaux, vous pouvez revenir à la journalisation localement sur les nœuds du contrôleur de réseau avec le
UseLocalLogLocation
paramètre (non recommandé en raison des exigences d’espace disque volumineux). - Étendue de journalisation. Par défaut, tous les journaux sont collectés. Vous pouvez modifier l’étendue pour collecter uniquement les journaux de cluster du contrôleur de réseau.
- Niveau de journalisation. Le niveau de journalisation par défaut est Informational. Vous pouvez le modifier en erreur, avertissement ou détaillé.
- Temps de vieillissement des journaux. Les journaux sont stockés de manière circulaire. Vous avez trois jours de journalisation par défaut, que vous utilisiez la journalisation locale ou la journalisation centralisée. Vous pouvez modifier cette limite de temps avec le paramètre LogTimeLimitInDays .
- Taille du vieillissement des journaux. Par défaut, vous disposez d’un maximum de 75 Go de données de journalisation si vous utilisez la journalisation centralisée et 25 Go si vous utilisez la journalisation locale. Vous pouvez modifier cette limite avec le paramètre LogSizeLimitInMBs .
Collecte des journaux et des traces
Les déploiements VMM utilisent la journalisation centralisée pour le contrôleur de réseau par défaut. L’emplacement du partage de fichiers pour ces journaux est spécifié lors du déploiement du modèle de service contrôleur de réseau.
Si un emplacement de fichier n’a pas été spécifié, la journalisation locale est utilisée sur chaque nœud du contrôleur de réseau avec des journaux enregistrés sous C:\Windows\tracing\SDNDiagnostics. Ces journaux sont enregistrés à l’aide de la hiérarchie suivante :
- CrashDumps
- NCApplicationCrashDumps
- NCApplicationLogs
- PerfCounters
- SDNDiagnostics
- Traces
Le contrôleur de réseau utilise (Azure) Service Fabric. Service Fabric journaux peuvent être requis lors de la résolution de certains problèmes. Ces journaux sont disponibles sur chaque nœud de contrôleur de réseau à l’adresse C:\ProgramData\Microsoft\Service Fabric.
Si un utilisateur a exécuté l’applet de commande Debug-NetworkController , d’autres journaux seront disponibles sur chaque hôte Hyper-V, qui a été spécifié avec une ressource de serveur dans le contrôleur de réseau. Ces journaux (et traces si activés) sont conservés sous C:\NCDiagnostics
SLB Diagnostics
Erreurs SLBM Fabric (actions du fournisseur de services d’hébergement)
- Vérifiez que software Load Balancer Manager (SLBM) fonctionne et que les couches d’orchestration peuvent communiquer entre elles : SLBM -> SLB Mux et SLBM -> Agents hôtes SLB. Exécutez DumpSlbRestState à partir de n’importe quel nœud avec accès au point de terminaison REST du contrôleur de réseau.
- Validez les SDNSLBMPerfCounters dans PerfMon sur l’une des machines virtuelles du nœud contrôleur de réseau (de préférence le nœud de contrôleur de réseau principal - Get-NetworkControllerReplica) :
- Le moteur Load Balancer (LB) est-il connecté à SLBM ? (Configurations LBEngine SLBM total> 0)
- SGBD connaît-il au moins ses propres points de terminaison ? (Total >des points de terminaison VIP = 2)
- Les hôtes Hyper-V (DIP) sont-ils connectés à SLBM ? (Clients HP connectés == serveurs num)
- SGBS est-il connecté à Muxes ? (Muxes connectés == Muxes healthy on SLBM == Muxes signalant sain = # SLB Muxes machines virtuelles).
- Vérifiez que le routeur BGP configuré est correctement appairé avec l’expérience MUX SLB
- Si vous utilisez RRAS avec l’accès à distance (autrement dit, machine virtuelle BGP) :
- Get-BgpPeer doit afficher connecté
- Get-BgpRouteInformation doit afficher au moins un itinéraire pour l’adresse IP virtuelle auto-SGB
- Si vous utilisez le commutateur Top-of-Rack (ToR) physique en tant que pair BGP, consultez votre documentation
- Par exemple : # show bgp instance
- Si vous utilisez RRAS avec l’accès à distance (autrement dit, machine virtuelle BGP) :
- Valider les compteurs SlbMuxPerfCounters et SLBMUX dans PerfMon sur la machine virtuelle SLB Mux
- Vérifier l’état de configuration et les plages d’adresses IP virtuelles dans la ressource Software Load Balancer Manager
- Get-NetworkControllerLoadBalancerConfiguration -ConnectionUri <https://< FQDN ou IP>| convertto-json -depth 8 (vérifiez les plages d’adresses IP virtuelles dans les pools IP et vérifiez que les adresses IP virtuelles SGB (LoadBalanacerManagerIPAddress) et les adresses IP virtuelles accessibles par le locataire se trouvent dans ces plages)
- Get-NetworkControllerIpPool -NetworkId «< ID> de ressource de réseau logique ip ip virtuelle publique/privée » -SubnetId «< ID> de ressource de sous-réseau logique IP/privé » -ResourceId «< ID> de ressource du pool IP » -ConnectionUri $uri |convertto-json -depth 8
- Debug-NetworkControllerConfigurationState -
- Get-NetworkControllerLoadBalancerConfiguration -ConnectionUri <https://< FQDN ou IP>| convertto-json -depth 8 (vérifiez les plages d’adresses IP virtuelles dans les pools IP et vérifiez que les adresses IP virtuelles SGB (LoadBalanacerManagerIPAddress) et les adresses IP virtuelles accessibles par le locataire se trouvent dans ces plages)
Si l’une des vérifications ci-dessus échoue, l’état SLB du locataire est également en mode d’échec.
Assainissement En fonction des informations de diagnostic suivantes présentées, corrigez les éléments suivants :
- Vérifier que les multiplexeurs SLB sont connectés
- Résoudre les problèmes de certificat
- Résoudre les problèmes de connectivité réseau
- Vérifiez que les informations de peering BGP sont correctement configurées
- Vérifiez que l’ID d’hôte dans le Registre correspond à l’ID d’instance de serveur dans la ressource de serveur (annexe de référence pour le code d’erreur HostNotConnected )
- Collecter les journaux d’activité
Erreurs de locataire SLBM (fournisseur de services d’hébergement et actions de locataire)
- [Hôte] Vérifiez Debug-NetworkControllerConfigurationState pour voir si des ressources LoadBalancer sont dans un état d’erreur. Essayez d’atténuer en suivant le tableau des éléments d’action de l’Annexe.
- Vérifier qu’un point de terminaison d’adresse IP virtuelle est présent et que les itinéraires publicitaires
- Vérifiez le nombre de points de terminaison DIP découverts pour le point de terminaison d’adresse IP virtuelle
- [Locataire] Valider que les ressources Load Balancer sont correctement spécifiées
- Valider les points de terminaison DIP inscrits dans SLBM hébergent des machines virtuelles clientes, qui correspondent aux configurations IP du pool d’adresses back-end LoadBalancer
- [Hôte] Si les points de terminaison DIP ne sont pas détectés ou connectés :
- Vérifier Debug-NetworkControllerConfigurationState
- Vérifiez que l’agent hôte NC et SLB est correctement connecté au coordinateur d’événements du contrôleur de réseau à l’aide de
netstat -anp tcp |findstr 6640)
- Vérifiez que l’agent hôte NC et SLB est correctement connecté au coordinateur d’événements du contrôleur de réseau à l’aide de
- Vérifier HostId dans nchostagent service regkey (référencer le code d’erreur HostNotConnected dans l’Annexe) correspond à l’ID d’instance de la ressource de serveur correspondante (
Get-NCServer |convertto-json -depth 8
) - Vérifier l’ID de profil de port pour le port de machine virtuelle correspond à l’ID d’instance de la ressource de carte réseau de machine virtuelle correspondante
- Vérifier Debug-NetworkControllerConfigurationState
- [Fournisseur d’hébergement] Collecter les journaux
Suivi SLB Mux
Les informations du logiciel Load Balancer Muxes peuvent également être déterminées via observateur d'événements.
- Cliquez sur « Afficher les journaux d’activité d’analyse et de débogage » sous le menu Affichage observateur d'événements
- Accédez à « Journaux des applications et des services » > Microsoft > Windows > Trace SlbMuxDriver > dans observateur d'événements
- Cliquez avec le bouton droit sur celui-ci et sélectionnez « Activer le journal »
Notes
Il est recommandé de n’activer cette journalisation que pendant une courte période pendant que vous essayez de reproduire un problème
Suivi VFP et vSwitch
À partir d’un hôte Hyper-V qui héberge une machine virtuelle invitée attachée à un réseau virtuel client, vous pouvez collecter une trace VFP pour déterminer où les problèmes peuvent se trouver.
netsh trace start provider=Microsoft-Windows-Hyper-V-VfpExt overwrite=yes tracefile=vfp.etl report=disable provider=Microsoft-Windows-Hyper-V-VmSwitch
netsh trace stop
netsh trace convert .\vfp.etl ov=yes