SMB meerdere kanalen beheren

Van toepassing op: Azure Stack HCI, versies 21H2 en 20H2; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

SMB meerdere kanalen maakt deel uit van het Server Message Block (SMB) 3.0-protocol, waardoor de netwerkprestaties en de beschikbaarheid van bestandsservers worden verhoogd.

Met SMB meerdere kanalen kunnen bestandsservers meerdere netwerkverbindingen tegelijk gebruiken. Het vergemakkelijkt de aggregatie van netwerkbandbreedte en netwerkfouttolerantie wanneer er meerdere paden beschikbaar zijn tussen de SMB 3.0-client en de SMB 3.0-server. Hierdoor kunnen servertoepassingen optimaal profiteren van alle beschikbare netwerkbandbreedte en zijn ze beter bestand tegen netwerkfouten.

SMB meerdere kanalen biedt de volgende mogelijkheden:

  • Verbeterde doorvoer. De bestandsserver kan gelijktijdig extra gegevens verzenden met behulp van meerdere verbindingen voor snelle netwerkadapters of meerdere netwerkadapters.

  • Fouttolerantie van het netwerk. Wanneer clients tegelijkertijd meerdere netwerkverbindingen gebruiken, kunnen de clients zonder onderbreking doorgaan, ondanks het verlies van een netwerkverbinding.

  • Automatische configuratie. SMB meerdere kanalen detecteert automatisch meerdere beschikbare netwerkpaden en voegt indien nodig dynamisch verbindingen toe.

Vereisten voor SMB meerdere kanalen

Omdat SMB meerdere kanalen standaard is ingeschakeld, hoeft u geen aanvullende rollen, functieservices of onderdelen te installeren. De SMB-client detecteert en gebruikt automatisch meerdere netwerkverbindingen wanneer de configuratie wordt geïdentificeerd. SMB meerdere kanalen heeft echter de volgende vereisten:

  • Ten minste twee computers met Azure Stack HCI, Windows Server of Windows 10 besturingssysteem.

  • Ten minste een van de volgende configuraties:

    • Meerdere netwerkadapters

    • Een of meer netwerkadapters die ondersteuning bieden voor RSS (Receive Side Scaling)

    • Meerdere netwerkadapters die zijn verbonden (zie NIC-team )

    • Een of meer netwerkadapters die remote direct memory access (RDMA) ondersteunen

SMB meerdere kanalen configureren

In deze sectie worden enkele configuratieopties beschreven voor het implementeren van SMB meerdere kanalen met behulp van een matrix van netwerkadapters. Deze configuraties zijn slechts voorbeeldconfiguraties. Er zijn veel andere mogelijke configuraties die niet zijn opgenomen in dit onderwerp.

Eén netwerkadapter die geschikt is voor RSS

In deze typische configuratie worden een SMB-client en een SMB-server geconfigureerd met behulp van één netwerkadapter van 10 gigabit Ethernet (10 GbE). Wanneer SMB wordt geïmplementeerd zonder SMB meerdere kanalen en er slechts één SMB-sessie tot stand is gebracht, maakt SMB één TCP/IP-verbinding. Met slechts één CPU-kern leidt deze configuratie inherent tot congestie, met name wanneer er veel kleine I/O-bewerkingen worden uitgevoerd. Daarom is de kans op een knelpunt in de prestaties aanzienlijk.

De meeste huidige netwerkadapters bieden een mogelijkheid met de naam Receive Side Scaling (RSS), waarmee meerdere verbindingen automatisch kunnen worden verdeeld over meerdere CPU-kernen. Als u echter één verbinding gebruikt, kan RSS niet helpen. Wanneer u SMB meerdere kanalen gebruikt met een rss-netwerkadapter, maakt SMB meerdere TCP/IP-verbindingen voor die specifieke sessie. Deze configuratie voorkomt een potentieel knelpunt op één CPU-kern als er veel kleine I/O-bewerkingen vereist zijn.

Meerdere netwerkadapters

