作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化暨分散式安全防護技術方案的介紹與推廣。
一個傳統上常會提出,對NSX或是軟體定義網路的反對是在效能面。硬體設備裡面有 ASIC(一定要有空格以示尊敬),可以有非常大的背板頻寬或是處理throughput,我們把網路與安全功能放到虛擬化軟體裡靠CPU去跑,怎麼去和硬體的效能比?企業花了大錢買了這麼強大這麼快的硬體與晶片,幹嘛回去用慢的方式跑?
同樣的功能在軟體裡面用general CPU resource去跑,和用特定對應此功能的硬體晶片來比,當然效能不能拼,我們完全不想去推翻這點。
但這邊我要討論的重點是,這個比較從根本上就是不對的。我們不是拿一台x86上面跑NSX,和一台硬體加速的防火牆去比效能。NSX是一個全新的架構,我們應該討論的,其實是下面兩件事情的比較:
- NSX:把網路與安全的功能分散到所有的vSphere Host上執行。每一台vSphere Host僅需要提供所乘載VM的Switching / Routing / Firewall功能。這裡的運算方式是分散式架構。
- 買一對或是數對非常powerful的硬體機器,由這幾台非常powerful的機器提供整個Data-Center的安全或網路功能。這裏的運算是集中在少數的硬體機器。
用一個例子做比較,你的資料中心裡有50台vSphere Host,上面跑了500個VM。每一台vSphere Host內的分散式防火牆可以把2個10 Gb的網路link頻寬打滿,也就是20 Gb的throughput。請問大家,要服務這500個VM的防火牆需求,究竟是
- NSX:50 Hosts * 20 Gb/s = 1000 Gb/s的throughput,每個VM平均分到2 Gb/s的頻寬,或是
- 兩對throuput 80 Gb/s的防火牆,提供總共160 Gb/s的throughput,每個VM平均分到320 Mb/s的頻寬?
哪一個比較強?你是希望手下有500隻狼,還是有2隻獅子呢?
大家有沒有想過為什麼虛擬化技術在這十年變得這麼強大變成資料中心內的標準?一方面當然是像VMware Hypervisor的功能越來越強大以及穩定性,但另一方面更重要的是CPU的演進,伺服器上有更多的CPU socket更多的core更高的時脈數可以放越來越多的虛擬機器,一般來說大部份虛擬環境在實體資源池裡面最不缺的就是CPU資源。而當我們拿vSphere Host的CPU來提供分散式的Switching / Router / Firewall功能,我們實際上是把整個Data-Center的硬體資源都拿過來、分散式地提供需求的網路與安全功能。更何況,當我們在使用硬體伺服器安裝vSphere Host啟用NSX功能時,也並非所有的封包處理都是在CPU之內,硬體伺服器的網卡晶片也做了很多事來卸載CPU的負擔,比如說TCP Segmentation Offload、比如說VXLAN Offload、比如說Receive Side Scaling…
重點是,一台vSphere Host的網路與安全效能不需要和一台硬體網路設備一樣厲害,因為這台vSphere Host只需要照護它上面的十幾二十台虛擬機器就好;而一台很厲害的硬體防火牆可能得負責整個資料中心。這是為什麼在一開始時我和各位強調,要討論單台設備內採用硬體架構或是軟體機制哪個效能好,這是問錯問題了。我們用一台vSphere Host內的部份CPU (2 physical core)以及一部分的Memory (2~3 GB),可以提供足夠以上這台vSphere Host上所有VM所需要使用的Switch / Router / FW功能,這樣的效能就已經足夠了。
好的,上面的比較是拿NSX在vSphere Kernel內的服務像是Logical Switch / Logical Router / Distributed Firewall來比較。那如果我們拿Edge Service Gateway這些VM-based的網路服務與實體設備比呢?
當然也是實體設備效能好啊,以一台最大的X-Large Edge Service Gateway當Load Balancer,跑HTTPS並且啟用SSL Offload時,最大的throughput大概2 Gb/s左右,隨便一台硬體的Load Balancer都可以打掛他。可是
- 所以大部份的業務提供2 Gb/s的throughput是不夠就是了。
- Edge Load Balancer是無成本的(當然有硬體資源的需求),如果企業需要一個很大台的硬體Load Balancer給十個業務用,難道不能依據需求產出十個Edge Service Gateway,每個業務分一台來用?Edge Service Gateway是要幾台就可以有幾台的東西,我們不需要用兩台ESG就來撐整個Data Center呀。
我不是要告訴大家NSX在每一個不同的場景每一個Scenario都百分之百適用,下一篇網誌我和會大家討論目前NSX可能較不適用的場景有哪些。但在大部份場景內,其實並沒有所謂的虛擬化網路效能不足的問題,如果大家只是要憑著一個”硬體效能比較強”的不一定正確的印象,而因此完全不打算去考慮使用虛擬化網路達成更好的自動化與安全保護機制,這其實是很可惜的。
Comments
0 Comments have been added so far