Копирање датотеке између два Windows рачунара је брзо док се оба не придруже истом VPN-у, а онда се руши, иако тест пропусности преко истог пара још увек пријављује скоро пуну брзину линије. Та разлика је дијагноза: веза је у реду и нешто бира лошији пут за само преношење. То нешто је обично SMB3 вишеканалност, која ради тачно оно за шта је направљена. Извадите додатни канал из једначине и копија се враћа на физичку везу.

Симптом чека свој најспорији канал

Вишеканалност дозвољава једној SMB сесији да користи неколико TCP веза, по једну за сваки одговарајући пар адреса између клијента и сервера. Кад су оба рачунара на LAN-у и на истом тунелу, Windows може да упари LAN адресе са адресама тунела и оба пара сматра употребљивим. Сесија на крају има више канала него што је физичкој вези потребно, а један од њих је много спорији.

То не пада. Оно чека, јер сесија не може да заврши брже од свог најспоријег канала.

Зато тест пропусности може да изгледа исправно док копија пуже: мерење једног тока може да изабере један пут, а преношење је било распоређено на два. Прочитајте списак канала пре него што промените било које подешавање адаптера, и читајте га док копија још траје, јер неактивна сесија не показује ништа. Оно што запишете треба да именује интерфејс иза сваког канала, а не само колико је резултат деловао споро.

Потврдите да постоји други канал

Две cmdlet наредбе директно одговарају на питање. Списак веза показује канале у употреби, а сажетак сесије показује саму везу. Покрените обе током спорог копирања.

Get-SmbMultichannelConnection
Get-SmbConnection

Тражите више од једног реда означеног као изабран за исти сервер, затим разрешите адресу клијента у сумњивом реду. Ако та адреса припада адаптеру тунела, други пут је стваран и потврђен. Ако сваки ред припада физичком интерфејсу, вишеканалност није ваш проблем и копија је спора из неповезаног разлога. Урадите ту потврду прво, јер је поправка довољно ометајућа да заслужи минут доказа.

Get-NetIPAddress -IPAddress 10.20.30.44

Адресе су овде заменске. Замените их оним што пријављује ваш сопствени излаз, јер копирање адресе са блога је начин на који радна наредба постаје збуњујућа порука о грешци.

Извадите тунел из SMB-а, па мерите поново

Искључивање вишеканалности је најбржи начин да потврдите дијагнозу и реверзибилно је. Примените клијентско подешавање на рачунару који копира, а серверско на рачунару који хостује дељени ресурс, јер било која страна сама може да одржи додатни канал живим. Промена важи за нове везе, а не за постојеће, па отворена сесија је преживљава. Поново покрените оба рачунара или барем затворите сваки рукохват ка дељеном ресурсу пре него што било шта измерите.

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

Потврдите ново стање, па погледајте шта сервер сада оглашава клијентима.

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

Интерфејс тунела треба да испадне са тог оглашеног списка. Ако не испадне, подешавање је слетело на погрешан крај или је стара сесија још отворена. Ако дељење датотека једноставно не сме да користи тунел, уместо тога одвежите серверску компоненту са тог адаптера, што тунел оставља употребљивим за сваку другу услугу.

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

Преферирајте LAN пут без претварања да брише канале

Метрика интерфејса говори Windows-у који пут да преферира за нове везе. Она не уклања канал који је вишеканалност већ одлучила да отвори. Подизање метрике тунела се ипак исплати, јер држи неповезани саобраћај даље од спорог пута и чини преферирану руту предвидљивом, али то је гуркање, а не филтер.

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

Копирајте алијас из тог излаза уместо да га куцате, јер неке инсталације локализују назив адаптера и енглески низ се неће поклопити.

Затим поново измерите оба броја: копирање датотеке и тест пропусности преко истог пара. Ако се копија опорави док тест пропусности никада није био спор, вишеканалност је била узрок и можете да престанете. Ако се оба сруше, тунел је уско грло а вишеканалност га је само појачала. Ако копија остане спора док оба пута изгледају исправно, преостали проблем живи у дељеном ресурсу, складишту или драјверу филтера, што је друга истрага.

Повезани чланци