In deze configuratie worden een SMB-client en SMB-server geconfigureerd met behulp van meerdere 10 GbE-netwerkadapters. Wanneer SMB wordt geïmplementeerd zonder SMB meerdere kanalen en er slechts één SMB-sessie tot stand is gebracht, gebruikt SMB een van de beschikbare netwerkadapters om één TCP/IP-verbinding te maken. In dit scenario is het niet mogelijk om de bandbreedte van de meerdere netwerkadapters te aggregeren; U kunt bijvoorbeeld geen 2 gigabit per seconde (Gbps) bereiken wanneer u twee 1-GbE-netwerkadapters gebruikt. Er is ook een mogelijke fout als de verbinding met de geselecteerde netwerkadapter is verbroken of uitgeschakeld.

Wanneer SMB wordt geïmplementeerd met SMB meerdere kanalen, maakt SMB meerdere TCP/IP-verbindingen voor één sessie met ten minste één of meer verbindingen per interface als de netwerkadapters RSS-ondersteuning hebben. Met deze configuratie kan SMB gebruikmaken van de gecombineerde bandbreedte van de netwerkadapter die beschikbaar is en kan de SMB-client zonder onderbreking doorgaan als een netwerkadapter uitvalt.

NIC-teams

Azure Stack HCI en Windows Server ondersteunen de mogelijkheid om meerdere netwerkadapters in één netwerkadapter te combineren met behulp van een functie genaamd NIC-teams. Hoewel een team altijd fouttolerantie biedt, maakt SMB slechts één TCP/IP-verbinding per team wanneer SMB wordt geïmplementeerd zonder SMB meerdere kanalen. Deze configuratie leidt tot beperkingen in zowel het aantal CPU-kernen dat is ingeschakeld als het maximale gebruik van de teambandbreedte.

Wanneer SMB wordt geïmplementeerd met SMB meerdere kanalen, maakt SMB meerdere TCP/IP-verbindingen voor één sessie om een betere balans te vinden tussen CPU-kernen en beter gebruik van de beschikbare bandbreedte. NIC-teams blijven de failover-mogelijkheid bieden, die sneller werkt dan het gebruik van SMB meerdere kanalen op zichzelf. We raden ook NIC-teams aan omdat deze failover-mogelijkheden biedt voor andere workloads die niet afhankelijk zijn van SMB, omdat deze workloads niet kunnen profiteren van de failovermogelijkheden van SMB meerdere kanalen.

Als u een toegewezen set netwerkadapters gebruikt voor Opslagruimten Direct-verkeer, zoals soms wordt gedaan met Azure Stack HCI, is het team van deze opslagnetwerkadapters strikt optioneel. Dit biedt geen aanzienlijke voordelen of nadelen.

Belangrijk

Gebruik op Windows Server 2012 R2 en eerder geen NIC-teams als u van plan bent de RDMA-mogelijkheden van de netwerkadapters te gebruiken. Op deze besturingssystemen wordt een team van RDMA-geschikte netwerkadapters altijd gerapporteerd als niet-RDMA-ondersteuning, omdat teams de RDMA-mogelijkheid van de netwerkadapter uitschakelen.

Een of meer RDMA-netwerkadapters

SMB meerdere kanalen detecteert de RDMA-mogelijkheden van netwerkadapters, waardoor de SMB Direct-functie met de naam SMB Direct via RDMA wordt gebruikt. Zonder SMB meerdere kanalen gebruikt SMB reguliere TCP/IP-verbindingen met de RDMA-geschikte netwerkadapters waarbij alle netwerkadapters een TCP/IP-stack bieden die naast de nieuwe RDMA-stack bestaat.

Wanneer SMB wordt geïmplementeerd met SMB meerdere kanalen, detecteert SMB de RDMA-mogelijkheid van een netwerkadapter en maakt het meerdere RDMA-verbindingen voor die ene sessie, met twee RDMA-verbindingen per interface. Met deze configuratie kan SMB profiteren van de hoge doorvoer, lage latentie en laag CPU-gebruik die wordt aangeboden door de RDMA-geschikte netwerkadapters. Het biedt ook fouttolerantie wanneer u meerdere RDMA-interfaces gebruikt.

