Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Как настроить гостевой удаленный прямой доступ к памяти (RDMA) в Windows Server 2019

Summary: В этой статье описывается настройка гостевого удаленного прямого доступа к памяти (RDMA) в Windows Server 2019.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

Содержание

  1. Внедрение удаленного прямого доступа к памяти (RDMA)

  2. Лабораторная среда

  3. Конфигурация оборудования

  4. Настройка гостевого удаленного прямого доступа к памяти (RDMA)

  5. Командлеты PowerShell

  6. Ссылки для загрузки


1. Внедрение удаленного прямого доступа к памяти (RDMA)

Удаленный прямой доступ к памяти (RDMA) — это эффективная технология, которая позволяет компьютерам передавать данные по сети без участия ресурсов ЦП или ОС на задействованных хостах (вычисление/хранение). Это позволяет повысить пропускную способность и производительность, сократить задержки и снизить нагрузку на ЦП.

На данный момент существует два распространенных внедрения RDMA:

RoCE
- Транспортировка: UDP/IP (RoCE v2)
- На основе DCB (Data Center Bridging)

iWarp
- Базовая сеть: TCP/IP
- TCP обеспечивает управление потоком и перегрузкой.


RoCE в значительной степени зависит от конфигурации DCB, такой как ETS (Enhanced Transmission Service) и PFC (Priority Flow Control), что может стать проблемой, если сетевые коммутаторы настроены неправильно. iWARP не требует настройки коммутаторов.

Корпорация Microsoft начала поддержку RDMA в Windows Server 2012 и добавила новые функции в более поздние версии ОС Windows Server. Одной из функций, доступных в самой новой версии ОС Microsoft — Windows Server 2019, служит возможность использования удаленного прямого доступа к памяти (RDMA) в гостевой ОС (ВМ). Это позволяет гостевому серверу получать доступ к сетевой системе хранения с такой же низкой задержкой, как и при получении доступа к собственному хосту. Это снижает нагрузку на ЦП и повышает пропускную способность/производительность непосредственно в виртуальной машине.


Dell EMC предлагает отличные варианты для реализации RDMA 25 Гбит/с, например 2-портовую адаптерную плату Cavium QLogic FastLinQ 41262 25 GbE SFP28 (iWarp/RoCE) и плату Mellanox ConnectX-4 Lx RDMA 25 Гбит/с (RoCE). В данном примере для демонстрации функции гостевого удаленного прямого доступа к памяти (RDMA) используется плата Mellanox ConnectX-4 Lx RDMA (в режиме RoCEv2).

2. Лабораторная среда

Серверы: 2 сервера Dell EMC R7425 (32-ядерный процессор AMD Epyc 7551), 256 Гбайт памяти, плата Mellanox ConnectX-4 Lx, полностью обновленные (BIOS, микропрограмма, драйверы и ОС).
Установленные роли/функции: Hyper-V, DCB, отказоустойчивая кластеризация, локальные дисковые пространства (S2D).
Коммутатор: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15.
 
Dell EMC рекомендует обновлять BIOS, микропрограммы, драйверы и операционную систему в рамках планового цикла обновления. Обновления BIOS, микропрограммы, драйверов и ОС предназначены для повышения надежности, стабильности и безопасности системы.

3. Конфигурация оборудования

1. Перезагрузите серверы и откройте программу настройки системы (System Setup) (нажмите F2 во время процедуры POST).

2. Выберите пункт Device Settings.


HOW16693_en_US__1Fig1 - BiosDevSet
Рис. 1. Пункт «Device Settings» в BIOS
 
3. Выберите «NIC in Slot 1 Port 1 - Mellanox»

HOW16693_en_US__2Fig2 - BiosDevSetMellanox
Рис. 2. Выбор «Mellanox» для «Slot 1 Port 1» в окне «Device Settings»
 
4. Перейдите в раздел «Device Level Configuration»

HOW16693_en_US__3Fig3 - BiosDevLevConf
Перейдите в раздел «Device Level Configuration»
 
5. Выберите «SR-IOV» в пункте «Virtualization Mode».

HOW16693_en_US__4Fig4 - BiosDevSriov
Рис. 4. Выбор пункта «SR-IOV»
 
6. Повторите описанные выше действия для пункта «NIC in Slot 1 Port 2: Mellanox».

HOW16693_en_US__5Fig5 - BiosDevSetMellanox2
Рис. 5. Выбор «Mellanox» для «Slot 1 Port 2» в окне «Device Settings»
 
7. Вернитесь в главное меню «System Setup» и выберите пункт «System BIOS».

HOW16693_en_US__6Fig6 - SystemBios
Рис. 6. Выбор пункта «System BIOS»
 
8. Выберите «Integrated Devices».

HOW16693_en_US__7Fig7 - IntegratedDev
Рис. 7. Выбор пункта «Integrated Devices» в BIOS
 
9. Включите параметр «SR-IOV Global Enable».

HOW16693_en_US__8Fig8 - SriovGlobal
Рис. 8. Параметр «SR-IOV Global Enable»
 
10. Сохраните конфигурацию и перезагрузите сервер.
 

4. Настройка гостевого удаленного прямого доступа к памяти (RDMA)


1. Установите Windows Server 2019.
2. Установите роль Hyper-V и функцию моста ЦОД (DCB).
3. Настройте QoS (качество обслуживания) и функции DCB, PFC, ETS. Убедитесь, что конфигурация серверной сетевой платы и QoS соответствуют конфигурации коммутатора.
4. Настройте Hyper-V SET (Switch Embedded Team).

HOW16693_en_US__9Fig9 - vSwitch
Рис. 9. Конфигурация vSwitch
 
5. Перед настройкой виртуальных машин протестируйте обмен данными при использовании RDMA между физическими серверами. Загрузите утилиту Microsoft DiskSpd и скрипт Microsoft PowerShell «Test-RDMA». Продолжайте выполнение описанных ниже действий только в том случае, если обмен данными работает должным образом. В противном случае проверьте конфигурацию коммутатора и/или настройки DCB на хосте.

HOW16693_en_US__10Fig10 - Test-RDMA1
Рис. 10. Скрипт «Test-RDMA» на физических хостах
 
6. Проверьте, что параметр «SR-IOV» включен на адаптерах RDMA обоих серверов.

HOW16693_en_US__11Fig11 - SRIOVEnab
Рис. 11. Параметр «SR-IOV» включен
 
7. Создайте две виртуальные машины 2-го поколения (гостевая ОС), по одной на каждом сервере, затем установите Windows Server 2019. В этом сценарии создается гостевая ОС с двумя виртуальными сетевыми платами: одна для трафика MGMT (VLAN 2) и одна для трафика SMB (VLAN 15).

HOW16693_en_US__12Fig12 - VMNetConfig
Рис. 12. Конфигурация сети гостевой ОС хоста R7425-01.

HOW16693_en_US__13Fig13 - VMNetConfig2
Рис. 13. Конфигурация сети виртуальной машины хоста R7425-02
 
8. Завершите работу виртуальных машин.
9. Включите «SR-IOV» и «RDMA» в гостевой ОС.

HOW16693_en_US__14Fig14 - EnableSriovRdmaGuest
Рис. 14. Включение «SR-IOV» и «RDMA» в гостевых ОС
 
10. Запустите виртуальные машины, затем откройте Device Manager. В разделе «Network Adapters» должна быть указана виртуальная функция «Mellanox Virtual Function (VF)». Эта виртуальная функция (VF) не представлена как обычный сетевой адаптер в разделе «Network Connections», как показано на рис. 15. 

HOW16693_en_US__15Fig16 - VMDevManager
Рис. 15. Device Manager и раздел «Network Connections» в гостевой ОС
 
ПРИМЕЧАНИЕ. Для включения RDMA в гостевой операционной системе может потребоваться установить драйвер сетевой платы.
11, Включите RDMA на виртуальной сетевой плате (vNIC) SMB. Функции RDMA уже включены в Mellanox VF (Ethernet4 — Рис. 16.)

HOW16693_en_US__16Fig15 - VMRdmaEnab
Рис. 16. Включение RDMA на виртуальной сетевой плате (vNIC) SMB
 
12. Протестируйте гостевой удаленный прямой доступ к памяти (RDMA). 
HOW16693_en_US__17icon Примечание. Важно указать IfIndex (индекс интерфейса vNIC) и VfIndex (индекс интерфейса Mellanox VF).

HOW16693_en_US__18Fig17 - Test-RdmaVM
Рис. 17. Скрипт «Test-RDMA» в гостевой ОС
 

5. Командлеты Powershell


#Создать новый виртуальный коммутатор со включенным параметром SRIOV
New-VMSwitch -Name xxxx -NetadapterName xxxx,xxxx -AllowManagementOS $true -EnableEmbeddedTeaming $true -EnableIov $true

#Проверить, включен ли параметр SRIOV на физическом адаптере
Get-NetAdapterSriov -Name xxxx

#Получить конфигурацию сети виртуальной машины
Get-VM -Name xxxx| Get-VMNetworkAdapter

#Получить конфигурацию сети VLAN виртуальной машины
Get-VM -Name | Get-VMNetworkAdapterVlan

#Установить VM SRIO и RDMA на виртуальной машине (гостевая ОС) vNIC
Get-VM -Name xxxx | Set-VMNetworkAdapter -Name xxx -IovWeight 100 -IoVQueuePairsRequested 2
Get-VM -Name xxxx | Set-VMNetworkAdapterRdma -Name xxx -RdmaWeight 100

#Включить RDMA на сетевом адаптере
Enable-NetAdapterRdma -Name xxxx

#Проверить RDMA на физическом хосте
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx

#Проверить RDMA на виртуальной машине (гостевая ОС)
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx -VfIndex xx
 

6. Ссылки для загрузки


• Microsoft Diskspd
• Скрипт Microsoft «Test-RDMA»

 
У вас есть вопросы, комментарии или предложения? Свяжитесь с нами по адресу WinServerBlogs@dell.com.
 

Article Properties


Affected Product

PowerEdge, Microsoft Windows Server 2019

Last Published Date

15 Sep 2021

Version

7

Article Type

How To