Waarom een SMB-kopie traag wordt wanneer beide pc's op dezelfde VPN inloggen
SMB3 Multichannel kan een tunnelkanaal aan een LAN-kopie toevoegen en die naar het langzamere pad trekken. Bevestig het kanaal en ontkoppel of schakel het uit en test opnieuw.
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.