Belangrijk

Nadat een RDMA-verbinding is gemaakt, wordt de TCP/IP-verbinding voor de oorspronkelijke protocolonderhandeling niet meer gebruikt. Deze verbinding wordt echter onderhouden voor het geval er een andere RDMA-verbinding mislukt.

SMB meerdere kanalen, RDMA-compatibele netwerkadapters en compatibiliteit met NIC-teams

De volgende tabel bevat een overzicht van de verschillende mogelijkheden die beschikbaar zijn wanneer u SMB meerdere kanalen, RDMA (SMB Direct) en NIC-teams combineert.

Configuratie Doorvoer Fouttolerantie voor SMB Fouttolerantie voor niet-SMB Lager CPU-gebruik
Eén netwerkadapter (geen RSS) *
Meerdere netwerkadapters (geen RSS) ** *
Meerdere netwerkadapters (geen RSS) met NIC-koppeling ** ** *
Eén netwerkadapter met RSS *
Meerdere netwerkadapters met RSS ** *
Meerdere netwerkadapters met RSS- en NIC-koppeling ** ** *
Eén RDMA-netwerkadapter * *
Meerdere RDMA-netwerkadapters *** * *
Meerdere RDMA-netwerkadapters met NIC-team *** ** * *

Als u met Windows Server 2016 of hoger werkt, is de ideale oplossing om meerdere RDMA-netwerkadapters te gebruiken en NIC-teams te combineren met SMB meerdere kanalen. Deze combinatie biedt de beste doorvoer, biedt fouttolerantie voor toepassingen die gebruikmaken van SMB en andere protocollen en heeft de laagste CPU-impact.

Zoals hierboven vermeld, is NIC-teams geen goede optie wanneer u RDMA-geschikte netwerkadapters op Windows Server 2012 R2 of eerder gebruikt, omdat hiermee de RDMA-mogelijkheid van de netwerkadapter wordt uitgeschakeld.

Voorbeeldconfiguraties zonder SMB meerdere kanalen

Als u van plan bent om één netwerkadapter zonder RSS te gebruiken, profiteert u niet van meerdere netwerkverbindingen en wordt daarom SMB meerdere kanalen niet gebruikt. Als u van plan bent om netwerkadapters van verschillende snelheden te gebruiken, selecteert SMB meerdere kanalen automatisch de snelste netwerkadapter. Dit komt doordat netwerkadapters van hetzelfde type (zoals RDMA, RSS of geen van beide) en dezelfde snelheid hebben, tegelijkertijd worden gebruikt door SMB meerdere kanalen. De tragere netwerkadapters zijn inactief.

SMB meerdere kanalen uitschakelen

Normaal gesproken hoeft u SMB meerdere kanalen niet uit te schakelen. Als u echter SMB meerdere kanalen wilt uitschakelen, bijvoorbeeld in een testomgeving, gebruikt u de volgende Windows PowerShell procedures.

Maak eerst verbinding met een van de servers door een PowerShell-sessie te openen:

Enter-PSSession <server-name>

Gebruik de volgende cmdlet om SMB meerdere kanalen aan de serverzijde uit te schakelen:

Set-SmbServerConfiguration -EnableMultiChannel $false

Gebruik de volgende cmdlet om SMB meerdere kanalen aan de clientzijde uit te schakelen:

Set-SmbClientConfiguration -EnableMultiChannel $false

Notitie

Het uitschakelen van SMB meerdere kanalen op de client of de server blokkeert het gebruik van beide systemen.

SMB meerdere kanalen opnieuw inschakelen

Als u SMB meerdere kanalen hebt uitgeschakeld en deze opnieuw wilt inschakelen, gebruikt u de volgende procedures.

Als u SMB meerdere kanalen aan de serverzijde opnieuw wilt inschakelen, gebruikt u de volgende cmdlet:

Set-SmbServerConfiguration -EnableMultiChannel $true

