Een bestandskopie tussen twee Windows-machines op een gigabit-LAN valt terug tot kruipsnelheid op het moment dat beide verbinding maken met dezelfde VPN, terwijl een doorvoertest tussen hetzelfde paar nog steeds bijna lijnsnelheid meldt. Het probleem is niet de verbinding en ook niet de schijf. SMB3 Multichannel heeft stil een tweede TCP-verbinding toegevoegd die via de tunnel loopt, en de kopie wacht op het kanaal dat het langzaamst is. Die route uit SMB verwijderen brengt de LAN-snelheid terug.

Eén share kan over meerdere TCP-verbindingen gaan

Met Multichannel kan een client onafhankelijke verbindingen naar één server openen, één per geschikt adrespaar. Op een gewoon LAN is er misschien maar één paar, dus er gebeurt niets verrassends. Voeg op beide machines een VPN-adapter toe en Windows ziet een tweede paar, tunneladres tegenover tunneladres, en opent daarover een kanaal.

Dat kanaal is versleuteld, deelt de CPU met de tunnel en kruist dezelfde WAN-verbinding als al het andere. Een kopie die alleen het LAN zou hebben gebruikt, heeft nu een traag lid in de set, en SMB laat dat niet stilzwijgend vallen.

Een doorvoertest die aan het LAN-adres is vastgezet ziet er nog steeds gezond uit, en dat is precies waarom de twee metingen zo sterk uiteenlopen.

Bewijs dat het tunnelkanaal bestaat voordat je iets verandert

Voer de query's op de client uit terwijl een kopie loopt, want een kanalenlijst is alleen interessant als die levend is.

Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress
Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens

Meer dan één geselecteerde rij voor dezelfde server is de bevestiging die je nodig hebt. Herleid het clientadres van de verdachte rij naar een interface. Als die alias de VPN-adapter is, is het kanaal echt en geen verouderde vermelding.

Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias

Adressen verschillen per machine, dus lees de adressen die je eigen uitvoer meldt in plaats van de voorbeelden hierboven te typen.

Haal de tunnel uit SMB en herstart beide kanten

Multichannel uitschakelen is een wijziging op zowel de client als de server, en het maar aan één kant doen laat de andere kant vrij om de interface te blijven aanbieden. Bestaande kanalen overleven de instelling, dus plan een herstart in plaats van te verwachten dat de volgende kopie zich anders gedraagt.

Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Force
Get-SmbClientConfiguration | Select-Object EnableMultiChannel

Na de herstart kun je de interfaces opsommen die de server voor SMB aanbiedt. De tunneladapter zou uit die lijst verdwenen moeten zijn. Als hij er nog staat, is de instelling op het verkeerde eindpunt beland of is een oude sessie nog open.

Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed

Als het doel smaller is dan Multichannel overal uitschakelen, stopt het ontbinden van de servercomponent van de tunneladapter het delen eroverheen, terwijl de rest van het VPN ongemoeid blijft.

Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server

Geef het LAN voorrang en meet twee keer op dezelfde manier

Een interfacemetriek verwijdert geen kanaal, maar stuurt nieuwe verbindingen naar de fysieke verbinding en houdt ongerelateerd verkeer weg van de tunnel. Kopieer de alias uit de uitvoer in plaats van hem te typen, want hij is op sommige installaties gelokaliseerd.

Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000

Herhaal daarna beide metingen: de bestandskopie en een doorvoertest met één stream. Als de kopie herstelt terwijl de doorvoertest onveranderd blijft, was de tunnel nooit de bottleneck. Als beide instorten, is het VPN-pad de grens en heeft Multichannel het alleen zichtbaar gemaakt. Vergelijk met een kopie van vóór het verbinden van de VPN, want dat is de enige basislijn die de wijziging isoleert.

Multichannel uitschakelen kost doorvoer op servers die echt meerdere snelle paden bieden, dus schakel het weer in wanneer de VPN uit beeld verdwijnt. Noteer welke adapter je hebt gewijzigd, want de volgende persoon vindt de instelling en niet de reden.

Gerelateerde artikelen