Защо копирането по SMB се забавя, когато двата компютъра влязат в една и съща VPN
SMB3 Multichannel може да добави тунелен канал към копиране по LAN и да го дръпне по по-бавния път. Потвърдете канала, след което го отвържете или изключете и тествайте отново.
Копирането на файл между две Windows машини в гигабитова LAN пада до пълзене в момента, в който и двете се свържат към една и съща VPN, докато тестът на пропускателната способност между същата двойка все още отчита почти скоростта на линията. Проблемът не е в канала, нито в диска. SMB3 Multichannel тихо е добавил втора TCP връзка, която минава през тунела, и копирането чака канала, който е най-бавен. Премахването на този път от SMB връща скоростта на LAN.
Едно споделяне може да минава през няколко TCP връзки
Multichannel позволява на клиента да отваря независими връзки към един сървър, по една за всяка подходяща двойка адреси. В обикновена LAN може да има само една двойка, така че нищо изненадващо не се случва. Добавете VPN адаптер на двете машини и Windows вижда втора двойка, тунелен адрес срещу тунелен адрес, и отваря канал през нея.
Този канал е криптиран, дели процесора с тунела и пресича същата WAN връзка като всичко останало. Копие, което иначе би използвало само LAN, сега има бавен член в набора, а SMB не го изхвърля тихо.
Тест на пропускателната способност, закачен за LAN адреса, все още изглежда здрав, и точно затова двете измервания се разминават толкова рязко.
Докажете, че тунелният канал съществува, преди да промените нещо
Изпълнете заявките на клиента, докато копирането тече, защото списъкът с канали е интересен само когато е жив.
Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens
Повече от един избран ред за един и същ сървър е потвърждението, което ви трябва. Преобразувайте клиентския адрес на подозрителния ред в интерфейс. Ако този псевдоним е VPN адаптерът, каналът е реален, а не остарял запис.
Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias
Адресите се различават на всяка машина, затова четете тези, които собственият ви изход отчита, вместо да въвеждате примерите по-горе.
Извадете тунела от SMB и рестартирайте двата края
Изключването на Multichannel е промяна както на клиента, така и на сървъра, а правенето ѝ само от една страна оставя другата свободна да продължи да предлага интерфейса. Съществуващите канали преживяват настройката, затова планирайте рестарт, вместо да очаквате следващото копие да се държи различно.
Set-SmbClientConfiguration -EnableMultiChannel $false -Force Set-SmbServerConfiguration -EnableMultiChannel $false -Force Get-SmbClientConfiguration | Select-Object EnableMultiChannel
След рестарта избройте интерфейсите, които сървърът предлага за SMB. Тунелният адаптер трябва да е изчезнал от този списък. Ако все още присъства, настройката е попаднала на грешния край или стара сесия още е отворена.
Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed
Когато целта е по-тясна от изключване на Multichannel навсякъде, отвързването на сървърния компонент от тунелния адаптер спира споделянето през него, като оставя останалата част от VPN непокътната.
Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Предпочитайте LAN и измервайте по същия начин два пъти
Метриката на интерфейса не премахва канал, но насочва новите връзки към физическия канал и държи несвързания трафик далеч от тунела. Копирайте псевдонима от изхода, вместо да го въвеждате, защото при някои инсталации е локализиран.
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000
След това повторете двете измервания: копирането на файла и тест на пропускателната способност с един поток. Ако копирането се възстанови, докато тестът остане непроменен, тунелът никога не е бил тясното място. Ако и двете се сринат, VPN пътят е границата и Multichannel само го е направил видим. Сравнете с копие, направено преди свързването на VPN, защото това е единствената базова линия, която изолира промяната.
Изключването на Multichannel струва пропускателна способност на сървъри, които наистина предлагат няколко бързи пътя, затова го включете отново, когато VPN излезе от картината. Запишете кой адаптер сте променили, защото следващият човек ще намери настройката, а не причината.