Delen via


SMB meerdere kanalen beheren

Van toepassing op: Azure Stack HCI, versies 22H2 en 21H2; 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 SMB 3.0-protocol (Server Message Block), 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 tegelijkertijd 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 extra functies, 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 schalen aan de ontvangstzijde (RSS)

    • Meerdere netwerkadapters die zijn gekoppeld (zie NIC-koppeling)

    • Een of meer netwerkadapters die ondersteuning bieden voor Remote Direct Memory Access (RDMA)

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 in dit onderwerp zijn opgenomen.

Eén RSS-compatibele netwerkadapter

In deze typische configuratie worden een SMB-client en een SMB-server geconfigureerd met behulp van één 10-gigabit Ethernet-netwerkadapter (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 het potentieel voor een prestatieknelpunt aanzienlijk.

De meeste huidige netwerkadapters bieden een mogelijkheid genaamd 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-compatibele netwerkadapter, maakt SMB meerdere TCP/IP-verbindingen voor die specifieke sessie. Deze configuratie voorkomt een potentieel knelpunt op één CPU-kern als 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 is 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 samen te voegen; U kunt bijvoorbeeld geen 2 gigabits per seconde (Gbps) bereiken wanneer u twee 1-GbE-netwerkadapters gebruikt. Er kan ook een fout optreden als de geselecteerde netwerkadapter is losgekoppeld 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-compatibel zijn. 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-koppeling

Azure Stack HCI en Windows Server ondersteunen de mogelijkheid om meerdere netwerkadapters te combineren in één netwerkadapter met behulp van een functie genaamd NIC-koppeling. Hoewel een team altijd fouttolerantie biedt, maakt SMB slechts één TCP/IP-verbinding per team wanneer SMB zonder SMB meerdere kanalen wordt geïmplementeerd. 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 tussen CPU-kernen en een beter gebruik van de beschikbare bandbreedte te bereiken. NIC-koppeling blijft de failovermogelijkheid bieden, die sneller werkt dan het gebruik van SMB Meerdere kanalen op zichzelf. We raden ook NIC-koppeling aan omdat deze failovermogelijkheden 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 koppelen van deze opslagnetwerkadapters strikt optioneel, dit biedt geen belangrijke voor- of nadelen.

Belangrijk

Gebruik op Windows Server 2012 R2 en eerder geen NIC-koppeling als u de RDMA-mogelijkheden van de netwerkadapters wilt gebruiken. Op deze besturingssystemen wordt een team van RDMA-compatibele netwerkadapters altijd gerapporteerd als niet-RDMA-compatibel, omdat teaming de RDMA-mogelijkheid van de netwerkadapter uitschakelt.

Eén of meerdere RDMA-compatibele netwerkadapters

SMB Meerdere kanalen detecteert de RDMA-mogelijkheden van netwerkadapters, waardoor de SMB Direct-functie met de naam SMB Direct via RDMA wordt ingeschakeld. Zonder SMB meerdere kanalen gebruikt SMB normale TCP/IP-verbindingen met de RDMA-compatibele 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 dat wordt aangeboden door de RDMA-compatibele 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 blijft echter behouden voor het geval een andere RDMA-verbinding mislukt.

Compatibiliteit met SMB meerdere kanalen, RDMA-compatibele netwerkadapters en NIC-koppeling

De volgende tabel bevat een overzicht van de verschillende mogelijkheden die beschikbaar zijn wanneer u SMB Meerdere kanalen, RDMA (SMB Direct) en NIC-koppeling 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-compatibele netwerkadapter * *
Meerdere RDMA-compatibele netwerkadapters *** * *
Meerdere RDMA-compatibele netwerkadapters met NIC-koppeling *** ** * *

Als u Windows Server 2016 of hoger uitvoert, is de ideale oplossing om meerdere RDMA-compatibele netwerkadapters te gebruiken en NIC-koppeling 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, bij het gebruik van RDMA-compatibele netwerkadapters op Windows Server 2012 R2 of eerder, NIC-koppeling is geen goede optie, 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 daarom wordt SMB meerdere kanalen niet gebruikt. Als u netwerkadapters van verschillende snelheden wilt 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.

Gebruik de volgende cmdlet om SMB Meerdere kanalen opnieuw in te schakelen aan de serverzijde:

Set-SmbServerConfiguration -EnableMultiChannel $true

Gebruik de volgende cmdlet om SMB Meerdere kanalen opnieuw in te schakelen aan de clientzijde:

Set-SmbClientConfiguration -EnableMultiChannel $true

Notitie

U moet SMB Meerdere kanalen opnieuw inschakelen op zowel de client als de server om het opnieuw te kunnen 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 verhoogde doorvoer te meten die wordt geleverd door SMB Meerdere kanalen. Start zowel de server als de client voor elke test opnieuw op om ervoor te zorgen dat ze onder vergelijkbare omstandigheden werken.

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

  2. Meet de hoeveelheid tijd die nodig is om een langlopende bestandskopiebewerking uit te voeren met behulp van SMB meerdere kanalen.

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

  4. Meet de hoeveelheid tijd die nodig is om hetzelfde bestand te kopiëren 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 impact van de prestaties van caching te voorkomen, kopieert u eerst een grote hoeveelheid gegevens die de grootte van het beschikbare geheugen overschrijdt. Voer vervolgens de kopieerbewerking opnieuw uit, waarbij de eerste kopieerbewerking fungeert als opwarmbewerking. Time alleen de tweede kopieerbewerking.

Ervoor zorgen dat een van de netwerkadapters mislukt tijdens het kopiëren van een bestand met SMB meerdere kanalen

Ga als volgt te werk om de failovermogelijkheid van SMB meerdere kanalen te bevestigen:

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

  2. Voer een langlopende bestandskopiebewerking uit.

  3. Terwijl de kopieerbewerking van het bestand wordt uitgevoerd, simuleert u een storing van een van de netwerkpaden door een van de kabels los te koppelen of door een van de netwerkadapters uit te schakelen.

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

Zorg ervoor dat er geen andere workloads zijn die gebruikmaken van het niet-verbonden netwerkverbindingspad. Deze voorzorgsmaatregel voorkomt een mogelijke fout 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, gaat u als volgt te werk:

    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 langlopende bestandskopiebewerking uit waarmee een doorlopende sessie met de SMB-server wordt gemaakt. 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 ook voor gerelateerde informatie: