Копіювання файлу між двома машинами 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 зникне з картини. Запишіть, який адаптер ви змінили, бо наступна людина знайде налаштування, а не причину.

Схожі статті