• Главная <
  • Галерея
  • Карта сайта
  • Наши контакты
  • Обратная связь

Windows Server 2012: SMB Multichannel | Булдаков.ru | записки сисадміна

Windows Server 2012 підтримує функцію SMB Multichannel, яка є частиною протокле SMB 3 Windows Server 2012 підтримує функцію SMB Multichannel, яка є частиною протокле SMB 3.0 і дозволяє сильно збільшити продуктивність і доступність файлових серверів.

SMB Multichannel дозволяє файлових серверів використовувати кілька мережевих підключень одночасно і надає наступні можливості:

  • Збільшена пропускна здатність. Файловий сервер може при передачі даних використовувати одночасно кілька мережевих підключень.
  • Відмовостійкість до збоїв в мережі. При використанні декількох мережевих підключень клієнт продовжує працювати з файловим сервером, навіть якщо кілька мережевих підключень перестануть працювати.
  • Автоматична настройка. SMB Multichannel автоматично виявляє існування декількох доступних мережевих підключень і автоматично починає їх використовувати в міру необхідності.

Вимоги. SMB Multichannel вимагає наступного:

  • Як мінімум два комп'ютери з Windows Server 2012 або Windows 8

Потрібна як мінімум одна з наступних конфігурацій:

  • Кілька мережевих адаптерів
  • Один або кілька мережних адаптерів, подорожувати RSS (Receive Side Scaling)
  • Один або кілька мережних адаптерів, об'єднаних в NIC Teaming
  • Один або кілька мережних адаптерів, подорожувати RDMA (Remote Direct Memory Access)

Як працює? SMB Multichannel проектувався для досягнення наступних цілей:

  • Угруповання і об'єднання однакових мережевих адаптерів (відмовостійкість у разі збою)
  • Установка декількох підключень (TCP / IP) в рамках одного мережевого адаптерів (ефективне використання ресурсів - процесора і ширини каналу)

SMB клієнт може використовувати ці властивості як окремо, там і спільно. Клієнт сам вирішує як їх застосовувати, в залежності від наявних мережевих адаптерів.

Клієнт відповідає за правила вибору мережевих адаптерів і кількість підключень. Сервер же відповідає за визначення доступних для клієнта мережевих адаптерів, а так само їх параметрів. Після першого підключення до сервера клієнт використовує спеціальну функцію для того, щоб пронумерувати мережеві адаптери сервера, а також отримати їх параметри.

Якщо існує кілька мережевих адаптерів на клієнті або сервері (або на обох) і існує мережевий шлях між ними, то карти будуть поміщені в спеціальний список, що містить доступні мережеві адаптери. У списку доступних мережевих адаптерів клієнт буде їх групувати за типом (1 GbE, 10 GbE, і RDMA). Серед цих груп клієнт потім вибере, які мережеві карти повинні використовуватися. Робиться це упорядкуванням типів груп, потім вибрати групу з найвищим пріоритетом.

У різних типів адаптерів буде різний пріоритет:

  1. RDMA-сумісні адаптери (InfiniBand, iWARP, або RoCE)
  2. RSS сумісні адаптери
  3. NIC Teaming адаптери
  4. Стандартні мережеві адаптери (фізичні або віртуальні)
  5. Бездротові мережеві адаптери

Як зазначалося вище, клієнт буде групувати мережеві адаптери на підставі їх типу. Наприклад, RDMA-сумісні адаптери будуть поміщені в одну групу і будуть використовуватися разом. Якщо і на клієнті і на сервері буде по два RDMA-сумісних адаптера, клієнт буде використовувати їх всіх. Якщо клієнт і сервер мають по 10GbE мережного адаптера, кожен з яких буде RSS-сумісний, то клієнт буде створювати кілька TCP / IP підключень через один мережевий адаптер.

Клієнт може зіткнутися з невідповідністю швидкостей мережевих адаптерів. Наприклад, буде мати чотири 1GbE адаптера, а сервер один 10GbE адаптер. У цьому випадку клієнт може створити TCP / IP з'єднання через кожен зі своїх 1GbE адаптерів. Це забезпечить більшу продуктивність. Сценарій буде робочим, так як загальна пропускна здатність з боку сервера буде більше, ніж з боку клієнта.