Als u SMB meerdere kanalen aan de clientzijde opnieuw wilt inschakelen, gebruikt u de volgende cmdlet:

Set-SmbClientConfiguration -EnableMultiChannel $true

Notitie

U moet SMB meerdere kanalen opnieuw inschakelen op zowel de client als de server om het opnieuw te gebruiken.

SMB meerdere kanalen testen

In deze sectie worden enkele scenario's beschreven voor het testen van SMB meerdere kanalen, waaronder het vergelijken van een bestandskopie met en vervolgens zonder SMB meerdere kanalen en het opzettelijk laten mislukken van een netwerkadapter tijdens een bestandskopiebewerking.

Een bestandskopie vergelijken met en zonder SMB meerdere kanalen

Voer de volgende tests uit om de toegenomen doorvoer te meten die wordt geleverd door SMB meerdere kanalen. Start vóór elke test zowel de server als de client opnieuw op om ervoor te zorgen dat deze onder vergelijkbare omstandigheden werken.

  1. Configureer SMB meerdere kanalen met behulp van een van de eerder beschreven configuraties.

  2. Meet de tijd die het kost om een langlopende bestandskopiebewerking uit te voeren met behulp van SMB meerdere kanalen.

  3. Schakel SMB meerdere kanalen uit. Zie SMB meerdere kanalen uitschakelen voor instructies.

  4. Meet de tijd die het kost om dezelfde bestandskopie uit te voeren zonder SMB meerdere kanalen.

  5. Schakel SMB meerdere kanalen opnieuw in. Zie SMB meerdere kanalen opnieuw inschakelen voor instructies.

  6. Vergelijk de twee resultaten.

Belangrijk

Om de gevolgen voor de prestaties van caching te voorkomen, kopieert u eerst een grote hoeveelheid gegevens die groter is dan de grootte van het beschikbare geheugen. Voer vervolgens de kopieerbewerking opnieuw uit, met de eerste kopieerbewerking als opwarmbewerking. Tijd alleen de tweede kopieerbewerking.

Een van de netwerkadapters laten mislukken tijdens het kopiëren van een bestand met SMB meerdere kanalen

De failover-capaciteit van SMB meerdere kanalen bevestigen:

  1. Zorg ervoor dat SMB meerdere kanalen werkt in een configuratie met meerdere netwerkadapters.

  2. Voer een langlopende bestandskopiebewerking uit.

  3. Terwijl de bestandskopiebewerking wordt uitgevoerd, simuleert u een storing in een van de netwerkpaden door een van de kabels los te koppelen of door een van de netwerkadapters uit te sluiten.

  4. Controleer of de bestandskopie de resterende netwerkadapter blijft gebruiken en zonder fouten bij het kopiëren van bestanden werkt.

Zorg ervoor dat er geen andere werkbelastingen zijn die gebruikmaken van het niet-verbonden netwerkverbindingspad. Deze voorzorgsmaatregel voorkomt een mogelijke storing in workloads die geen gebruik maken van SMB meerdere kanalen.

Controleren of SMB meerdere kanalen werkt

Gebruik de volgende procedure om te controleren of SMB meerdere kanalen werkt.

  1. Als u wilt controleren of de configuratie van de netwerkadapter juist is, typt u het volgende in Windows PowerShell op zowel de SMB-server als de SMB-client.

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. Als u wilt controleren of SMB meerdere kanalen is ingeschakeld, controleert u of SMB de netwerkadapters correct identificeert en of de RSS- en RDMA-mogelijkheden van de netwerkadapter correct zijn geïdentificeerd:

    Typ op de SMB-client het volgende in Windows PowerShell:

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    Typ op de SMB-server het volgende in Windows PowerShell:

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. Voer op de SMB-client een langdurige bestandskopiebewerking uit die een doorlopende sessie met de SMB-server maakt. Terwijl de kopieerbewerking wordt uitgevoerd, typt u het volgende in Windows PowerShell om te controleren of de verbinding de juiste versie van SMB gebruikt en of SMB meerdere kanalen werkt.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Volgende stappen

Zie voor gerelateerde informatie ook: