Udostępnij za pośrednictwem


Wskazówki dotyczące rozwiązywania problemów z siecią SDN

Ten temat zawiera informacje pomocne w rozwiązywaniu problemów ze scenariuszami dotyczącymi technologii sieci zdefiniowanej programowo (SDN), które uwzględniono w produktach Windows Server 2019, Windows Server 2016 i Azure Stack HCI. Większość użytkowników może rozwiązać problemy, używając poniższych rozwiązań.

Lista kontrolna rozwiązywania problemów

Sprawdź konfigurację adresu IP i podsieci wirtualne odwołujące się do listy ACL

  1. Uruchom polecenie Get-ProviderAddress na obu hostach funkcji Hyper-V hostujących dwie maszyny wirtualne dzierżawcy, których dotyczy problem. Następnie uruchom polecenie Test-LogicalNetworkConnection lub ping -c <compartment> z hosta funkcji Hyper-V, aby zweryfikować łączność w sieci logicznej dostawcy HNV.
  2. Upewnij się, że ustawienia jednostki MTU są poprawne na hostach funkcji Hyper-V i na wszystkich urządzeniach przełączających warstwy 2, które znajdują się między hostami funkcji Hyper-V. Uruchom polecenie Test-EncapOverheadValue na wszystkich hostach funkcji Hyper-V, których dotyczy problem. Sprawdź ponadto, czy wszystkie przełączniki warstwy 2 między hostami mają rozmiar jednostki MTU ustawioną na co najmniej 1674 bajtów na potrzeby obsługi maksymalnego obciążenie wynoszącego 160 bajtów.
  3. Jeśli adresy dostawców nie istnieją lub łączność z adresem klienta nie działa prawidłowo, upewnij się, że odebrano zasady sieciowe. Uruchom polecenie Get-PACAMapping, aby sprawdzić, czy reguły hermetyzacji i mapowania CA-PA, które są wymagane do utworzenia sieci wirtualnych nakładek zostały poprawnie ustanowione.
  4. Sprawdź, czy agent hosta kontrolera sieci został połączony z kontrolerem sieci. Aby to zrobić, uruchom netstat -anp tcp |findstr 6640.
  5. Sprawdź, czy identyfikator hosta w kluczu rejestru HKLM jest taki, jak identyfikator wystąpienia zasobów serwera, które hostują maszyny wirtualne dzierżawcy.
  6. Sprawdź, czy identyfikator profilu portu jest taki sam jak identyfikator wystąpienia interfejsów sieciowych maszyn wirtualnych dzierżawcy.

Sprawdzanie łączności sieciowej między kontrolerem sieci i hostem funkcji Hyper-V

Uruchom polecenie netstat, aby sprawdzić, czy istnieją trzy ustanowione połączenia między agentem hosta kodowania sieciowego (NC) i węzłami kontrolera sieci. Sprawdź również, czy na hoście funkcji Hyper-V znajduje się jedno gniazdo nasłuchiwania. Aby uzyskać szczegółowe informacje, skorzystaj z poniższej listy.

  • Port TCP:6640 nasłuchujący na hoście funkcji Hyper-V (usługa agenta hosta NC)
  • Dwa ustanowione połączenia z adresu IP hosta funkcji Hyper-V na porcie 6640 do adresu IP węzła NC na portach efemerycznych (numer portu jest większy niż 32000)
  • Jeden nawiązano połączenie z adresu IP hosta funkcji Hyper-V na portów tymczasowych z IP REST Kontroler sieci na porcie 6640

Sprawdzanie usług agenta hosta

Kontroler sieci komunikuje się z dwóch usług agenta hosta na hostach funkcji Hyper-V: SLB hosta agenta i NC Host agenta. Istnieje możliwość, że co najmniej jedna z tych usług nie została uruchomiona. Sprawdź ich stan i uruchom je ponownie, jeśli nie działają:

Get-Service SlbHostAgent
Get-Service NcHostAgent

