Å kopiere en fil mellom to Windows-maskiner går raskt helt til begge blir med i den samme VPN-en, og da bryter det sammen mens en gjennomstrømmingstest over det samme paret fortsatt melder om nesten full linjehastighet. Det avviket er selve diagnosen: forbindelsen er i orden, og noe velger en dårligere vei for overføringen. Det noe er som regel SMB3-multikanal, som gjør nøyaktig det den er konstruert for. Fjern den ekstra kanalen, og kopien går tilbake til den fysiske forbindelsen.

Symptomet venter på sin langsomste kanal

Multikanal gjør at én SMB-økt kan bruke flere TCP-forbindelser, én for hvert egnede adressepar mellom klient og tjener. Når begge maskinene står på LAN-et og på den samme tunnelen, kan Windows pare LAN-adressene med tunneladressene og regne begge parene som brukbare. Økten sitter da igjen med flere kanaler enn den fysiske forbindelsen trenger, og én av dem er mye langsommere.

Den feiler ikke. Den venter, fordi økten ikke kan bli ferdig raskere enn den langsomste kanalen.

Det er derfor en båndbreddetest kan se frisk ut mens en kopi kryper: en enkeltstrømsmåling velger kanskje én vei, mens overføringen var fordelt på to. Les kanallisten før du endrer noen innstilling på nettadapteren, og les den mens kopien fortsatt pågår, for en økt som ikke gjør noe viser ingenting. Det du noterer, bør navngi grensesnittet bak hver kanal, ikke bare hvor tregt resultatet føltes.

Bekreft at det finnes en kanal nummer to

To cmdlet-kommandoer svarer direkte på spørsmålet. Tilkoblingslisten viser kanalene som er i bruk, og øktsammendraget viser selve tilkoblingen. Kjør begge mens kopien går tregt.

Get-SmbMultichannelConnection
Get-SmbConnection

Se etter mer enn én rad som er merket som valgt for samme tjener, og finn deretter klientadressen i den mistenkelige raden. Hører den adressen til tunneladapteren, er den andre veien reell og bekreftet. Hører hver rad til det fysiske grensesnittet, er ikke multikanal problemet ditt, og kopien går tregt av en helt annen grunn. Gjør denne bekreftelsen først, fordi reparasjonen forstyrrer nok til å fortjene ett minutt med bevis.

Get-NetIPAddress -IPAddress 10.20.30.44

Adressene her er plassholdere. Bytt dem ut med det din egen utskrift viser, for å kopiere en adresse fra en blogg er nettopp måten en kommando som virker blir til en forvirrende feilmelding.

Fjern tunnelen fra SMB, og mål så på nytt

Å slå av multikanal er den raskeste måten å bekrefte diagnosen på, og det kan gjøres om. Sett klientinnstillingen på maskinen som kopierer, og tjenerinnstillingen på maskinen som deler ut mappen, fordi hver side alene kan holde den ekstra kanalen i live. Endringen gjelder nye tilkoblinger og ikke eksisterende, så en åpen økt overlever den. Start begge maskinene på nytt, eller lukk i det minste alle håndtak mot delingen, før du måler noe som helst.

Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Force

Bekreft den nye tilstanden, og se så hva tjeneren kunngjør for klientene nå.

Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Get-SmbServerNetworkInterface | Format-List *

Tunnelgrensesnittet skal falle ut av den kunngjorte listen. Skjer ikke det, har innstillingen havnet på feil ende, eller en gammel økt er fortsatt åpen. Skal fildeling rett og slett ikke bruke tunnelen, løser du i stedet tjenerkomponenten fra den adapteren, og da forblir tunnelen brukbar for alle andre tjenester.

Get-NetAdapterBinding -Name "OpenVPN Data Channel Offload"
Disable-NetAdapterBinding -Name "OpenVPN Data Channel Offload" -ComponentID ms_server

Foretrekk LAN-veien uten å late som den sletter kanaler

En grensesnittmetrikk forteller Windows hvilken vei som skal foretrekkes for nye tilkoblinger. Den fjerner ikke en kanal som multikanal allerede har bestemt seg for å åpne. Å øke metrikken for tunnelen er likevel verdt det, fordi det holder urelatert trafikk unna den trege veien og gjør den foretrukne ruten forutsigbar, men det er et dytt og ikke et filter.

Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "OpenVPN Data Channel Offload" -AutomaticMetric Disabled -InterfaceMetric 1000

Kopier aliaset fra den utskriften i stedet for å skrive det selv, fordi enkelte installasjoner oversetter navnet på adapteren, og den engelske strengen vil ikke stemme.

Mål så begge tallene på nytt: filkopien og en gjennomstrømmingstest over det samme paret. Kommer kopien seg mens gjennomstrømmingstesten aldri var treg, var multikanal årsaken, og du kan stoppe. Bryter begge sammen, er tunnelen flaskehalsen og multikanal gjorde den bare verre. Blir kopien treg mens begge veiene ser riktige ut, bor det gjenstående problemet i delingen, lagringen eller en filterdriver, og det er en helt annen undersøkelse.

Relaterte artikler