Problembehandlung für den softwaredefinierte Windows Server-Netzwerkstapel
In diesem Leitfaden werden die allgemeinen SDN-Fehler und -Fehlerszenarien (Software Defined Networking) untersucht und ein Problembehandlungsworkflow beschrieben, der die verfügbaren Diagnosetools verwendet. Weitere Informationen zu SDN finden Sie unter Software Defined Networking.
Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, Versionen 21H2 und 20H2
Fehlertypen
Die folgende Liste stellt die Klasse von Problemen dar, die am häufigsten bei der Hyper-V-Netzwerkvirtualisierung (HNVv1) in Windows Server 2012 R2 aus in-market-Produktionsbereitstellungen auftreten und in vielerlei Hinsicht mit den gleichen Arten von Problemen übereinstimmen, die in Windows Server 2016 HNVv2 mit dem neuen Software Defined Network (SDN)-Stapel (Software Defined Network) auftreten.
Die meisten Fehler können in eine kleine Gruppe von Klassen klassifiziert werden:
Ungültige oder nicht unterstützte Konfiguration
Ein Benutzer ruft die NorthBound-API falsch oder mit einer ungültigen Richtlinie auf.
Fehler in der Richtlinienanwendung
Die Richtlinie vom Netzwerkcontroller wurde nicht an einen Hyper-V-Host übermittelt, verzögert oder auf allen Hyper-V-Hosts nicht aktuell (z. B. nach einer Livemigration).
Konfigurationsdrift oder Softwarefehler
Datenpfadprobleme, die zu verworfenen Paketen führen.
Externer Fehler im Zusammenhang mit NIC-Hardware/-Treibern oder dem zugrunde liegenden Netzwerkfabric
Fehlverhalten bei Aufgabenauslagerungen (z. B. VMQ) oder falsch konfiguriertem Netzwerkfabric (z. B. MTU)
Dieser Leitfaden zur Problembehandlung untersucht jede dieser Fehlerkategorien und empfiehlt bewährte Methoden und Diagnosetools, die zum Identifizieren und Beheben des Fehlers verfügbar sind.
Diagnosetools
Bevor wir die Problembehandlungsworkflows für jeden dieser Fehlertypen besprechen, sehen wir uns die verfügbaren Diagnosetools an.
Um die Diagnosetools des Netzwerkcontrollers (Steuerungspfad) verwenden zu können, müssen Sie zuerst das RSAT-NetworkController
Feature installieren und das NetworkControllerDiagnostics
Modul importieren:
Add-WindowsFeature RSAT-NetworkController -IncludeManagementTools
Import-Module NetworkControllerDiagnostics
Um die Diagnosetools für die HNV-Diagnose (Datenpfad) verwenden zu können, müssen Sie das HNVDiagnostics
Modul importieren:
# Assumes RSAT-NetworkController feature has already been installed
Import-Module hnvdiagnostics
Netzwerkcontroller Diagnose
Diese Cmdlets sind auf TechNet im Cmdlet Netzwerkcontrollerdiagnose dokumentiert. Sie helfen dabei, Probleme mit der Netzwerkrichtlinienkonsistenz im Kontrollpfad zwischen Netzwerkcontrollerknoten und zwischen dem Netzwerkcontroller und den NC-Host-Agents zu identifizieren, die auf den Hyper-V-Hosts ausgeführt werden.
Die Debug-ServiceFabricNodeStatus
Cmdlets und Get-NetworkControllerReplica
müssen auf einem der virtuellen Computer des Netzwerkcontrollerknotens ausgeführt werden. Alle anderen NC-Diagnose-Cmdlets können von jedem Host ausgeführt werden, der über Eine Verbindung mit dem Netzwerkcontroller verfügt und sich entweder in der Sicherheitsgruppe Netzwerkcontrollerverwaltung (Kerberos) befindet oder zugriff auf das X.509-Zertifikat zum Verwalten des Netzwerkcontrollers hat.
Hyper-V-Host Diagnose
Diese Cmdlets sind auf TechNet im Cmdlet Hyper-V-Netzwerkvirtualisierung (HNV) Diagnostics dokumentiert. Sie helfen dabei, Probleme im Datenpfad zwischen virtuellen Mandantencomputern (Ost/West) und eingehendem Datenverkehr über eine SLB-VIP (Nord/Süd) zu identifizieren.
Die Debug-VirtualMachineQueueOperation
Tests , , Get-CustomerRoute
Get-PACAMapping
, Get-ProviderAddress
, Get-VMSwitchExternalPortId
Get-VMNetworkAdapterPortId
, und Test-EncapOverheadSettings
sind alle lokalen Tests, die von jedem Hyper-V-Host ausgeführt werden können. Die anderen Cmdlets rufen Datenpfadtests über den Netzwerkcontroller auf und benötigen daher Zugriff auf den Netzwerkcontroller, wie oben beschrieben.
GitHub
Das Microsoft/SDN-GitHub-Repository enthält viele Beispielskripts und Workflows, die auf diesen vordefinierten Cmdlets aufbauen. Insbesondere Diagnoseskripts finden Sie im Ordner Diagnose . Helfen Sie uns, an diesen Skripts mitzuwirken, indem Sie Pull Requests übermitteln.
Problembehandlung bei Workflows und Leitfäden
[Hoster] Überprüfen der Systemintegrität
Es gibt eine eingebettete Ressource namens Konfigurationsstatus in mehreren netzwerkcontroller-Ressourcen. Der Konfigurationsstatus enthält Informationen zur Systemintegrität, einschließlich der Konsistenz zwischen der Konfiguration des Netzwerkcontrollers und dem tatsächlichen (ausgeführten) Zustand auf den Hyper-V-Hosts.
Um den Konfigurationsstatus zu überprüfen, führen Sie Folgendes von jedem Hyper-V-Host mit Konnektivität mit dem Netzwerkcontroller aus.
Hinweis
Der Wert für den NetworkController
Parameter sollte entweder der FQDN oder die IP-Adresse sein, die auf dem Antragstellernamen des für den Netzwerkcontroller erstellten X.509-Zertifikats >basiert.
Der Credential
Parameter muss nur angegeben werden, wenn der Netzwerkcontroller die Kerberos-Authentifizierung verwendet (typisch für VMM-Bereitstellungen). Die Anmeldeinformationen müssen für einen Benutzer gelten, der sich in der Sicherheitsgruppe "Netzwerkcontrollerverwaltung" befindet.
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
Unten sehen Sie eine Beispielmeldung zum Konfigurationsstatus:
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.
----------------------------------------------------------------------------------------------------------
Hinweis
Es gibt einen Fehler im System, bei dem sich die Netzwerkschnittstellenressourcen für die SLB-Mux Transit-VM-NIC im Fehlerzustand "Virtueller Switch – Host nicht mit Controller verbunden" befinden. Dieser Fehler kann ignoriert werden, wenn die IP-Konfiguration in der VM-NIC-Ressource auf eine IP-Adresse aus dem IP-Pool des logischen Transitnetzwerks festgelegt ist.
Es gibt einen zweiten Fehler im System, bei dem sich die Netzwerkschnittstellenressourcen für die Gateway-HNV-Anbieter-VM-NICs im Fehlerzustand "Virtual Switch – PortBlocked" befinden. Dieser Fehler kann auch ignoriert werden, wenn die IP-Konfiguration in der VM-NIC-Ressource (entwurfsbedingt) auf NULL festgelegt ist.
Die folgende Tabelle zeigt die Liste der Fehlercodes, Meldungen und Folgeaktionen, die basierend auf dem beobachteten Konfigurationszustand ausgeführt werden müssen.
Code | Nachricht | Aktion |
---|---|---|
Unbekannt | Unbekannter Fehler | |
HostUnreachable | Der Hostcomputer ist nicht erreichbar | Überprüfen der Netzwerkkonnektivität der Verwaltung zwischen Netzwerkcontroller und Host |
PAIpAddressExhausted | Die PA-IP-Adressen sind erschöpft. | Erhöhen der IP-Poolgröße des logischen Subnetzes des HNV-Anbieters |
PAMacAddressExhausted | Die PA-Mac-Adressen sind erschöpft | Vergrößern des Mac-Poolbereichs |
PAAddressConfigurationFailure | Fehler beim Einfügen von PA-Adressen für den Host | Überprüfen Sie die Verwaltungsnetzwerkkonnektivität zwischen Netzwerkcontroller und Host. |
CertificateNotTrusted | Zertifikat ist nicht vertrauenswürdig | Korrigieren Sie die Zertifikate, die für die Kommunikation mit dem Host verwendet werden. |
CertificateNotAuthorized | Zertifikat nicht autorisiert | Korrigieren Sie die Zertifikate, die für die Kommunikation mit dem Host verwendet werden. |
PolicyConfigurationFailureOnVfp | Fehler beim Konfigurieren von VFP-Richtlinien | Dies ist ein Laufzeitfehler. Keine eindeutigen Problemumgehungen. Protokolle erfassen |
PolicyConfigurationFailure | Fehler beim Pushen von Richtlinien an die Hosts aufgrund von Kommunikationsfehlern oder anderen Fehlern im NetworkController. | Keine eindeutigen Aktionen. Dies ist auf einen Fehler bei der Verarbeitung des Zielzustands in den Netzwerkcontrollermodulen zurückzuführen. Protokolle erfassen |
HostNotConnectedToController | Der Host ist noch nicht mit dem Netzwerkcontroller verbunden. | Portprofil, das nicht auf dem Host oder dem Host angewendet wird, ist vom Netzwerkcontroller nicht erreichbar. Überprüfen Sie, ob der Registrierungsschlüssel HostID mit der Instanz-ID der Serverressource übereinstimmt. |
MultipleVfpEnabledSwitches | Auf dem Host sind mehrere VFp-fähige Switches vorhanden. | Löschen Sie einen der Switches, da der Netzwerkcontrollerhost-Agent nur einen vSwitch mit aktivierter VFP-Erweiterung unterstützt. |
PolicyConfigurationFailure | Fehler beim Pushen von VNET-Richtlinien für eine VMNic aufgrund von Zertifikat- oder Konnektivitätsfehlern | Überprüfen Sie, ob die richtigen Zertifikate bereitgestellt wurden (Name des Zertifikatantragstellers muss mit dem FQDN des Hosts übereinstimmen). Überprüfen Sie außerdem die Hostkonnektivität mit dem Netzwerkcontroller. |
PolicyConfigurationFailure | Fehler beim Pushen von vSwitch-Richtlinien für eine VMNic aufgrund von Zertifikat- oder Konnektivitätsfehlern | Überprüfen Sie, ob die richtigen Zertifikate bereitgestellt wurden (Name des Zertifikatantragstellers muss mit dem FQDN des Hosts übereinstimmen). Überprüfen Sie außerdem die Hostkonnektivität mit dem Netzwerkcontroller. |
PolicyConfigurationFailure | Fehler beim Pushen von Firewallrichtlinien für eine VMNic aufgrund von Zertifikat- oder Konnektivitätsfehlern | Überprüfen Sie, ob die richtigen Zertifikate bereitgestellt wurden (Name des Zertifikatantragstellers muss mit dem FQDN des Hosts übereinstimmen). Überprüfen Sie außerdem die Hostkonnektivität mit dem Netzwerkcontroller. |
DistributedRouterConfigurationFailure | Fehler beim Konfigurieren der Einstellungen des verteilten Routers auf der Host-vNic | TCPIP-Stapelfehler. Möglicherweise ist die Bereinigung der PA- und DR-Host-VNICs auf dem Server erforderlich, auf dem dieser Fehler gemeldet wurde. |
DhcpAddressAllocationFailure | Fehler bei der DHCP-Adresszuordnung für eine VMNic | Überprüfen Sie, ob das Attribut für die statische IP-Adresse für die NIC-Ressource konfiguriert ist. |
CertificateNotTrusted CertificateNotAuthorized |
Fehler beim Herstellen einer Verbindung mit Mux aufgrund von Netzwerk- oder Zertifikatfehlern | Überprüfen Sie den numerischen Code, der im Fehlermeldungscode angegeben ist: Dies entspricht dem Winsock-Fehlercode. Zertifikatfehler sind präzise (z. B. Zertifikat kann nicht überprüft werden, Zertifikat nicht autorisiert usw.) |
HostUnreachable | MUX ist fehlerhaft (häufig ist BGPRouter getrennt) | Der BGP-Peer auf dem RRAS-Switch (BGP-VM) oder top-of-Rack (ToR) ist nicht erreichbar oder das Peering nicht erfolgreich. Überprüfen Sie die BGP-Einstellungen sowohl für die Software- Load Balancer Multiplexer-Ressource als auch für den BGP-Peer (ToR- oder RRAS-VM) |
HostNotConnectedToController | Der SLB-Host-Agent ist nicht verbunden | Überprüfen Sie, ob der SLB-Host-Agent-Dienst ausgeführt wird. Weitere Informationen finden Sie in den Protokollen des SLB-Host-Agents (automatisch ausgeführt), warum für den Fall, dass SLBM (NC) das vom Ausführungsstatus des Host-Agents dargestellte Zertifikat abgelehnt hat, nuancierte Informationen enthält. |
PortBlocked | Der VFP-Port ist aufgrund fehlender VNET-/ACL-Richtlinien blockiert. | Überprüfen Sie, ob andere Fehler vorliegen, die dazu führen können, dass die Richtlinien nicht konfiguriert werden. |
Überladene | LoadBalancer MUX ist überladen | Leistungsproblem mit MUX |
RoutePublicationFailure | LoadBalancer MUX ist nicht mit einem BGP-Router verbunden | Überprüfen Sie, ob der MUX mit den BGP-Routern verbunden ist und ob das BGP-Peering ordnungsgemäß eingerichtet ist. |
VirtualServerUnreachable | LoadBalancer MUX ist nicht mit dem SLB-Manager verbunden | Überprüfen der Konnektivität zwischen SLBM und MUX |
QosConfigurationFailure | Fehler beim Konfigurieren von QOS-Richtlinien | Überprüfen Sie, ob ausreichend Bandbreite für alle virtuellen Computer verfügbar ist, wenn QOS-Reservierung verwendet wird. |
Überprüfen der Netzwerkkonnektivität zwischen dem Netzwerkcontroller und dem Hyper-V-Host (NC-Host-Agent-Dienst)
Führen Sie den netstat
folgenden Befehl aus, um zu überprüfen, ob drei ESTABLISHED
Verbindungen zwischen dem NC-Host-Agent und den Netzwerkcontrollerknoten und einem LISTENING
Socket auf dem Hyper-V-Host bestehen.
- LISTENING on port TCP:6640 on Hyper-V Host (NC Host Agent Service)
- Zwei hergestellte Verbindungen von der Hyper-V-Host-IP an Port 6640 zur NC-Knoten-IP an kurzlebigen Ports (> 32000)
- Eine hergestellte Verbindung von der Hyper-V-Host-IP am kurzlebigen Port zur Netzwerkcontroller-REST-IP an Port 6640
Hinweis
Es können nur zwei Verbindungen auf einem Hyper-V-Host hergestellt werden, wenn keine virtuellen Mandantencomputer auf diesem bestimmten Host bereitgestellt werden.
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
Überprüfen der Host-Agent-Dienste
Der Netzwerkcontroller kommuniziert mit zwei Host-Agent-Diensten auf den Hyper-V-Hosts: SLB-Host-Agent und NC-Host-Agent. Es ist möglich, dass ein oder beide dieser Dienste nicht ausgeführt werden. Überprüfen Sie ihren Zustand, und starten Sie sie neu, wenn sie nicht ausgeführt werden.
Get-Service SlbHostAgent
Get-Service NcHostAgent
# (Re)start requires -Force flag
Start-Service NcHostAgent -Force
Start-Service SlbHostAgent -Force
Überprüfen der Integrität des Netzwerkcontrollers
Wenn nicht drei ESTABLISHED
Verbindungen vorhanden sind oder der Netzwerkcontroller nicht reagiert, überprüfen Sie mithilfe der folgenden Cmdlets, ob alle Knoten und Dienstmodule aktiv sind und ausgeführt werden.
# Prints a DIFF state (status is automatically updated if state is changed) of a particular service module replica
Debug-ServiceFabricNodeStatus [-ServiceTypeName] <Service Module>
Die Netzwerkcontroller-Dienstmodule sind:
- ControllerService
- ApiService
- SlbManagerService
- ServiceInsertion
- FirewallService
- VSwitchService
- GatewayManager
- FnmService
- HelperService
- UpdateService
Überprüfen Sie, ob ReplicaStatus
Ready
und HealthState
ist Ok
.
In einer Produktionsbereitstellung mit einem Netzwerkcontroller mit mehreren Knoten können Sie auch überprüfen, auf welchem Knoten sich jeder Dienst primär befindet und auf welchem einzelnen Replikat status.
Get-NetworkControllerReplica
# Sample Output for the API service module
Replicas for service: ApiService
ReplicaRole : Primary
NodeName : SA18N30NC3.sa18.nttest.microsoft.com
ReplicaStatus : Ready
Überprüfen Sie, ob der Replikatstatus für jeden Dienst bereit ist.
Überprüfen auf entsprechende HostIDs und Zertifikate zwischen Netzwerkcontroller und jedem Hyper-V-Host
Führen Sie auf einem Hyper-V-Host die folgenden Cmdlets aus, um zu überprüfen, ob die HostID der Instanz-ID einer Serverressource auf dem Netzwerkcontroller entspricht.
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
Sanierung
Wenn Sie SDNExpress-Skripts oder eine manuelle Bereitstellung verwenden, aktualisieren Sie den HostId-Schlüssel in der Registrierung so, dass er mit der Instanz-ID der Serverressource übereinstimmt. Starten Sie den Netzwerkcontrollerhost-Agent auf dem Hyper-V-Host (physischer Server) neu, wenn Sie VMM verwenden, löschen Sie den Hyper-V-Server aus VMM, und entfernen Sie den Registrierungsschlüssel HostId. Fügen Sie dann den Server erneut über VMM hinzu.
Überprüfen Sie, ob die Fingerabdrücke der X.509-Zertifikate, die vom Hyper-V-Host verwendet werden (der Hostname ist der Antragstellername des Zertifikats) für die Kommunikation zwischen dem Hyper-V-Host (NC-Host-Agent-Dienst) und den Netzwerkcontrollerknoten identisch sind. Überprüfen Sie außerdem, ob das REST-Zertifikat des Netzwerkcontrollers den Antragstellernamen aufweist CN=<FQDN or 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**
...
Sie können auch die folgenden Parameter jedes Zertifikats überprüfen, um sicherzustellen, dass der Antragstellername dem erwarteten Namen entspricht (Hostname oder NC-REST-FQDN oder IP), dass das Zertifikat noch nicht abgelaufen ist und dass alle Zertifizierungsstellen in der Zertifikatkette in der vertrauenswürdigen Stammzertifizierungsstelle enthalten sind.
- Antragstellername
- Ablaufdatum
- Vertrauenswürdig durch Stammzertifizierungsstelle
Wenn mehrere Zertifikate denselben Antragstellernamen auf dem Hyper-V-Host haben, wählt der Netzwerkcontrollerhost-Agent nach dem Zufallsprinzip ein Zertifikat aus, das dem Netzwerkcontroller präsentiert werden soll. Dies entspricht möglicherweise nicht dem Fingerabdruck der Serverressource, die dem Netzwerkcontroller bekannt ist. Löschen Sie in diesem Fall eines der Zertifikate mit demselben Antragstellernamen auf dem Hyper-V-Host, und starten Sie dann den Netzwerkcontroller-Host-Agent-Dienst neu. Wenn immer noch keine Verbindung hergestellt werden kann, löschen Sie das andere Zertifikat mit demselben Antragstellernamen auf dem Hyper-V-Host, und löschen Sie die entsprechende Serverressource in VMM. Erstellen Sie dann die Serverressource in VMM neu, wodurch ein neues X.509-Zertifikat generiert und auf dem Hyper-V-Host installiert wird.
Überprüfen des SLB-Konfigurationsstatus
Der SLB-Konfigurationsstatus kann als Teil der Ausgabe an das Debug-NetworkController
Cmdlet bestimmt werden. Dieses Cmdlet gibt auch den aktuellen Satz von Netzwerkcontrollerressourcen in JSON-Dateien, alle IP-Konfigurationen von jedem Hyper-V-Host (Server) und die lokale Netzwerkrichtlinie aus Host-Agent-Datenbanktabellen aus.
Standardmäßig werden weitere Ablaufverfolgungen erfasst. Um keine Ablaufverfolgungen zu sammeln, fügen Sie den -IncludeTraces:$false
Parameter hinzu.
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
Hinweis
Der Standardausgabespeicherort ist das <Verzeichnis working_directory>\NCDiagnostics\. Das Standardausgabeverzeichnis kann mithilfe des -OutputDirectory
Parameters geändert werden.
Die Informationen zum SLB-Konfigurationsstatus finden Sie in der Datei Diagnose-slbstateResults.Json in diesem Verzeichnis.
Diese JSON-Datei kann in die folgenden Abschnitte unterteilt werden:
- Stoff
- SlbmVips: In diesem Abschnitt wird die IP-Adresse der SLB-Manager-VIP-Adresse aufgeführt, die vom Netzwerkcontroller verwendet wird, um die Konfiguration und Integrität zwischen den SLB-Muxes und den SLB-Host-Agents zu koordinieren.
- MuxState: In diesem Abschnitt wird ein Wert für jeden bereitgestellten SLB-Mux aufgelistet, der den Status des Mux angibt.
- Routerkonfiguration: In diesem Abschnitt werden die autonome Systemnummer (ASN), die Transit-IP-Adresse und die ID des Upstreamrouters (BGP-Peer) aufgelistet. Außerdem werden die SLB-Muxes-ASN und die Transit-IP-Adresse aufgelistet.
- Informationen zum verbundenen Host: In diesem Abschnitt werden die Verwaltungs-IP-Adressen aller Hyper-V-Hosts aufgelistet, die für die Ausführung von Workloads mit Lastenausgleich verfügbar sind.
- VIP-Bereiche: In diesem Abschnitt werden die Bereiche des öffentlichen und privaten VIP-IP-Pools aufgelistet. Die SLBM-VIP wird als zugeordnete IP-Adresse aus einem dieser Bereiche eingeschlossen.
- Mux-Routen: In diesem Abschnitt wird ein Wert für jeden bereitgestellten SLB-Mux aufgelistet, der alle Routenanzeigen für diesen bestimmten Mux enthält.
- Mandant
- VipConsolidatedState: In diesem Abschnitt wird der Konnektivitätsstatus für jede Mandanten-VIP aufgelistet, einschließlich angekündigtem Routenpräfix, Hyper-V-Host und DIP-Endpunkten.
Hinweis
Der SLB-Status kann direkt mithilfe des DumpSlbRestState-Skripts ermittelt werden, das im Microsoft SDN-GitHub-Repository verfügbar ist.
Gatewayüberprüfung
Vom Netzwerkcontroller:
Get-NetworkControllerLogicalNetwork
Get-NetworkControllerPublicIPAddress
Get-NetworkControllerGatewayPool
Get-NetworkControllerGateway
Get-NetworkControllerVirtualGateway
Get-NetworkControllerNetworkInterface
Von gateway-VM:
Ipconfig /allcompartments /all
Get-NetRoute -IncludeAllCompartments -AddressFamily
Get-NetBgpRouter
Get-NetBgpRouter | Get-BgpPeer
Get-NetBgpRouter | Get-BgpRouteInformation
Von der Oberseite des Racks (ToR)-Switch:
sh ip bgp summary (for 3rd party BGP Routers)
Windows BGP-Router:
Get-BgpRouter
Get-BgpPeer
Get-BgpRouteInformation
Darüber hinaus scheint der häufigste Grund dafür zu sein, dass das Mandantendepot auf virtuellen GW-Computern aufgrund der bisher aufgetretenen Probleme (insbesondere bei SDNExpress-basierten Bereitstellungen) nicht konfiguriert wird, die Tatsache zu sein, dass die GW-Kapazität in FabricConfig.psd1 geringer ist als das, was die Benutzer dem Netzwerk-Connections (S2S Tunnels) in TenantConfig.psd1 zuweisen möchten. Dies kann einfach überprüft werden, indem die Ausgaben der folgenden Cmdlets verglichen werden:
PS > (Get-NetworkControllerGatewayPool -ConnectionUri $uri).properties.Capacity
PS > (Get-NetworkControllerVirtualgatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "TenantName").properties.OutboundKiloBitsPerSecond
PS > (Get-NetworkControllerVirtualgatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "TenantName").property
[Hoster] Überprüfen von Data-Plane
Nachdem der Netzwerkcontroller bereitgestellt, virtuelle Mandantennetzwerke und Subnetze erstellt und VMs an die virtuellen Subnetze angefügt wurden, können zusätzliche Tests auf Fabricebene vom Hoster ausgeführt werden, um die Mandantenkonnektivität zu überprüfen.
Überprüfen der logischen Netzwerkkonnektivität des HNV-Anbieters
Nachdem die erste Gast-VM, die auf einem Hyper-V-Host ausgeführt wird, mit einem virtuellen Mandantennetzwerk verbunden wurde, weist der Netzwerkcontroller dem Hyper-V-Host zwei HNV-Anbieter-IP-Adressen (PA-IP-Adressen) zu. Diese IP-Adressen stammen aus dem IP-Pool des logischen HNV-Anbieters und werden vom Netzwerkcontroller verwaltet. So finden Sie heraus, was diese beiden HNV-IP-Adressen sind:
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
Diese IP-Adressen des HNV-Anbieters (PA IPs) werden Ethernet-Adaptern zugewiesen, die in einem separaten TCPIP-Netzwerkfach erstellt wurden, und haben den Adapternamen VLANX , wobei X das VLAN ist, das dem logischen Netzwerk des HNV-Anbieters (Transportnetzwerks) zugewiesen ist.
Die Konnektivität zwischen zwei Hyper-V-Hosts, die das logische Netzwerk des HNV-Anbieters verwenden, kann durch einen Ping mit einem zusätzlichen Depotparameter (-c Y) hergestellt werden, wobei Y das TCPIP-Netzwerkfach ist, in dem die PAhostVNICs erstellt werden. Dieses Depot kann bestimmt werden, indem Folgendes ausgeführt wird:
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> ...
Hinweis
Die PA-Host-vNIC-Adapter werden nicht im Datenpfad verwendet und verfügen daher nicht über eine IP-Adresse, die dem "vEthernet (PAhostVNic)-Adapter" zugewiesen ist.
Gehen Sie für instance davon aus, dass die Hyper-V-Hosts 1 und 2 über die IP-Adressen des HNV-Anbieters (PA) verfügen:
Hyper-V-Host | PA-IP-Adresse 1 | PA-IP-Adresse 2 |
---|---|---|
Host 1 | 10.10.182.64 | 10.10.182.65 |
Host 2 | 10.10.182.66 | 10.10.182.67 |
Mit dem folgenden Befehl können sie zwischen den beiden Pings pingen, um die logische Netzwerkkonnektivität des HNV-Anbieters zu überprüfen.
# 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
Sanierung
Wenn der Ping des HNV-Anbieters nicht funktioniert, überprüfen Sie ihre physische Netzwerkkonnektivität einschließlich DER VLAN-Konfiguration. Die physischen NICs auf jedem Hyper-V-Host sollten sich im Trunkmodus befinden, ohne dass ein bestimmtes VLAN zugewiesen ist. Die vNIC des Verwaltungshosts sollte mit dem VLAN des logischen Verwaltungsnetzwerks isoliert werden.
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> ...
Überprüfen der MTU- und Jumboframeunterstützung im logischen HNV-Anbieternetzwerk
Ein weiteres häufiges Problem im logischen Netzwerk des HNV-Anbieters besteht darin, dass für die physischen Netzwerkports und/oder Ethernet-Karte nicht genügend MTU konfiguriert ist, um den Mehraufwand durch die VXLAN-Kapselung (oder NVGRE) zu bewältigen.
Hinweis
Einige Ethernet-Karten und -Treiber unterstützen die neue *EncapOverhead
Schlüsselwort (keyword) die automatisch vom Netzwerkcontrollerhost-Agent auf den Wert 160 festgelegt wird. Dieser Wert wird dann dem Wert des *JumboPacket-Schlüsselwort (keyword) hinzugefügt, dessen Summe als angekündigte MTU verwendet wird.
Beispiel *EncapOverhead
: = 160 und *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
Verwenden Sie das Cmdlet, um zu testen, ob das logische Netzwerk des HNV-Anbieters Test-LogicalNetworkSupportsJumboPacket
end-to-End die größere MTU-Größe unterstützt:
# 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.
Sanierung
- Passen Sie die MTU-Größe an den physischen Switchports auf mindestens 1674B an (einschließlich 14B Ethernet-Header und -Trailer).
- Wenn Ihr NIC-Karte die EncapOverhead-Schlüsselwort (keyword) nicht unterstützt, passen Sie den JumboPacket-Schlüsselwort (keyword) auf mindestens 1674 B an.
Überprüfen der NIC-Konnektivität des virtuellen Mandantencomputers
Jede VM-NIC, die einer Gast-VM zugewiesen ist, weist eine CA-PA-Zuordnung zwischen der privaten Kundenadresse (CA) und dem HNV-Anbieteradressenbereich (PA) auf. Diese Zuordnungen werden in den OVSDB-Servertabellen auf jedem Hyper-V-Host gespeichert und können durch Ausführen des folgenden Cmdlets gefunden werden.
# 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
Hinweis
Wenn die erwarteten CA-PA-Zuordnungen für eine bestimmte Mandanten-VM nicht ausgegeben werden, überprüfen Sie die NIC- und IP-Konfigurationsressourcen des virtuellen Computers auf dem Netzwerkcontroller mithilfe des Get-NetworkControllerNetworkInterface
Cmdlets. Überprüfen Sie außerdem die hergestellten Verbindungen zwischen dem NC-Host-Agent und den Netzwerkcontrollerknoten.
Mit diesen Informationen kann nun ein Ping für eine Mandanten-VM vom Hoster über den Netzwerkcontroller mithilfe des Test-VirtualNetworkConnection
Cmdlets initiiert werden.
Spezifische Problembehandlungsszenarien
Die folgenden Abschnitte enthalten Anleitungen für die Problembehandlung bestimmter Szenarien.
Keine Netzwerkkonnektivität zwischen zwei virtuellen Mandantencomputern
- [Mandant] Stellen Sie sicher, dass die Windows-Firewall auf virtuellen Mandantencomputern den Datenverkehr nicht blockiert.
- [Mandant] Überprüfen Sie, ob dem virtuellen Mandantencomputer IP-Adressen zugewiesen wurden, indem Sie ausführen
ipconfig
. - [Hoster] Führen Sie
Test-VirtualNetworkConnection
vom Hyper-V-Host aus, um die Konnektivität zwischen den beiden betreffenden virtuellen Mandantencomputern zu überprüfen.
Hinweis
Die VSID bezieht sich auf die ID des virtuellen Subnetzes. Im Fall von VXLAN ist dies der VXLAN-Netzwerkbezeichner (VNI). Sie finden diesen Wert, indem Sie das Get-PACAMapping
Cmdlet ausführen.
Beispiel
$password = ConvertTo-SecureString -String "password" -AsPlainText -Force
$cred = New-Object pscredential -ArgumentList (".\administrator", $password)
Erstellen Sie ca-ping zwischen "Green Web VM 1" mit SenderCA-IP von 192.168.1.4 auf Host "sa18n30-2.sa18.nttest.microsoft.com" mit der Mgmt-IP von 10.127.132.153 zur ListenerCA-IP von 192.168.1.5, die beide an das virtuelle Subnetz (VSID) 4114 angefügt ist.
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> ...
[Mandant] Vergewissern Sie sich, dass für das virtuelle Subnetz oder die VM-Netzwerkschnittstellen keine verteilten Firewallrichtlinien angegeben sind, die den Datenverkehr blockieren würden.
Fragen Sie die Netzwerkcontroller-REST-API in der Demoumgebung unter sa18n30nc in der domäne sa18.nttest.microsoft.com ab.
$uri = "https://sa18n30nc.sa18.nttest.microsoft.com"
Get-NetworkControllerAccessControlList -ConnectionUri $uri
Sehen Sie sich die IP-Konfiguration und die virtuellen Subnetze an, die auf diese ACL verweisen.
- [Hoster] Führen Sie
Get-ProviderAddress
auf beiden Hyper-V-Hosts aus, die die beiden betreffenden virtuellen Mandantencomputer hosten, und führen SieTest-LogicalNetworkConnection
dann oderping -c <compartment>
vom Hyper-V-Host aus, um die Konnektivität im logischen Netzwerk des HNV-Anbieters zu überprüfen. - [Hoster] Stellen Sie sicher, dass die MTU-Einstellungen auf den Hyper-V-Hosts und allen Layer-2-Switching-Geräten zwischen den Hyper-V-Hosts korrekt sind. Führen Sie auf allen betreffenden Hyper-V-Hosts aus
Test-EncapOverheadValue
. Überprüfen Sie außerdem, ob die MTU für alle Layer-2-Switches dazwischen auf mindestens 1674 Bytes festgelegt ist, um den maximalen Mehraufwand von 160 Bytes zu berücksichtigen. - [Hoster] Wenn KEINE PA-IP-Adressen vorhanden sind und/oder die ZS-Konnektivität unterbrochen ist, überprüfen Sie, ob die Netzwerkrichtlinie empfangen wurde. Führen Sie aus
Get-PACAMapping
, um zu überprüfen, ob die Kapselungsregeln und CA-PA-Zuordnungen, die zum Erstellen von virtuellen Overlaynetzwerken erforderlich sind, ordnungsgemäß eingerichtet sind. - [Hoster] Überprüfen Sie, ob der Host-Agent des Netzwerkcontrollers mit dem Netzwerkcontroller verbunden ist. Führen Sie dazu aus
netstat -anp tcp |findstr 6640
. - [Hoster] Überprüfen Sie, ob die Host-ID in HKLM/ mit der Instanz-ID der Serverressourcen übereinstimmt, die die virtuellen Mandantencomputer hosten.
- [Hoster] Überprüfen Sie, ob die Portprofil-ID mit der Instanz-ID der VM-Netzwerkschnittstellen der virtuellen Mandantencomputer übereinstimmt.
Protokollierung, Ablaufverfolgung und erweiterte Diagnose
Die folgenden Abschnitte enthalten Informationen zu erweiterten Diagnose, Protokollierung und Ablaufverfolgung.
Zentrale Protokollierung des Netzwerkcontrollers
Der Netzwerkcontroller kann Debuggerprotokolle automatisch erfassen und an einem zentralen Ort speichern. Die Protokollsammlung kann aktiviert werden, wenn Sie den Netzwerkcontroller zum ersten Mal oder zu einem späteren Zeitpunkt bereitstellen. Die Protokolle werden vom Netzwerkcontroller und vom Netzwerkcontroller verwalteten Netzwerkelementen erfasst: Hostcomputer, Software Load Balancer (SLB) und Gatewaycomputer.
Diese Protokolle umfassen Debugprotokolle für den Netzwerkcontrollercluster, die Netzwerkcontrolleranwendung, Gatewayprotokolle, SLB, virtuelle Netzwerke und die verteilte Firewall. Wenn dem Netzwerkcontroller ein neuer Host/SLB/ein neues Gateway hinzugefügt wird, wird die Protokollierung auf diesen Computern gestartet. Ebenso wird die Protokollierung auf diesen Computern beendet, wenn ein Host/SLB/Gateway aus dem Netzwerkcontroller entfernt wird.
Aktivieren der Protokollierung
Die Protokollierung wird automatisch aktiviert, wenn Sie den Netzwerkcontrollercluster mithilfe des Install-NetworkControllerCluster
Cmdlets installieren. Standardmäßig werden die Protokolle lokal auf den Netzwerkcontrollerknoten unter %systemdrive%\SDNDiagnostics gesammelt. Es wird empfohlen, diesen Speicherort in eine Remotedateifreigabe (nicht lokal) zu ändern.
Die Protokolle des Netzwerkcontrollerclusters werden unter %programData%\Windows Fabric\log\Traces gespeichert. Sie können einen zentralen Speicherort für die Protokollsammlung mit dem -Parameter mit der DiagnosticLogLocation
Empfehlung angeben, dass es sich auch um eine Remotedateifreigabe handelt.
Wenn Sie den Zugriff auf diesen Speicherort einschränken möchten, können Sie die Anmeldeinformationen für den Zugriff mit dem LogLocationCredential
Parameter angeben. Wenn Sie die Anmeldeinformationen für den Zugriff auf den Protokollspeicherort angeben, sollten Sie auch den CredentialEncryptionCertificate
Parameter angeben, der zum Verschlüsseln der lokal auf den Netzwerkcontrollerknoten gespeicherten Anmeldeinformationen verwendet wird.
Bei den Standardeinstellungen wird empfohlen, dass Sie mindestens 75 GB freien Speicherplatz am zentralen Standort und 25 GB auf den lokalen Knoten (wenn sie keinen zentralen Standort verwenden) für einen Netzwerkcontrollercluster mit drei Knoten haben.
Ändern der Protokollierungseinstellungen
Sie können die Protokollierungseinstellungen jederzeit mithilfe des Cmdlets Set-NetworkControllerDiagnostic
ändern. Die folgenden Einstellungen können geändert werden:
Zentralisierter Protokollspeicherort.
Sie können den Speicherort ändern, um alle Protokolle mit dem
DiagnosticLogLocation
-Parameter zu speichern.Anmeldeinformationen für den Zugriff auf den Protokollspeicherort.
Sie können die Anmeldeinformationen ändern, um mit dem Parameter auf den
LogLocationCredential
Protokollspeicherort zuzugreifen.Zur lokalen Protokollierung wechseln.
Wenn Sie einen zentralen Speicherort zum Speichern von Protokollen angegeben haben, können Sie mit
UseLocalLogLocation
dem Parameter zurück zur lokalen Protokollierung auf den Netzwerkcontrollerknoten wechseln (aufgrund großer Speicherplatzanforderungen nicht empfohlen).Protokollierungsbereich.
Standardmäßig werden alle Protokolle gesammelt. Sie können den Bereich so ändern, dass nur Netzwerkcontroller-Clusterprotokolle erfasst werden.
Protokolliergrad.
Der Standardprotokolliergrad ist Information. Sie können sie in Fehler, Warnung oder Ausführlich ändern.
Protokollalterungszeit.
Die Protokolle werden kreisförmig gespeichert. Sie haben standardmäßig drei Tage Zeit für die Protokollierung von Daten, unabhängig davon, ob Sie die lokale Protokollierung oder die zentralisierte Protokollierung verwenden. Sie können dieses Zeitlimit mit dem
LogTimeLimitInDays
Parameter ändern.Protokollalterungsgröße.
Standardmäßig verfügen Sie über maximal 75 GB An Protokollierungsdaten, wenn Sie die zentrale Protokollierung verwenden, und 25 GB bei Verwendung der lokalen Protokollierung. Sie können diesen Grenzwert mit dem
LogSizeLimitInMBs
Parameter ändern.
Sammeln von Protokollen und Ablaufverfolgungen
VMM-Bereitstellungen verwenden standardmäßig eine zentralisierte Protokollierung für den Netzwerkcontroller. Der Dateifreigabespeicherort für diese Protokolle wird beim Bereitstellen der Netzwerkcontrollerdienstvorlage angegeben.
Wenn kein Dateispeicherort angegeben wurde, wird die lokale Protokollierung auf jedem Netzwerkcontrollerknoten mit Protokollen verwendet, die unter C:\Windows\tracing\SDNDiagnostics gespeichert sind. Diese Protokolle werden mithilfe der folgenden Hierarchie gespeichert:
- CrashDumps
- NCApplicationCrashDumps
- NCApplicationLogs
- PerfCounters
- SDNDiagnostics
- Spuren
Der Netzwerkcontroller verwendet (Azure) Service Fabric. Bei der Behandlung bestimmter Probleme sind möglicherweise Service Fabric-Protokolle erforderlich. Diese Protokolle finden Sie auf jedem Netzwerkcontrollerknoten unter C:\ProgramData\Microsoft\Service Fabric.
Wenn ein Benutzer das Debug-NetworkController
Cmdlet ausgeführt hat, sind weitere Protokolle auf jedem Hyper-V-Host verfügbar, der mit einer Serverressource im Netzwerkcontroller angegeben wurde. Diese Protokolle (und Ablaufverfolgungen, falls aktiviert) werden unter C:\NCDiagnostics gespeichert.
SLB-Diagnose
SLBM-Fabricfehler (Hostingdienstanbieteraktionen)
- Überprüfen Sie, ob Software Load Balancer Manager (SLBM) funktioniert und dass die Orchestrierungsebenen miteinander kommunizieren können: SLBM –> SLB Mux und SLBM –> SLB-Host-Agents. Führen Sie DumpSlbRestState von einem beliebigen Knoten mit Zugriff auf den Netzwerkcontroller-REST-Endpunkt aus.
- Überprüfen Sie die SDNSLBMPerfCounters in PerfMon auf einem der Netzwerkcontrollerknoten-VMs (vorzugsweise den primären Netzwerkcontrollerknoten -
Get-NetworkControllerReplica
):- Ist Load Balancer -Engine (LB) mit SLBM verbunden? (SLBM LBEngine-Konfigurationen insgesamt > 0)
- Kennt SLBM zumindest seine eigenen Endpunkte? (VIP-Endpunkte gesamt>= 2)
- Sind Hyper-V-Hosts (DIP) mit SLBM verbunden? (HP-Clients verbunden == anzahl Server)
- Ist SLBM mit Muxes verbunden? (Muxes Connected == Muxes Healthy on SLBM == Muxes reporting healthy = # SLB Muxes VMs).
- Stellen Sie sicher, dass der konfigurierte BGP-Router erfolgreich peering mit dem SLB MUX ist.
- Bei Verwendung von RRAS mit Remotezugriff (d. b. virtueller BGP-Computer):
Get-BgpPeer
sollte verbunden angezeigt werden.Get-BgpRouteInformation
sollte mindestens eine Route für die SLBM-Selbst-VIP anzeigen.
- Wenn Sie einen physischen ToR-Switch (Top-of-Rack) als BGP-Peer verwenden, lesen Sie Ihre Dokumentation:
- Beispiel:
# show bgp instance
- Beispiel:
- Bei Verwendung von RRAS mit Remotezugriff (d. b. virtueller BGP-Computer):
- Überprüfen Sie die Leistungsindikatoren SlbMuxPerfCounters und SLBMUX in PerfMon auf der SLB-Mux-VM.
- Überprüfen Sie den Konfigurationsstatus und VIP-Bereiche in der Software Load Balancer Manager-Ressource.
Get-NetworkControllerLoadBalancerConfiguration -ConnectionUri <https://\<FQDN or IP>| convertto-json -depth 8
(Überprüfen Sie VIP-Bereiche in IP-Pools, und stellen Sie sicher, dass SLBM-Selbst-VIP (LoadBalanacerManagerIPAddress) und alle mandantenseitigen VIPs innerhalb dieser Bereiche liegen.Get-NetworkControllerIpPool -NetworkId "<Public/Private VIP Logical Network Resource ID>" -SubnetId "<Public/Private VIP Logical Subnet Resource ID>" -ResourceId "\<IP Pool Resource Id>" -ConnectionUri $uri |convertto-json -depth 8
Debug-NetworkControllerConfigurationState -
Wenn eine der oben genannten Überprüfungen fehlschlägt, befindet sich auch der SLB-Zustand des Mandanten in einem Fehlermodus.
Sanierung
Beheben Sie basierend auf den folgenden Diagnoseinformationen Folgendes:
- Sicherstellen, dass SLB-Multiplexer verbunden sind
- Beheben von Zertifikatproblemen
- Beheben von Netzwerkkonnektivitätsproblemen
- Sicherstellen, dass BGP-Peeringinformationen erfolgreich konfiguriert wurden
- Stellen Sie sicher, dass die Host-ID in der Registrierung mit der Serverinstanz-ID in der Serverressource übereinstimmt (Referenz anhang für HostNotConnected-Fehlercode ).
- Erfassen von Protokollen
SLBM-Mandantenfehler (Hostingdienstanbieter und Mandantenaktionen)
- [Hoster] Überprüfen Sie
Debug-NetworkControllerConfigurationState
, ob sich LoadBalancer-Ressourcen in einem Fehlerzustand befinden. Versuchen Sie, dies zu beheben, indem Sie der Tabelle Aktionselemente im Anhang folgen.- Überprüfen Sie, ob ein VIP-Endpunkt vorhanden ist und Werberouten angezeigt werden.
- Überprüfen Sie, wie viele DIP-Endpunkte für den VIP-Endpunkt ermittelt wurden.
- [Mandant] Überprüfen Sie Load Balancer Ressourcen richtig angegeben sind.
- Überprüfen Sie, ob DIP-Endpunkte, die in SLBM registriert sind, Mandanten-VMs hosten, die den IP-Konfigurationen des LoadBalancer-Back-End-Adresspools entsprechen.
- [Hoster] Wenn DIP-Endpunkte nicht ermittelt oder verbunden sind:
Prüfen
Debug-NetworkControllerConfigurationState
Überprüfen Sie mithilfe von
netstat -anp tcp |findstr 6640)
, ob nc- und SLB-Host-Agent erfolgreich mit dem Netzwerkcontroller-Ereigniskoordinator verbunden sind.Check
HostId
innchostagent
service regkey (VerweisfehlercodeHostNotConnected
im Anhang) stimmt mit der instance-ID (Get-NCServer |convertto-json -depth 8
) der entsprechenden Serverressource überein.Überprüfen Sie die Portprofil-ID für den Port des virtuellen Computers mit der Instanz-ID der entsprechenden NIC-Ressource des virtuellen Computers.
- [Hostinganbieter] Sammeln von Protokollen.
SLB-Mux-Ablaufverfolgung
Informationen aus der Software Load Balancer Muxes können auch durch Ereignisanzeige bestimmt werden.
- Wählen Sie im Menü Ansicht Ereignisanzeige die Option Analyse- und Debugprotokolle anzeigen aus.
- Navigieren Sie in Ereignisanzeige zu Anwendungs- und Dienstprotokolle>Microsoft>Windows>SlbMuxDriver-Ablaufverfolgung>.
- Klicken Sie mit der rechten Maustaste darauf, und wählen Sie Protokoll aktivieren aus.
Hinweis
Es wird empfohlen, diese Protokollierung nur für kurze Zeit zu aktivieren, während Sie versuchen, ein Problem zu reproduzieren.
VFP- und vSwitch-Ablaufverfolgung
Von jedem Hyper-V-Host, der eine Gast-VM hostet, die an ein virtuelles Mandantennetzwerk angefügt ist, können Sie eine VFP-Ablaufverfolgung sammeln, um zu ermitteln, wo Probleme liegen könnten.
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für