Нумерація мережевих адаптерів буде відбуватися динамічно. Якщо мережевий адаптер буде видалений, або доданий після того, як клієнт почав взаємодіяти з сервером, зміни в списку мережевих адаптерів будуть відразу ж використовуватися клієнтом. Наприклад, якщо користувач почав копіювання файлу через бездротову мережу, а потім підключив 1GbE мережевий адаптер, SMB клієнт почне використовувати новий адаптер, так як він буде мати більш високий пріоритет у порівнянні з бездротовим.

Налаштування. SMB Multichannel включений за замовчуванням. Ставити будь-які додаткові компоненти або ролі не потрібно. SMB клієнт автоматично знайде і почне використовувати кілька мережевих підключень при виявленні правильної конфігурації.

Не дивлячись на те, що SMB Multichannel включений за замовчуванням, його можна відключити від мережі.

На стороні SMB сервера відключення відбувається наступним чином:

Set-SmbServerConfiguration -EnableMultiChannel $ false

На стороні SMB клієнта відключення відбувається наступним чином:

Set-SmbClientConfiguration -EnableMultiChannel $ false

Зворотне включення на стороні сервера:

Set-SmbServerConfiguration -EnableMultiChannel $ true

Зворотне включення на стороні клієнта:

Set-SmbClientConfiguration -EnableMultiChannel $ true

Функцію необхідно включати і з боку сервера і з боку клієнта, інакше вона не буде працювати.

Нижче докладніше розглянуті різні конфігурації, з якими може працювати SMB Multichannel

  • Один RSS мережевий адаптер. У цій стандартній конфігурації і SMB клієнт і SMB сервер використовують один 10GbE адаптер. Без SMB Multichannel, якщо встановлена ​​одна SMB-сесія, протокол SMB використовує єдине TCP / IP підключення, яке зіставляється з одним ядром процесора. Якщо відбувається безліч дрібних операцій читання / запису, продуктивність ядра процесора може стати вузьким местом.Большінство мережевих адаптерів сьогодні пропонують використовувати функцію Receive Side Scaling (RSS), яка дозволяє автоматично розподіляти кілька підключень за кількома ядер процесора. Проте, при одному підключенні RSS НЕ поможет.С SMB Multichannel, при використанні мережного адаптера, що підтримує RSS, SMB буде створювати кілька TCP / IP підключень для однієї SMB-сесії. таким чином усувається можливе вузьке місце, пов'язане з використання тільки одного ядра процесора, в разі, коли потрібно здійснити багато невеликих операцій читання / запису.
  • Кілька мережевих адаптерів. При використанні декількох мережевих адаптерів при відключеному SMB Multichannel встановлюється всього одна SMB-сесія, SMB створює одне TCP / IP підключення, що використовує тільки один мережевий адаптер. У цій ситуації не тільки не можна об'єднати пропускну здатність кількох карт, але і виникає ймовірність збою, якщо використовуваний мережевий адаптер вийде з ладу або буде отключен.Прі використанні SMB Multichannel SMB створить кілька TCP / IP підключень для єдиною SMB-сесії (принаймні по одному на кожен мережевий адаптер, або більше, якщо мережеві адаптери підтримують RSS). Це дозволить SMB використовувати загальну пропускну здатність всіх мережевих адаптерів, а також дозволить SMB клієнту продовжувати працювати в разі виходу з ладу одного мережевого адаптера.
  • Використання NIC Teaming. Windows Server 2012 підтримує можливість об'єднувати кілька мережевих адаптерів в один за допомогою нової функції - NIC Teaming. Хоча таке об'єднання буде ВІДМОВОСТІЙКО, SMB без SMB Multichannel створюватиме тільки одне TCP / IP підключення. Це означає, що будуть обмеження по числу використовуваних процесорних ядер. Крім цього буде використовуватися не вся пропускна здатність об'єднання мережевих адаптеров.SMB Multichannel створить кілька TCP / IP підключень, що дозволить краще розподіляти навантаження на ядра процесора і використовувати всю доступну пропускну здатність. NIC Teaming надаватиме отказоустойчивую конфігурацію, яка буде працювати швидше ніж при використанні одного SMB Multichannel. NIC Teaming рекомендується використовувати так само і тому, що він надає відмовостійкість і для інших завдань, не пов'язаних з SMB.
  • Один або кілька RDMA мережевих адаптерів. SMB Multichannel відповідає за виявлення підтримки RDMA мережевого адаптера, що в подальшому дозволяє використовувати функцію SMB Direct (SMB over RDMA). Без SMB Multichannel SMB буде використовувати звичайний TCP / IP на цих RDMA-сумісних онлайнових адаптерах.Прі використанні SMB Multichannel SMB визначить, що мережеві адаптери RDMA-сумісні і створить кілька RDMA-підключень для однієї SMB-сесії (два на кожен мережевий адаптер). Це дозволить SMB використовувати високу пропускну здатність, низькі затримки і низьке завантаження процесора. Якщо використовується кілька RDMA мережевих карт, то конфігурація буде відмовостійкої.
  • Сумісність SMB Multichannel, RDMA і NIC Teaming. У таблиці нижче зібрані різні характеристики, доступні при використанні різних комбінацій SMB Multichannel, RDMA (SMB Direct) і NIC Teaming.
    Для мережевих адаптерів, що не підтримують RDMA, найкраще використовувати комбінацію NIC Teaming і SMB Multichannel. Вона дасть найбільшу пропускну здатність і відмовостійкість для додатків використовують SMB і інші протоколи.Для мережевих адаптерів, що підтримують RDMA, NIC Teaming не найкращий варіант, тому що відключає RDMA.
  • Прості конфігурації, в яких не використовується SMB Multichannel. Наступні конфігурації не використовують SMB Multichannel: Єдиний, який не підтримує RSS, мережевий адаптер. Ця конфігурація не дозволяє використовувати кілька мережевих підключень, отже SMB Multichannel використовуватися не буде. Мережеві адаптери з різними швидкостями роботи. SMB Multichannel використовує найшвидшу мережеву карту. Мережеві карти однакових типів (RDMA, RSS) і швидкостей будуть використовуватися SMB Multichannel одночасно, тому повільний адаптер не буде задіяно.

