Поделиться через


Управление SMB Multichannel

Область применения: Azure Stack HCI версий 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

SMB Multichannel является частью протокола SMB 3.0, что повышает производительность сети и доступность файловых серверов.

SMB Multichannel позволяет файловым серверам использовать несколько сетевых подключений одновременно. Это упрощает агрегирование пропускной способности сети и отказоустойчивости сети, если между клиентом SMB 3.0 и сервером SMB 3.0 доступно несколько путей. Это позволяет серверным приложениям в полной мере использовать всю доступную пропускную способность сети и делает их более устойчивыми к сбоям сети.

SMB Multichannel предоставляет следующие возможности:

  • Повышенная пропускная способность. Файловый сервер может одновременно передавать дополнительные данные с помощью нескольких подключений для высокоскоростных сетевых адаптеров или нескольких сетевых адаптеров.

  • Отказоустойчивость сети. Если клиенты одновременно используют несколько сетевых подключений, они могут продолжать работу без прерывания, несмотря на потерю сетевого подключения.

  • Автоматическая настройка. SMB Multichannel автоматически обнаруживает несколько доступных сетевых путей и при необходимости динамически добавляет подключения.

Требования к SMB Multichannel

Так как SMB Multichannel включен по умолчанию, вам не нужно устанавливать дополнительные роли, службы ролей или компоненты. Клиент SMB автоматически обнаруживает и использует несколько сетевых подключений при определении конфигурации. Однако SMB Multichannel имеет следующие требования:

  • По крайней мере два компьютера под управлением Azure Stack HCI, Windows Server или Windows 10 операционной системой.

  • По крайней мере одна из следующих конфигураций:

    • несколько сетевых адаптеров;

    • Один или несколько сетевых адаптеров, поддерживающих технологию Receive Side Scaling (RSS)

    • Несколько сетевых адаптеров, которые объединяются (см. раздел Объединение сетевых карт)

    • Один или несколько сетевых адаптеров, поддерживающих удаленный прямой доступ к памяти (RDMA)

Настройка SMB Multichannel

В этом разделе описываются некоторые параметры конфигурации для развертывания SMB Multichannel с помощью массива сетевых адаптеров. Эти конфигурации являются только примерами конфигураций. Существует множество других возможных конфигураций, которые не включены в этот раздел.

Один сетевой адаптер с поддержкой RSS

В этой типичной конфигурации клиент SMB и сервер SMB настраиваются с помощью одного 10-гигабитного сетевого адаптера Ethernet (10 Гбит/с). Если SMB развертывается без SMB Multichannel и если установлен только один сеанс SMB, SMB создает одно подключение TCP/IP. При наличии только одного ядра ЦП такая конфигурация по своей сути приводит к перегрузке, особенно при выполнении большого количества небольших операций ввода-вывода. Таким образом, потенциал для узкого места производительности является значительным.

Большинство современных сетевых адаптеров предлагают возможность масштабирования на стороне получения (RSS), которая позволяет нескольким подключениям автоматически распределяться между несколькими ядрами ЦП. Однако если вы используете одно подключение, RSS не поможет. При использовании SMB Multichannel с сетевым адаптером с поддержкой RSS SMB создает несколько tcp/IP-подключений для конкретного сеанса. Эта конфигурация позволяет избежать потенциального узкого места на одном ядре ЦП, если требуется много небольших операций ввода-вывода.

несколько сетевых адаптеров;

В этой конфигурации клиент SMB и сервер SMB настраиваются с помощью нескольких сетевых адаптеров 10 GbE. При развертывании SMB без SMB Multichannel и если установлен только один сеанс SMB, SMB использует один из доступных сетевых адаптеров для создания одного подключения TCP/IP. В этом сценарии невозможно агрегировать пропускную способность нескольких сетевых адаптеров. например, невозможно достичь 2 гигабит в секунду (Гбит/с) при использовании двух сетевых адаптеров 1 Гбит/с. Существует также вероятность сбоя, если выбранный сетевой адаптер отключен или отключен.

При развертывании SMB с SMB Multichannel SMB создает несколько подключений TCP/IP для одного сеанса с по крайней мере одним или несколькими подключениями на интерфейс, если сетевые адаптеры поддерживает RSS. Эта конфигурация позволяет SMB использовать доступную пропускную способность объединенного сетевого адаптера и позволяет клиенту SMB продолжать работу без прерывания работы в случае сбоя сетевого адаптера.

Объединение сетевых адаптеров