# Start
Start-Service NcHostAgent
Start-Service SlbHostAgent

Sprawdź kondycję Kontroler sieci

Jeśli nie ma trzech USTANOWIONYCH połączeń lub kontroler sieci wydaje się nie odpowiadać, sprawdź, czy wszystkie węzły i moduły usługi zostały uruchomione i działają:

# Prints a DIFF state (status is automatically updated if state is changed) of a particular service module replica
Debug-ServiceFabricNodeStatus [-ServiceTypeName] <Service Module>

Poniżej przedstawiono moduły usługi kontrolera sieci:

  • ControllerService
  • ApiService
  • SlbManagerService
  • ServiceInsertion
  • FirewallService
  • VSwitchService
  • GatewayManager
  • FnmService
  • HelperService
  • UpdateService

Sprawdź, stan ReplicaStatus to Gotowe, a stan HealthState to OK. W przypadku wdrożenia produkcyjnego, które korzysta z kontrolera sieci z wieloma węzłami, można również sprawdzić, w którym węźle znajduje się każda usługa podstawowa oraz sprawdzić stan poszczególnych replik usługi:

Get-NetworkControllerReplica

Sprawdź, czy stan repliki to Gotowa dla każdej usługi.

Sprawdź obsługę ramki MTU i Jumbo w sieci logicznej dostawcy HNV

Innym typowym problemem w sieci logicznej dostawcy HNV jest to, że fizyczne porty sieciowe lub karta Ethernet nie mają wystarczająco dużej jednostki MTU skonfigurowanej do obsługi obciążenia z hermetyzacji VXLAN (lub NVGRE).

Sprawdzanie łączności karty sieciowej maszyny wirtualnej dzierżawcy

Każda karta sieciowa maszyny wirtualnej przypisana do maszyny wirtualnej gościa ma mapowanie CA-PA między prywatnym adresem klienta (CA, Customer Address) i przestrzenią adresu dostawcy (PA, Provider Address) HNV. Te mapowania są przechowywane w tabelach serwerów OVSDB na każdym hoście funkcji Hyper-V. Możesz je znaleźć, uruchamiając następujące polecenie cmdlet:

# Get all known PA-CA Mappings from this particular Hyper-V Host
Get-PACAMapping

Typowe błędy i rozwiązania oparte na stanie konfiguracji

Kod błędu: HostUnreachable

Komunikat o błędzie:

MUX jest zła (często zdarza się BGPRouter odłączony)

Ten błąd występuje, ponieważ element równorzędny protokołu CBGP (Credible Border Gateway Protocol) w usłudze Routing and Remote Access Service (RRAS) lub przełącznik Top-of-Rack (ToR) jest niemożliwy do osiągnięcia lub nie można pomyślnie połączyć komunikacji równorzędnej. Sprawdź ustawienia protokołu BGP w zasobie multipleksera modułu równoważenia obciążenia oprogramowania i węzła równorzędnego BGP (maszyna wirtualna ToR lub RRAS).

Kod błędu: CertificateNotTrusted i CertificateNotAuthorized

Komunikat o błędzie:

Nie można nawiązać połączenia z Mux z powodu błędów sieci lub certyfikatu

Aby rozwiązać ten problem, sprawdź kod liczbowy podany w kodzie komunikatu o błędzie. Odpowiada on kodowi błędu winsock. Błędy certyfikatów są szczegółowe. Na przykład nie można zweryfikować certyfikatu lub certyfikat nie jest autoryzowany.

Kod błędu: HostNotConnectedToController

Komunikat o błędzie:

Agent SLB hosta nie jest podłączony.

Aby rozwiązać ten problem, wykonaj następujące kroki:

  1. Sprawdź, czy usługa agenta hosta programowych modułów równoważenia obciążenia oprogramowania (SLB) została uruchomiona.
  2. Aby uzyskać informacje o przyczynach, zapoznaj się z dziennikami agenta hosta SLB (uruchamianymi automatycznie). Jeśli menedżer modułu równoważenia obciążenia oprogramowania (SLBM) odrzucił certyfikat przedstawiony przez agenta hosta, stan uruchomienia może pokazywać szczegółowe informacje.