Кількість SMB підключень на мережевий адаптер. SMB Multichannel буде використовувати різну кількість підключень в залежності від типу мережевого адаптера:

  • Для RSS-сумісних адаптерів, чотири TCP / IP підключення на мережевий адаптер
  • Для RDMA-сумісних адаптерів, два TCP / IP підключення на мережевий адаптер
  • Для інших - одне TCP / IP підключення на мережевий адаптер

Існує так само обмеження на вісім TCP / IP підключень на пару клієнт / сервер, яке так само обмежує кількість підключень на мережевий адаптер.

Рекомендується ці дефолтні значення не міняти.

При необхідності, загальна кількість підключень на пару клієнт / сервер виставляється в N наступним чином:

Set-SmbClientConfiguration -MaximumConnectionCountPerServer <N>

При необхідності, загальна кількість підключень через RSS-сумісний адаптер виставляється в N наступним чином:

Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface <N>

Кількість підключень через RDMA-сумісний адаптер виставляється в N наступним чином:

Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Services \ Lanman \ Workstation Parameters" ConnectionCountPerRdmaNetworkInterface -Type DWORD -Value <N> -Force

Кількість підключень для інших типів адаптерів виставляється таким чином:

Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Services \ Lanman \ Workstation Parameters" ConnectionCountPerNetworkInterface -Type DWORD -Value <N> -Force

Останнє робити рекомендується тільки для вирішення виникаючих проблем, так як знижує продуктивність файлового сервера. По завершенні рекомендується повертати це значення в одиницю.

Обмеження SMB Multichannel. Для контролю SMB Multichannel в більш складних конфігураціях використовуються командлети SmbMultichannelConstraint. Наприклад, якщо у нас є чотири мережевих адаптера, але ми хочемо, щоб SMB Multichannel з них використовував тільки два, то можна використовувати такі команди:

New-SmbMultichannelConstraint -ServerName FS1 -InterfaceIndex 12, 19

або

New-SmbMultichannelConstraint -ServerName FS1 -InterfaceAlias ​​RDMA1, RDMA2

Слід пам'ятати що:

  • Обмеження робляться з боку клієнта і зберігаються в реєстрі
  • Обмеження робляться на сервер, так як може знадобитися налаштовувати різні мережеві адаптери для роботи з різними серверами
  • Вказуються мережеві адаптери, які потрібно використовувати, а не навпаки
  • Отримати список мережевих адаптерів можна через Get-NetAdapter
  • До серверів, які не вказуються в обмеженнях застосовуються дефолтні настройки

Вихідні документи:
The basics of SMB Multichannel, a feature of Windows Server 2012 and SMB 3.0
Windows 8 SMB 2.2 File Sharing Performance

Новости