Azure Stack HCI и Windows Server поддерживают возможность объединения нескольких сетевых адаптеров в один сетевой адаптер с помощью функции, называемой объединением сетевых карт. Хотя команда всегда обеспечивает отказоустойчивость, при развертывании SMB без SMB Multichannel SMB создает только одно подключение TCP/IP для каждой команды. Такая конфигурация приводит к ограничениям как по количеству задействованных ядер ЦП, так и к максимальному использованию пропускной способности команды.

При развертывании SMB с несколькими каналами SMB SMB создает несколько подключений TCP/IP для одного сеанса, чтобы достичь лучшего баланса между ядрами ЦП и более эффективного использования доступной пропускной способности. Объединение сетевых карт по-прежнему предлагает возможность отработки отказа, которая работает быстрее, чем использование SMB Multichannel само по себе. Мы также рекомендуем объединить сетевые карты, так как она предлагает возможности отработки отказа для других рабочих нагрузок, которые не зависят от SMB, так как эти рабочие нагрузки не могут воспользоваться возможностями отработки отказа SMB Multichannel.

Если вы используете выделенный набор сетевых адаптеров для Локальные дисковые пространства трафика, как это иногда делается в Azure Stack HCI, группирование этих сетевых адаптеров хранилища является строго необязательным— это не обеспечивает каких-либо существенных преимуществ или недостатков.

Важно!

На Windows Server 2012 R2 и более ранних версиях не используйте объединение сетевых карт, если вы планируете использовать возможности RDMA сетевых адаптеров. В этих операционных системах группа сетевых адаптеров с поддержкой RDMA всегда сообщается как не поддерживающая RDMA, так как при объединенности отключается возможность RDMA сетевого адаптера.

Один или несколько сетевых адаптеров с поддержкой RDMA

SMB Multichannel обнаруживает возможности RDMA сетевых адаптеров, что позволяет использовать функцию SMB Direct, называемую SMB Direct через RDMA. Без SMB Multichannel SMB использует обычные подключения TCP/IP с сетевыми адаптерами с поддержкой RDMA, где все сетевые адаптеры предоставляют стек TCP/IP, который существует параллельно с новым стеком RDMA.

При развертывании SMB с помощью SMB Multichannel SMB обнаруживает возможности RDMA сетевого адаптера и создает несколько подключений RDMA для одного сеанса с двумя подключениями RDMA на интерфейс. Эта конфигурация позволяет SMB использовать преимущества высокой пропускной способности, низкой задержки и низкой загрузки ЦП, предлагаемых сетевыми адаптерами с поддержкой RDMA. Он также обеспечивает отказоустойчивость при использовании нескольких интерфейсов RDMA.

Важно!

После создания подключения RDMA соединение TCP/IP для исходного согласования протокола больше не используется. Однако это подключение сохраняется в случае сбоя другого подключения RDMA.

SMB Multichannel, сетевые адаптеры с поддержкой RDMA и совместимость объединения сетевых карт

В следующей таблице перечислены различные возможности, доступные при объединении SMB Multichannel, RDMA (SMB Direct) и объединения сетевых карт.

Конфигурация Пропускная способность Отказоустойчивость для SMB Отказоустойчивость для не SMB Низкий коэффициент использования ЦП
Один сетевой адаптер (без RSS) *
Несколько сетевых адаптеров (без RSS) ** *
Несколько сетевых адаптеров (без RSS) с объединением сетевых карт ** ** *
Один сетевой адаптер с RSS *
Несколько сетевых адаптеров с RSS ** *
Несколько сетевых адаптеров с объединением RSS и сетевых адаптеров ** ** *
Один сетевой адаптер с поддержкой RDMA * *
Несколько сетевых адаптеров с поддержкой RDMA *** * *
Несколько сетевых адаптеров с поддержкой RDMA с объединением сетевых карт *** ** * *

Если вы используете Windows Server 2016 или более поздней версии, идеальным решением является использование нескольких сетевых адаптеров с поддержкой RDMA и объединение сетевых карт с SMB Multichannel. Такое сочетание обеспечивает наилучшую пропускную способность, отказоустойчивость для приложений, использующих SMB и другие протоколы, и оказывает наименьшее влияние на ЦП.

Как упоминалось выше, при использовании сетевых адаптеров с поддержкой RDMA на Windows Server 2012 R2 или более ранней версии объединение сетевых карт не является хорошим вариантом, так как оно отключает возможность RDMA сетевого адаптера.

Примеры конфигураций без SMB Multichannel

Если вы планируете использовать один сетевой адаптер без RSS, вы не используете несколько сетевых подключений, поэтому SMB Multichannel не используется. Кроме того, если вы планируете использовать сетевые адаптеры разной скорости, SMB Multichannel автоматически выбирает самый быстрый сетевой адаптер. Это связано с тем, что сетевые адаптеры одного типа (например, RDMA, RSS или ни один из них) и имеют одинаковую скорость, одновременно используются SMB Multichannel. Более медленные сетевые адаптеры простаивают.

