Dlaczego kopiowanie przez SMB zwalnia, gdy oba komputery łączą się z tym samym VPN
SMB3 Multichannel może dodać kanał tunelowy do kopii w sieci LAN i ściągnąć ją na wolniejszą ścieżkę. Potwierdź kanał, następnie odłącz go lub wyłącz i przetestuj ponownie.
Kopiowanie pliku między dwoma komputerami Windows w gigabitowej sieci LAN zwalnia do pełzania w momencie, gdy oba łączą się z tym samym VPN, podczas gdy test przepustowości między tą samą parą nadal pokazuje niemal prędkość linii. Problem nie leży w łączu ani w dysku. SMB3 Multichannel po cichu dodał drugie połączenie TCP, które biegnie przez tunel, a kopia czeka na wolniejszy kanał. Usunięcie tej ścieżki z SMB przywraca prędkość LAN.
Jeden udział może podróżować kilkoma połączeniami TCP
Multichannel pozwala klientowi otwierać niezależne połączenia do jednego serwera, po jednym dla każdej odpowiedniej pary adresów. W zwykłej sieci LAN może być tylko jedna para, więc nic zaskakującego się nie dzieje. Dodaj adapter VPN na obu komputerach, a Windows zobaczy drugą parę, adres tunelu przeciw adresowi tunelu, i otworzy przez nią kanał.
Ten kanał jest szyfrowany, dzieli procesor z tunelem i przechodzi przez to samo łącze WAN co wszystko inne. Kopia, która używałaby tylko sieci LAN, ma teraz wolnego członka w zestawie, a SMB nie porzuca go po cichu.
Test przepustowości przypięty do adresu LAN nadal wygląda zdrowo, i właśnie dlatego oba pomiary tak ostro się różnią.
Udowodnij, że kanał tunelowy istnieje, zanim cokolwiek zmienisz
Uruchom zapytania na kliencie podczas trwającego kopiowania, bo lista kanałów jest interesująca tylko wtedy, gdy jest żywa.
Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens
Więcej niż jeden wybrany wiersz dla tego samego serwera to potwierdzenie, którego potrzebujesz. Rozwiąż adres klienta podejrzanego wiersza na interfejs. Jeśli tym aliasem jest adapter VPN, kanał jest prawdziwy, a nie nieaktualny wpis.
Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias
Adresy różnią się na każdym komputerze, więc czytaj te, które podaje twoje własne wyjście, zamiast wpisywać powyższe przykłady.
Wyjmij tunel z SMB i uruchom ponownie oba końce
Wyłączenie Multichannel to zmiana zarówno na kliencie, jak i na serwerze, a zrobienie jej tylko po jednej stronie pozostawia drugą stronę wolną do dalszego oferowania interfejsu. Istniejące kanały przeżywają to ustawienie, więc zaplanuj restart, zamiast oczekiwać, że następna kopia zachowa się inaczej.
Set-SmbClientConfiguration -EnableMultiChannel $false -Force Set-SmbServerConfiguration -EnableMultiChannel $false -Force Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Po ponownym uruchomieniu wylistuj interfejsy, które serwer oferuje dla SMB. Adapter tunelu powinien zniknąć z tej listy. Jeśli nadal tam jest, ustawienie trafiło na niewłaściwy punkt końcowy albo stara sesja jest nadal otwarta.
Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed
Gdy cel jest węższy niż wyłączenie Multichannel wszędzie, odłączenie komponentu serwera od adaptera tunelu zatrzymuje udostępnianie przez niego, pozostawiając resztę VPN nietkniętą.
Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Preferuj sieć LAN i mierz dwa razy w ten sam sposób
Metryka interfejsu nie usuwa kanału, ale kieruje nowe połączenia na łącze fizyczne i trzyma niepowiązany ruch z dala od tunelu. Kopiuj alias z wyjścia zamiast go wpisywać, bo w niektórych instalacjach jest zlokalizowany.
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000
Następnie powtórz oba pomiary: kopię pliku i test przepustowości jednego strumienia. Jeśli kopia się poprawia, a test przepustowości pozostaje bez zmian, tunel nigdy nie był wąskim gardłem. Jeśli oba się załamią, granicą jest ścieżka VPN, a Multichannel tylko ją uwidocznił. Porównaj z kopią wykonaną przed połączeniem VPN, bo to jedyna linia bazowa, która izoluje zmianę.
Wyłączenie Multichannel kosztuje przepustowość na serwerach, które naprawdę oferują kilka szybkich ścieżek, więc włącz je z powrotem, gdy VPN zniknie z obrazu. Zapisz, który adapter zmieniłeś, bo następna osoba znajdzie ustawienie, a nie powód.