[Network] Windows Server 2016 攻略 (七) - 新世代虛擬網路交換器 SET ( Switch Embedded Teaming )

Windows Server 2016 攻略系列文章分 Compute / Storage / Network 三大主題,其中 Compute 與 Storage 已由先前文章涵蓋介紹:

 Compute Storage

新世代虛擬化平台 Hyper-V

SDS 軟體定義儲存

為雲端而生的極簡平台 Nano Server

資料備援新選擇 Storage Replica

整合雲端元素的容錯移轉叢集

儲存資源品質管控機制 Storage QoS

三月份將帶來 Network 主題兩篇技術攻略:

本篇文章您可以看到以下內容:

前言

    微軟新世代 Windows Server 2016 雲端作業系統,在 2014 年 10 月 1 日時正式發佈第一版的「技術預覽(Technical Preview,TP1)」版本,接著在 2015 年 5 月發佈 TP2 技術預覽版本、2015 年 8 月發佈 TP3 技術預覽版本。最新版本,則是在 2015 年 11 月時所發佈的 TP4 技術預覽版本。

本文,將介紹在微軟新世代 Windows Server 2016 雲端作業系統當中,可整合 RDMA(Remote Direct Memory Access)特色功能,並同時建立虛擬交換器及網路小組的「SET(Switch Embedded Teaming) 」網路機制。

SMB Direct (RDMA)機制簡介

    事實上,從 Windows Server 2012 / 2012 R2 版本開始,便支援「SMB Direct」特色功能,這項功能支援 RDMA(Remote Direct Memory Access)的網路卡進行資料傳輸,簡單來說採用支援 RDMA 的網路卡,將可以達到「 增加資料傳輸量、降低延遲時間、低 CPU 使用率 」的效果。

( 上圖為未支援 RDMA 功能網路卡的資料傳輸方式 )

圖片來源: MVA 微軟虛擬學院: 混合雲工作負載-儲存與備份

( 上圖為支援 RDMA 功能網路卡的資料傳輸方式 )

圖片來源: MVA 微軟虛擬學院: 混合雲工作負載-儲存與備份

SET (Switch Embedded Teaming)機制簡介

    但是,在舊版 Windows Server 2012 R2 運作環境中有項限制,當 Hyper-V 主機若配置支援 RDMA 功能的網路卡時,那麼所採用的 RDMA 網路卡將「 不支援 」建立「網路卡小組(NIC Teaming)、虛擬交換器(Virtual Switch)」,簡單來說 RDMA 網卡只能專用於儲存網路而已。

( 上圖為 Windows Server 2012 R2 RDMA 網路卡只能專用於儲存網路 )

圖片來源: Microsoft Ignite 2015 – The Power of the Windows Server Software Defined Datacenter in Action

    現在,新版 Windows Server 2016 雲端作業系統中已經解除這項限制,你可以為使用 RDMA 網卡建立虛擬交換器及網路卡小組,同時若要使虛擬交換器支援 RDMA 特色功能的話,只要採用「SET(Switch-Embedded Teaming) 」即可。

( 上圖為 Windows Server 2016 RDMA 網卡支援虛擬交換器 )

圖片來源: Microsoft Ignite 2015 – The Power of the Windows Server Software Defined Datacenter in Action

    值得注意的部分是,在結合網路卡小組機制時 SET 僅支援「 交換器獨立(Switch Independent) 」模式,並且在負載平衡演算法部分也僅支援「動態(Dynamic)」、「Hyper-V連接埠(Hyper-V Port)」。

建立SET(Switch Embedded Teaming)

    首先,必須確認主機配置的網路卡支援 RDMA 功能,才能著手建立 SET(Switch Embedded Teaming),在本文的實作環境中,採用的 RDMA 網路卡為 Mellanox ConnectX-3 Pro,安裝最新版本的驅動程式後,便可以使用「Get-NetAdapterRdma」指令來確認網路卡是否支援 RDMA 特色功能。

( 上圖為確認網路卡是否支援 RDMA 功能 )

    確認網路卡支援 RDMA 功能之後,便可以著手建立支援 RDMA 功能的 Hyper-V 虛擬交換器,與以往不同的是必須在建立虛擬交換器指令的結尾加上「 -EnableEmbeddedTeaming $true」才行。此時,你會發現建立後的 Hyper-V 虛擬交換器尚未支援 RDMA 功能,所以你可以看到在 Enabled 欄位中該項目的欄位值為「False」。

( 上圖為剛建立的 Hyper-V SET 虛擬交換器仍尚未支援 RDMA 功能 )

請使用「Enable-NetAdapterRdma」指令,搭配剛才所建立的 Hyper-V 虛擬交換器名稱,便可以為 Hyper-V 虛擬交換器啟用支援 RDMA 的功能。

( 上圖為指定的 Hyper-V 虛擬交換器啟用支援 RDMA 的功能 )

    最後值得注意的部分是,目前主流的兩種 RDMA 協定為 RoCE(RDMA over Converged Ethernet),以及 iWARP(Internet Wide Area RDMA Protocol)。

倘若,企業或組織使用的 RDMA 網路卡採用 RoCE 協定的話,那麼採用的網路交換器「 必須 」要支援並啟用「DCB(Data Center Bridging) 」功能,並且 Hyper-V 主機也必須安裝「Data Center Bridging」伺服器功能,同時還要設定「PFC(Priority Flow Control)」機制,那麼 RDMA 機制才能夠順利運作。

若是採用支援 iWARP 協定的 RDMA 網路卡,雖然無須依賴交換器 DCB 功能並且 Hyper-V 主機也不用安裝 DCB 及設定 PFC 的優點,但普遍來說搭配支援 DCB 特色功能網路交換器的運作環境,可以更容易透過 DCB 功能達成硬體式 QoS 網路流量的目的。

敬請期待下一波 Windows Server 最新消息,欲知更多請訂閱 TechNet 專業人員電子報以獲得第一手最新資訊!