Отключение SMB Multichannel

Как правило, отключать SMB Multichannel не требуется. Однако если вы хотите отключить SMB Multichannel, например в тестовой среде, используйте следующие процедуры Windows PowerShell.

Сначала подключитесь к одному из серверов, открыв сеанс PowerShell:

Enter-PSSession <server-name>

Чтобы отключить SMB Multichannel на стороне сервера, используйте следующий командлет:

Set-SmbServerConfiguration -EnableMultiChannel $false

Чтобы отключить SMB Multichannel на стороне клиента, используйте следующий командлет:

Set-SmbClientConfiguration -EnableMultiChannel $false

Примечание

Отключение SMB Multichannel на клиенте или сервере блокирует его использование обеими системами.

Повторное включение SMB Multichannel

Если вы отключили SMB Multichannel и хотите повторно включить его, используйте следующие процедуры.

Чтобы повторно включить SMB Multichannel на стороне сервера, используйте следующий командлет:

Set-SmbServerConfiguration -EnableMultiChannel $true

Чтобы повторно включить SMB Multichannel на стороне клиента, используйте следующий командлет:

Set-SmbClientConfiguration -EnableMultiChannel $true

Примечание

Необходимо повторно включить SMB Multichannel как на клиенте, так и на сервере, чтобы снова начать использовать его.

Тестирование SMB Multichannel

В этом разделе описываются некоторые сценарии тестирования SMB Multichannel, в том числе сравнение копии файла с SMB Multichannel и без нее, а также намеренное сбой сетевого адаптера во время операции копирования файла.

Сравнение копии файла с многоканальным SMB и без нее

Чтобы измерить увеличенную пропускную способность, предоставляемую SMB Multichannel, выполните следующие тесты. Перезапустите сервер и клиент перед каждым тестом, чтобы убедиться, что они работают в одинаковых условиях.

  1. Настройте SMB Multichannel с помощью ранее описанных конфигураций.

  2. Измерьте время, необходимое для выполнения длительной операции копирования файлов, с помощью SMB Multichannel.

  3. Отключите SMB Multichannel. Инструкции см. в разделе Отключение SMB Multichannel.

  4. Измерьте время, необходимое для копирования одного и того же файла без SMB Multichannel.

  5. Повторно включите SMB Multichannel. Инструкции см. в разделе Повторное включение SMB Multichannel.

  6. Сравните два результата.

Важно!

Чтобы избежать влияния кэширования на производительность, сначала скопируйте большой объем данных, превышающий размер доступной памяти. Затем снова выполните операцию копирования, при этом первая операция копирования служит в качестве прогрева. Время только второй операции копирования.

Сбой одного из сетевых адаптеров во время копирования файла с помощью SMB Multichannel

Чтобы подтвердить возможность отработки отказа в SMB Multichannel, выполните следующие действия.

  1. Убедитесь, что SMB Multichannel работает в конфигурации с несколькими сетевыми адаптерами.

  2. Выполните длительную операцию копирования файлов.

  3. Во время копирования файла имитируйте сбой одного из сетевых путей, отсоединив один из кабелей или отключив один из сетевых адаптеров.

  4. Убедитесь, что копия файла продолжает использовать оставшийся сетевой адаптер и работает без ошибок копирования файлов.

Убедитесь, что нет других рабочих нагрузок, использующих отключенный путь сетевого подключения. Эта мера предосторожности позволяет избежать возможного сбоя в рабочих нагрузках, которые не используют SMB Multichannel.

Убедитесь, что SMB Multichannel работает

Используйте следующую процедуру, чтобы убедиться, что SMB Multichannel работает.

  1. Чтобы проверить правильность конфигурации сетевого адаптера, введите следующую команду в Windows PowerShell на сервере SMB и клиенте SMB.

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. Чтобы убедиться, что SMB Multichannel включен, убедитесь, что SMB правильно идентифицирует сетевые адаптеры, а возможности RSS и RDMA сетевого адаптера правильно определены, выполните следующие действия.

    В клиенте SMB введите следующее в Windows PowerShell:

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    На сервере SMB введите следующую команду в Windows PowerShell:

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. На клиенте SMB выполните длительную операцию копирования файлов, которая создает текущий сеанс с сервером SMB. Пока выполняется операция копирования, введите следующую команду в Windows PowerShell, чтобы убедиться, что подключение использует правильную версию SMB и что SMB Multichannel работает.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Дальнейшие действия

Дополнительные сведения см. также в разделе: