作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化暨分散式安全防護技術方案的介紹與推廣。 

 

在網路虛擬化架構內一個非常重要的效益是所有功能都作在軟體內,所以底層硬體的角色就是提供一個高速而且穩定的轉發骨幹,說真的我們並不在意底層的網路設備是用A或B或C牌。但確實,一些基本的功能規格是必要的。因此,這邊列出在底層的網路設備我們認為必須要的功能。只要各位現有或即將要新購資料中心網路設備有符合下列的需求,都是可使用的設備。

 

Jumbo Frame

 

基本上應該所有企業等級的網路交換器都有支援Jumbo Frame,但我們要強調的是在各台vSphere Host VTEP之間的end-to-end溝通,Jumbo Frame功能一定要打開,且至少為1600 bytes以上。主要的原因在之前的文章有說過,因為VXLAN的封裝會在原Ethernet Frame前再加上50個bytes。

 

VLAN and Trunking

 

ㄟ…基本上vSphere Host不管有沒有跑NSX…VLAN與Trunking都是基本需要的功能吧…各位應該沒有用300元一台的交換機來接vSphere Hosts吧

 

IGMP

 

原因在前面的文章也有談到,我們邏輯交換器底層的BUM複製模式內的Hybrid以及Multicast模式,都建議在交換器上支援IGMP作L2的multicast。基本上大部分的企業等級交換機也應該有支援此功能

 

Cluster or Stacking (optional)

 

單純就硬體失效考量,各台在機櫃內的vSphere Host裏的網卡應該都要接到至少兩台不同的網路交換器,避免單台交換器失效時整個Host就失聯了。但如果交換器沒有Cluster / Stacking功能,那管理上較複雜,會有spanning tree產生,L3 routing介面會有需要設定HSRP / VRRP等機制。若有Clustering / Stacking等機制,把兩台以上堆疊的交換機統一管理,那當然就簡單得多了

 

LACP / Ether-Channel (optional)

 

如果需要讓VTEP傳輸VXLAN的Traffic時能同時用到兩條10G網卡或多個1G網卡,使用LACP或Ether-Channel會是很好的考量。但若沒有支援此功能,採用Fail-Over或是用source-id作load-balancing等方式仍都可以運作順暢

 

L3 Routing (optional)

 

不是絕對必要,但通常以跑NSX的最佳網路架構設計會盡量扁平化,且L2環境會盡量限制在單一機櫃之內,機櫃往核心交換器間會建議跑L3 Routing。因此通常Top-of-Rack交換器的建議是有支援L3功能的較佳

 

Backplane Throughput與介面選擇

 

如前面所說,硬體設備在底層的功用就是提供穩定又高速的骨幹,因此當然Backplane要多大有多大,伺服器能接10G就接10G,往骨幹能走infinite-band當然走infinite-band。你問說用Gigabit能不能跑?當然可以跑啊。重點只在跑得快不快而已。如果環境不大,伺服器接1G網卡,往骨幹走多條1G線路,仍然能正常運作。

 

因此重點不在選擇哪個牌子,而是現有或是後續要購置的硬體設備,只要符合上述需求,而且提供各位好的性價比以及維護,都是好的選擇。各位或許在不同的資訊新聞有看到一些目前世界最大的機房是採用廣達的網路設備,或使用Dell + Cumulus的硬體等等,都是基於這樣的考量。

 

 

但另一個我們在這邊要和各位強調的反而是在vSphere Host伺服器上的網卡選擇。如果各位的vSphere伺服器上面的網卡都還是1G的,下面各位就不用看了,因為即使是多個1G的網卡,以現在的伺服器CPU效能,要把這些網卡頻寬擠爆是很容易的。但如果vSphere伺服器上安裝的是比如兩個10G的網卡,且希望能夠達到Line-Rate最高速率傳輸,這些10G伺服器網卡上應該有兩個功能需要支援:VXLAN TCP Segmentation Offload (VXLAN TSO) / 以及Receive Side Scaling (RSS)

 

VXLAN TCP Segmentation Offload (VSLAN TSO)

 

要求上層軟體送出一個大的IP封包時,把這個封包做切割 (Segmentation)以及VXLAN封裝的工作,是在伺服器CPU做,還是伺服器網卡上面做。如果伺服器網卡可以支援此功能,可以降低CPU的負擔,上層也就可以乘載更多的虛擬機器

 

Receive Side Scaling (RSS)

 

RSS功能是在很多Performance Testing內若忽略了,就會失敗的重要機制。

 

先談沒有RSS的機制:原來在伺服器網卡上會有多個Queue,不同的flows會由不同的Queue來處理,每一個Queue對應的Kernel Thread會佔用單一個CPU Core來進行處理。但如果有單一高流量的網路流,都是被視為同一個flow,且放到同樣單一個CPU core內處理時,這個flow的可使用頻寬就受限於此core的處理能力了。

 

因此在網卡上能夠支援RSS的功能是讓網卡能將單一個flow的處理同時放到多個CPU核心去做,藉由這樣的方式,對於高流量的單一網路流才能達到10G網卡的上限。如果客戶系統內有這種高頻寬軟體的需求或要做Performance Testing,把RSS功能打開是必要的。

 

目前在伺服器的10G網卡選擇上,並不是每一種都有支援VXLAN TSO與RSS。若用戶對於單一應用的頻寬要求非常高,或希望盡量將一些網路運算由CPU拉到網卡硬體執行,那應該先探詢所採用的10G網卡是否有支援上述功能。

 

上面針對網卡上這邊功能的討論,也建議各位到我的同事Rick Chen,業界赫赫有名的網路虛擬化專家的部落格文章去看,有更進一步的探討>>http://rickchen918.blogspot.tw/2013/12/software-switching.html

 

下一篇開始我們會討論一個問題:要安裝NSX時有哪些注意事項?