Увеличение производительности файлового сервера с помощью SMB Direct

 

Применимо к:Windows Server 2012 R2, Windows Server 2012

В Windows Server 2012 R2 и Windows Server 2012 включен новый компонент SMB Direct, который поддерживает использование сетевых адаптеров с функцией удаленного доступа к памяти (RDMA).Сетевые адаптеры с RDMA могут работать на полной скорости с очень малой задержкой, используя при этом очень малую часть ресурсов ЦП.При использовании этой функции для таких рабочих нагрузок, как Hyper-V и Microsoft SQL Server, работа с удаленным файловым сервером будет похожа на работу с локальным хранилищем.Особенности SMB Direct:

  • Увеличение пропускной способности: полностью использует пропускную способность высокоскоростных сетей, в которых сетевые адаптеры координируют передачу больших объемов данных со скоростью линии.

  • Низкая задержка: обеспечивает предельно быстрые отклики на сетевые запросы, в результате чего создается ощущение, что удаленное хранилище файлов — это напрямую подключенное блочное хранилище.

  • Низкая загрузка ЦП: использует меньше тактов центрального процессора во время передачи по сети, благодаря чему для серверных приложений остается больше мощности.

SMB Direct автоматически настраивается с помощью Windows Server 2012 R2 и Windows Server 2012.

SMB Multichannel и SMB Direct

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

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

Примечание

  • Не следует объединять несколько сетевых адаптеров, имеющих функцию RDMA, если вы планируете использовать функцию RDMA этих адаптеров.При объединении сетевые адаптеры не поддерживают RDMA.

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

В данном руководстве

Требования

Для поддержки SMB Direct необходимо соблюдать следующие требования.

Вопросы использования SMB Direct

  • Можно использовать SMB Direct в отказоустойчивом кластере. Однако необходимо при этом убедиться, что сеть кластера, используемая для клиентского доступа, подходит для работы с SMB Direct.Отказоустойчивая кластеризация поддерживает использование нескольких сетей для клиентского доступа наряду с сетевыми адаптерами с поддержкой RSS (Receive Side Scaling) и RDMA.

  • SMB Direct можно использовать в управляющей операционной системе Hyper-V для поддержки использования Hyper-V через SMB и для обеспечения хранилища для виртуальной машины, которая использует стек хранилища Hyper-V.Однако сетевые адаптеры с RDMA недоступны напрямую для клиента Hyper-V.Если подключить сетевой адаптер с RDMA к виртуальному коммутатору, виртуальные сетевые адаптеры этого коммутатора не будут поддерживать RDMA.

  • При отключении SMB Multichannel отключается также и SMB Direct.SMB Multichannel определяет возможности сетевого адаптера, в том числе поддержку функции RDMA; если SMB Multichannel отключен, SMB Direct не может использоваться клиентом.

  • SMB Direct не поддерживается в Windows RT.SMB Direct требует поддержки сетевых адаптеров с функцией RDMA, которая доступна только в Windows Server 2012 R2 и Windows Server 2012.

  • SMB Direct не поддерживается в более ранних версиях Windows Server.Поддержка SMB Direct присутствует только в Windows Server 2012 R2 и Windows Server 2012.

Включение и отключение SMB Direct

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

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

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

Чтобы отключить RDMA для определенного интерфейса, введите:

Disable-NetAdapterRdma <name>

Чтобы отключить RDMA для всех интерфейсов, введите:

Set-NetOffloadGlobalSetting -NetworkDirect Disabled

Если RDMA отключен на клиенте или сервере, система не может использовать его.Network Direct — это внутреннее имя для базовой сетевой поддержки интерфейсов RDMA в Windows Server 2012 R2 и Windows Server 2012.

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

После отключения RDMA его можно снова включить, выполнив один из следующих сценариев Windows PowerShell.

Чтобы снова включить RDMA для определенного интерфейса, введите:

Enable-NetAdapterRDMA <name>

Чтобы снова включить RDMA для всех интерфейсов, введите:

Set-NetOffloadGlobalSetting -NetworkDirect Enabled

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

Проверка производительности SMB Direct

Проверить производительность можно с помощью одной из следующих процедур.

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

Чтобы измерить увеличенную пропускную способность SMB Direct

  1. Настройте SMB Direct

  2. Измерьте время копирования большого файла с использованием SMB Direct.

  3. Отключите RDMA в сетевом адаптере (см. раздел Включение и отключение SMB Direct).

  4. Измерьте время копирования большого файла без использования SMB Direct.

  5. Снова включите RDMA в сетевом адаптере. Сравните результаты тестов.

  6. Чтобы не допустить влияния кэширования, поступайте следующим образом:

    1. Копируйте большие объемы данных (больше, чем может разместиться в памяти).

    2. Производите копирование данных дважды: первый раз — для практики и второй раз — для собственно измерения времени.

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

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

Чтобы проверить отказоустойчивость SMB Direct

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

  2. Запустите копирование большого файла.Во время копирования сымитируйте отказ одного из сетевых трактов путем отключения одного из кабелей (или отключения одного из сетевых адаптеров).

  3. Убедитесь, что копирование продолжается с использованием других сетевых адаптеров и что не произошло ошибок копирования.

    Примечание

    Чтобы не допустить сбоев рабочей нагрузки, которая не использует SMB Direct, убедитесь, что отключенный сетевой тракт не используется другой рабочей нагрузкой.

См. также: