Microsoft Windows:Windows ServerでゲストRDMAを設定する方法
摘要: この記事では、Windows Serverでゲスト リモート ダイレクト メモリー アクセス(RDMA)を構成する方法について説明します。
说明
目次
リモート ダイレクト メモリー アクセス(RDMA)の概要
リモート ダイレクト メモリー アクセス(RDMA)は、関連するホスト(コンピューティングおよびストレージ)のCPUまたはOSリソースを使用せずに、コンピューターがネットワーク経由でデータを転送できるようにする優れたテクノロジーです。これにより、スループットとパフォーマンスが向上し、レイテンシーとCPUオーバーヘッドが削減されます
現在、2つの一般的なRDMA実装があります。
- RoCE
- 輸送:UDP/IP(RoCE v2)
- データ センター ブリッジング(DCB)に依存
- iWarp
- 基盤となるネットワーク: TCP/IPの
- TCPは、フロー制御と輻輳管理を提供します。
RoCEは、拡張伝送サービス(ETS)や優先フロー制御(PFC)などのDCB構成に大きく依存しており、ネットワーク スイッチが正しく構成されていないと問題になる可能性があります。iWARPにはスイッチ構成は必要ありません。
Microsoftは、Windows Server 2012でRDMAのサポートを開始し、その後のWindows Server OSに新機能を追加しました。MicrosoftのWindows Server 2019で使用可能な機能の1つは、ゲストOS(VM)にRDMAを提示する機能です。これにより、ゲストはネイティブ ホストと同じ低レイテンシーでネットワーク ストレージにアクセスできるようになり、CPUオーバーヘッドが削減され、VMで直接スループットとパフォーマンスが向上します
Dellは、Cavius QLogic FastLinQ 41262デュアル ポート25 GbE SFP28(iWarp/RoCE)やMellanox ConnectX-4 Lx 25 Gbps RDMA(RoCE)などの25 Gbps RDMA向けの優れたオプションを提供しています。この例では、Mellanox ConnectX-4 Lx RDMA(RoCEv2モード)を使用して、ゲストRDMA機能のデモを行います。
Lab環境
サーバー:
- Dell R7425 x 2(AMD EPYC 7551 32コア プロセッサー)
- 256 GBメモリー
- Mellanox ConnectX-4 Lxの完全アップデート(ファームウェア(BIOSを含む)、ドライバー、およびOS)
インストールされているロールと機能:
- Hyper-V
- DCBの
- フェールオーバー クラスタリング
- S2Dの
スイッチ:
- Dell S5048F-ON - MGMT VLAN 2
- SMB VLAN 15
ハードウェア構成
- サーバーを再起動し、 システム セットアップ に移動します(POST中にF2を押します)。
- [Device Settings]を選択します。

図1 - BIOSデバイスの設定
- [Slot 1 Port 1 - Mellanox]のNICを選択します。

図2 - Mellanoxスロット1ポート1のデバイス設定
- [Device Level Configuration]に移動します。

図3 - デバイス レベルの設定
- 選ぶ 仮想化モードのSR-IOV。

図4 - SR-IOV設定
- スロット1ポート2 - MellanoxのNICで上記の手順を繰り返します。

図5 - Mellanoxスロット1ポート2のデバイス設定
- [System Setup Main Menu]に戻り、[System BIOS]を選択します。

図6 - システムBIOS
- [Integrated Devices]を選択します。

図7 - BIOS内蔵デバイス
- SR-IOVグローバル オプションを有効にします 。

図8 :SR-IOVグローバル
- 設定を保存し、サーバを再起動します。
ゲストRDMAの設定
- 取り付ける Windows Server 2019+。
- Hyper-Vの役割とデータ センター ブリッジング(DCB)機能をインストールします。
- 構成 サービス品質(QoS)、DCB、PFC、ETS。サーバーNICとQoS構成がスイッチ構成と一致していることを確認します。
- 構成 Hyper-Vスイッチ埋め込みチーム(SET)。

図9 - vSwitchの構成
- VMを構成する前に、物理サーバー間のRDMA通信をテストします。Microsoftをダウンロードします
Diskspdと Microsoft Test-RDMA PowerShell スクリプト。通信が正常に機能している場合にのみ、以下の手順に従います。それ以外の場合は、ホストのスイッチ構成またはDCB設定を確認します。

図10 :RDMA物理ホストのテスト
- 両方のサーバーのRDMAアダプターでSR-IOVが有効になっているかどうかを確認します。

図11 :SR-IOVが有効
- 各サーバーに1台ずつ、2台の第2世代仮想マシン(ゲストOS)を作成し、Windows Server 2019をインストールします。このシナリオでは、ゲストOSは2つのvNICを使用して作成されます。1つはMGMTトラフィック(VLAN 2)用、もう1つはSMBトラフィック(VLAN 15)用です。

図12 :ゲストOSネットワーク設定ホストR7425-01

図13 :仮想マシンのネットワーク構成ホストR7425-02
- VMをシャットダウンします。
- エネーブル ゲストOS上のSR-IOVおよびRDMA。

図14 :ゲストOSでSR-IOV/RDMAを有効にする
- VMを起動し、[ デバイス マネージャー]を開きます。Mellanox仮想機能(VF)は、[ネットワーク アダプター]の下に表示されるはずです。[ネットワーク接続]でVFは通常のネットワーク アダプターとして表示されません(図15を参照)。

図15 - ゲストOSのデバイス マネージャーとネットワーク接続
- SMB vNICでRDMAを有効にします。RDMA機能は、Mellanox VF(Ethernet4 - 図16)ですでに有効になっています。

図16 :SMB vNICでRDMAを有効にする
- 試験 ゲストRDMA。
IfIndex (vNIC インターフェイス インデックス)と VfIndex (Mellanox VFインターフェイス インデックス)をクリックします。

図17 :RDMAゲストOSのテスト
Powershell Cmdlet
#Create new virtual switch with SRIOV option enabled New-VMSwitch -Name xxxx -NetadapterName xxxx,xxxx -AllowManagementOS $true -EnableEmbeddedTeaming $true -EnableIov $true #Verify if SRIOV is enabled on physical adapter Get-NetAdapterSriov -Name xxxx #Get VM network configuration Get-VM -Name xxxx| Get-VMNetworkAdapter #Get VM network VLAN configuration Get-VM -Name | Get-VMNetworkAdapterVlan #Set VM SRIO and RDMA on Virtual Machine(Guest OS) vNIC Get-VM -Name xxxx | Set-VMNetworkAdapter -Name xxx -IovWeight 100 -IoVQueuePairsRequested 2 Get-VM -Name xxxx | Set-VMNetworkAdapterRdma -Name xxx -RdmaWeight 100 #Enable RDMA on NetAdapter Enable-NetAdapterRdma -Name xxxx #Test-Rdma Physical Host .\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx #Test-Rdma Virtual Machine (Guest OS) .\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx -VfIndex xx
ダウンロード リンク
ご意見、ご質問、ご提案はございますか? WinServerBlogs@dell.com に関するお問い合わせ