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


Управление 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

Внимание

Azure Stack HCI теперь является частью Azure Local. Выполняется переименование документации по продукту. Однако старые версии Azure Stack HCI, например 22H2, будут продолжать ссылаться на Azure Stack HCI и не отражают изменение имени. Подробнее.

Протокол 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 ГбE). При развертывании SMB без SMB Multichannel и при наличии только одного сеанса SMB SMB создается одно подключение TCP/IP. При использовании только одного ядра ЦП эта конфигурация по сути приводит к перегрузке, особенно при выполнении многих небольших операций ввода-вывода. Таким образом, потенциал для узких мест производительности является значительным.

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

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

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

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

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

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

При развертывании SMB с помощью SMB Multichannel 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 через 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

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

Сравнение копии файла с SMB Multichannel и без нее

Чтобы измерить повышенную пропускную способность, предоставляемую 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.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Следующие шаги

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