Kopiranje datoteka padne kad se VPN poveže: SMB višekanalnost
Kopija čeka svoj najsporiji kanal, pa ispravan test propusnosti skriva uzrok. Potvrdite kanal tunela, izvadite ga iz SMB-a, a zatim izmjerite oba puta.
Kopiranje datoteke između dvaju Windows računala brzo je dok se oba ne pridruže istom VPN-u, a tada se sruši, iako test propusnosti preko istog para još uvijek prijavljuje gotovo punu brzinu linije. Ta razlika je dijagnoza: veza je u redu i nešto odabire lošiji put za samo prijenos. To nešto obično je SMB3 višekanalnost, koja radi točno ono za što je osmišljena. Izvadite dodatni kanal iz računice i kopija se vraća na fizičku vezu.
Simptom čeka svoj najsporiji kanal
Višekanalnost dopušta jednoj SMB sesiji da koristi nekoliko TCP veza, po jednu za svaki odgovarajući par adresa između klijenta i poslužitelja. Kad su oba računala na LAN-u i na istom tunelu, Windows može upariti LAN adrese s adresama tunela i oba para smatrati upotrebljivima. Sesija na kraju ima više kanala nego što fizičkoj vezi treba, a jedan je od njih mnogo sporiji.
To ne pada. To čeka, jer sesija ne može završiti brže od svog najsporijeg kanala.
Zato test propusnosti može izgledati ispravno dok kopija puže: mjerenje jednog toka može odabrati jedan put, a prijenos je bio raspoređen na dva. Pročitajte popis kanala prije nego promijenite bilo koju postavku adaptera i čitajte ga dok kopija još traje, jer neaktivna sesija ne pokazuje ništa. Ono što zapišete treba imenovati sučelje iza svakog kanala, a ne samo koliko se rezultat činio sporim.
Potvrdite da postoji drugi kanal
Dvije cmdlet naredbe odgovaraju na pitanje izravno. Popis veza pokazuje kanale u upotrebi, a sažetak sesije pokazuje samu vezu. Pokrenite obje tijekom spore kopije.
Get-SmbMultichannelConnection
Get-SmbConnectionTražite više od jednog retka označenog kao odabran za isti poslužitelj, zatim razriješite adresu klijenta u sumnjivom retku. Ako ta adresa pripada adapteru tunela, drugi put je stvaran i potvrđen. Ako svaki redak pripada fizičkom sučelju, višekanalnost nije vaš problem i kopija je spora iz nepovezanog razloga. Obavite tu potvrdu prvo, jer je popravak dovoljno ometajuć da zaslužuje minutu dokaza.
Get-NetIPAddress -IPAddress 10.20.30.44Adrese su ovdje zamjenske. Zamijenite ih onim što prijavljuje vaš vlastiti izlaz, jer kopiranje adrese s bloga način je na koji radna naredba postaje zbunjujuća poruka o pogrešci.
Izvadite tunel iz SMB-a, pa mjerite ponovno
Isključivanje višekanalnosti najbrži je način da potvrdite dijagnozu i reverzibilno je. Primijenite klijentsku postavku na računalu koje kopira, a poslužiteljsku na računalu koje hosta dijeljeni resurs, jer bilo koja strana sama može održati dodatni kanal živim. Promjena vrijedi za nove veze, a ne za postojeće, pa otvorena sesija preživljava. Ponovno pokrenite oba računala ili barem zatvorite svaki handle prema dijeljenom resursu prije nego što bilo što izmjerite.
Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -ForcePotvrdite novo stanje, pa pogledajte što poslužitelj sada oglašava klijentima.
Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Get-SmbServerNetworkInterface | Format-List *Sučelje tunela treba ispasti s tog oglašenog popisa. Ako ne ispadne, postavka je sletjela na pogrešan kraj ili je stara sesija još otvorena. Ako dijeljenje datoteka jednostavno ne smije koristiti tunel, umjesto toga odvežite poslužiteljsku komponentu s tog adaptera, što tunel ostavlja upotrebljivim za svaku drugu uslugu.
Get-NetAdapterBinding -Name "OpenVPN Data Channel Offload"
Disable-NetAdapterBinding -Name "OpenVPN Data Channel Offload" -ComponentID ms_serverPreferirajte LAN put bez pretvaranja da briše kanale
Metrika sučelja govori Windowsu koji put preferirati za nove veze. Ona ne uklanja kanal koji je višekanalnost već odlučila otvoriti. Podizanje metrike tunela ipak se isplati, jer drži nepovezani promet dalje od sporog puta i čini preferiranu rutu predvidljivom, ali to je guranje, a ne filtar.
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "OpenVPN Data Channel Offload" -AutomaticMetric Disabled -InterfaceMetric 1000Kopirajte alias iz tog izlaza umjesto da ga tipkate, jer neke instalacije lokaliziraju naziv adaptera i engleski niz neće odgovarati.
Zatim ponovno izmjerite oba broja: kopiranje datoteke i test propusnosti preko istog para. Ako se kopija oporavi dok test propusnosti nikada nije bio spor, višekanalnost je bila uzrok i možete stati. Ako se oba sruše, tunel je usko grlo a višekanalnost ga je samo pojačala. Ako kopija ostane spora dok oba puta izgledaju ispravno, preostali problem živi u dijeljenom resursu, pohrani ili upravljačkom programu filtra, što je druga istraga.