Kod błędu: DistributedRouterConfigurationFailure

Komunikat o błędzie:

Nie można skonfigurować ustawień routera rozproszone na wirtualnej karty sieciowej hosta

Ten błąd jest błędem stosu TCP/IP. Może to wymagać wyczyszczenia kart interfejsu sieciowego hosta uwierzytelniania równorzędnego (PA, Peer Authentication) i reguły docelowej (DR, Destination Rule) na serwerze, na którym zgłoszono ten błąd.

Kod błędu: PolicyConfigurationFailure

Komunikat o błędzie:

  • Nie można wypchnąć zasad przełącznika wirtualnego dla karty interfejsu sieciowego maszyny wirtualnej (VmNic) z powodu błędów certyfikatu lub błędu łączności

  • Nie powiodło się push zasady zapory dla karty VmNic z powodu błędów certyfikatu lub błędy połączenia

  • Nie można wypchnąć zasad sieci wirtualnej dla karty VmNic z powodu błędów certyfikatu lub błędów połączenia

Aby rozwiązać ten problem, sprawdź, czy wdrożono odpowiednie certyfikaty. Nazwa podmiotu certyfikatu musi być zgodna z nazwą FQDN hosta. Należy również zweryfikować łączność hosta z kontrolerem sieci.

Zbieranie danych

Przed skontaktowaniem się z pomocą techniczną firmy Microsoft możesz zebrać informacje o problemie.

Wymagania wstępne

  1. Usługa TSS musi być uruchamiana przez konta z uprawnieniami administratora w systemie lokalnym, a umowa EULA musi zostać zaakceptowana (po zaakceptowaniu umowy EULA usługa TSS nie wyświetli monitu ponownie).
  2. Zalecamy zasady wykonywania programu PowerShell komputera RemoteSigned lokalnego.

Uwaga 16.

Jeśli bieżące zasady wykonywania programu PowerShell nie zezwalają na uruchamianie TSS, wykonaj następujące czynności:

  • RemoteSigned Ustaw zasady wykonywania dla poziomu procesu, uruchamiając polecenie cmdlet PS C:\> Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned.
  • Aby sprawdzić, czy zmiana zostanie w życie, uruchom polecenie cmdlet PS C:\> Get-ExecutionPolicy -List.
  • Ponieważ uprawnienia na poziomie procesu mają zastosowanie tylko do bieżącej sesji programu PowerShell, po zamknięciu danego okna programu PowerShell, do przypisanego uprawnienia dla poziomu procesu powróci również do wcześniej skonfigurowanego stanu.

Zbieranie kluczowych informacji przed skontaktowaniem się z pomocą techniczną firmy Microsoft

  1. Pobierz usługę TSS na wszystkich węzłach i rozpakuj ją w folderze C:\tss .

  2. Otwórz folder C:\tss z wiersza polecenia programu PowerShell z podwyższonym poziomem uprawnień.

  3. Uruchom ślady przy użyciu następującego polecenia cmdlet:

    TSS.ps1 -Scenario NET_SdnNC
    
  4. Zaakceptuj umowy EULA, jeśli ślady są uruchamiane po raz pierwszy na komputerze.

  5. Zezwalaj na nagrywanie (PSR lub wideo).

  6. Odtwórz problem przed wprowadzeniem Y.

    Uwaga 16.

    Jeśli zbierasz dzienniki zarówno na kliencie, jak i serwerze, przed odtworzeniem problemu zaczekaj na ten komunikat w obu węzłach.

  7. Wprowadź Y , aby zakończyć zbieranie dzienników po odtworzeniu problemu.

Ślady będą przechowywane w pliku zip w folderze C:\MS_DATA , który można przekazać do obszaru roboczego na potrzeby analizy.

Odwołanie