Dell

虛擬化深入企業資料中心,然而,能夠把環境建置起來,並不代表同時能夠妥善運用,為了支撐這樣的環境,大多數企業也許添購了運算能力更強大的伺服器、網路儲存設備,但連帶升級網路的公司,在過去並不多見,最近才出現了升級潮。

而願意需付出龐大代價,徹底改變既有網路架構的公司,更是鳳毛麟角。因為這麼一來,企業必須放棄原本基於STP(Spanning Tree Protocol)協定的三層式架構,走向Ethernet Fabric或軟體定義式網路(SDN),或者必須同時維運新舊環境。雖然透過重新搭建較為扁平的二層式架構,可大幅提升網路封包傳輸效率,但這會是浩大而痛苦的工程。

當然,大多數臺灣企業受限於經營規模較小,目前還不需要將既有網路環境打掉重練,然而,繼續仰賴普及而低廉的GbE網路,也不是長久之計。因為,單靠這樣的基礎架構,對於數量與使用規模持續擴張的業務應用系統,以及承擔這些工作負載的虛擬化環境而言,可能無法因應隨之而來的網路流量。

所以,資料中心升級到10GbE網路的需求,已經勢不可擋。但要做到這樣的要求,不只是採購一些可同時提供1GbE搭配少量10GbE網路埠的交換器就好,還需要考量到伺服器平臺與網路儲存設備的應用型態、網路介面的數量與連線速度,才能決定要用何種組態的交換器較為合適。需要全盤考量,而非採取頭痛醫頭的片面作法。

除了網路硬體要強化,企業也可借助網路效能管理系統之力,不過,如果想要同時兼顧實體與虛擬環境的網路效能管理要求,企業可能必須要尋求到應用程式效能管理(APM)解決方案來幫忙。單靠一般的網路管理系統,或是能夠兼容實體與虛擬化系統的管理軟體,並無法全面涵蓋到,前者較針對實體網路環境的需求,而後者偏重系統層面的管理,不一定能照應到底層硬體與虛擬環境內外的網路效能監控需求。

網路硬體的整備度

幾乎所有的企業都是使用乙太網路、TCP/IP協定,之所以出現傳輸效能低落的情況,很多人把焦點放在伺服器本身的效能是否不足,推測可能是網路介面出了問題,Dell企業網路策略發展協理楊尚餘認為,伺服器所連接的網路交換器類型是否合適,其實也很關鍵,但大家普遍忽視這一點。

一般而言,企業既有的網路交換器,都是以三層式架構來建置(也就是上述的STP),就部署模式而言,可分為核心(Core)、邊緣(Edge)、存取(Access)等類型,這些都是屬於園區規模(Campus)的網路環境應用,所以皆以園區交換器來統稱。

除了園區交換器之外,市面上還有所謂的資料中心交換器(Data Center Switch),可支援兩層式架構(Spine & Leaf),而且,這類交換器通常配備了較大的緩衝記憶體(Packet Buffer Memory)與轉送率(Forwarding Rate或Forwarding Capacity)。

楊尚餘表示,若網路交換器本身的緩衝記憶體夠大,它可以近可能地維持TCP/IP的連線階段,將Flow保持住,而不需要重新傳送,這樣一來,可以改善網路延遲;轉送率大小也很重要,通常園區交換器的轉送率較低,與資料中心交換器之間的差距,可到1.5到3倍。

除此之外,資料中心交換器也強調可支援DCB(Data Center Bridging)的標準協定,以因應融合一般乙太網路與iSCSI、FC儲存網路的應用。

關於網路硬體的使用的另一個重要環節,是伺服器端的網路介面。為了支撐更大規模的網路流量,很多企業的作法,是在伺服器端直接擴充多張GbE網卡,但這些網路埠所對外連接的實體交換器,也必須有能力承擔這些流量,否則就會出現封包遺失的狀況。

因此,並不是在伺服器端改用、加裝10GbE網路介面,以及所連接的交換器增添了10GbE網路介面模組,就可以順利取得更大的頻寬,交換器本身是否具備了足夠的流量處理能力,也是關鍵。

同樣地,很多人會將多個網路介面匯聚起來,形成了NIC Teaming,但這樣並不能真正提升網路速度,只是把伺服器端的多個網路埠串在一起,卻妄想得到更大的存取頻寬,這很荒謬。

楊尚餘說,這就像自己有一部125行程的機車,然後跟同學借一臺125機車,如果將兩部車綁在一起,會變成一臺250機車嗎?如果是這樣,就不用買車了,只是把多臺機車接在一起,就可以上高速公路了。

很多人誤以為,如果將10個網路埠匯聚在一起使用,就可以達到10GbE網路一樣的效果,但即便你的伺服器能夠同時擁有這麼多網路埠,此時,伺服器和系統所要面對的網路硬體介面,也會是非常多個,而不是1個。

更別說這麼多網路埠如果都接上線,而你有好幾臺伺服器都是這樣的配置時,在機櫃背後會形成相當可觀的線材瀑布,有可能會影響伺服器與機房的散熱,這些錯綜複雜的網路線要如何整理和維護,也令人傷透腦筋。

若網路硬體的每個環節都照應到,是否就不會發生效能低落的現象?楊尚餘提醒,還是要先查驗(verify)自身系統環境,以及執行的IT應用服務,因為在實際運作時,還有很多額外的因素會影響網路流量的承載能力,例如有些應用系統占用過多網路頻寬,或者突然發生封包廣播風暴。

楊尚餘認為,對於網路資源的堪用與否,要看的是背後的整體架構,而不只是局限在某一個層面。

 

實體交換器發生網路超載的原因

不論實體交換器或虛擬交換器,若前端所有連接埠所接收或傳送的網路流量,全部加起來,大於整臺交換器背板所支援的網路頻寬,就會發生超載(oversubscription)的狀況,這時候可能會造成封包遺失的狀況。

在伺服器虛擬化平臺的主機上,如果虛擬機器一多、流量變大,所能運用的網路埠數量、頻寬不足時,也會發生類似的情形。(圖片來源/RISCNetworks)

 

網路介面組態的正確使用

前面提到的部份主要是網路交換器,而在伺服器端的網路介面設置,也有許多要注意的地方。

身兼微軟Hyper-V MVP和VMware vExpert的雲達科技副理王偉任提到,許多人在規畫網路介面組態時,並未將不同用途的網路流量flow分開,如果只是用最基本的交換器,仍應把流量切開。

例如,管理整個系統的網路連線,配置獨立的網路介面;若要執行虛擬機器線上遷移,則配置另一個網路介面。

如果是微軟Hyper-V環境,需將Cluster Heart Beat的網路介面額外配置。

在這兩大伺服器虛擬化平臺當中,原廠也在相關的最佳實務的文件中,建議將不同用途的網路介面分開設置,實際上並未硬性規定。不過,在設定某些功能時,還是會要求,例如,王偉任先前測試Windows Server 2012 R2 Hyper的「受保護的網路(Protected Network)」時,就曾因為沒有將系統管理與虛擬機器的網路流量分開,而使得該功能無法作用。

他認為這功能很妙,如果VM所接取的實體網路介面發生無法存取的意外情況,伺服器端還有另一個專司系統管理的實體網路埠,可以正常運作,此時,Hyper-V系統能透過這條路與其他節點溝通,接著,系統就會自動執行線上即時遷移,把該臺虛擬機器搬移到另一個節點,於是,它又可以正常運作了。

而且這項保護機制的敏感度很高,系統每60秒就偵測一次,並非等到虛擬機器發現斷線才會啟動。也就是說,如果伺服器的實體網路線不小心中斷,或發生其他故障狀況,這臺虛擬機器最遲在60秒之內就會移走。而根據王偉任的實際測試,其實狀況發生後的10到15秒,虛擬機器就會自動搬移到其他主機上。

此外,伺服器、虛擬機器對外存取的網路流量也要分開,如果是存取iSCSI儲存這樣的IP SAN,也應該將MPIO的網路介面分開設置。

對於將多個網路介面串接在一起的設置,王偉任特別提醒一件許多人常犯的錯誤,希望能夠避免。他常看到有人會用NIC Teaming,甚至用LACP去連iSCSI的網路儲存。因為NIC Teaming是針對檔案層級(File level)的網路存取,而對於iSCSI儲存的連線是區塊層級的(Block level)的存取,因此,如果想讓伺服器虛擬化平臺做到網路負載平衡和容錯,應該用MPIO去做。

此外,若要在伺服器的多張網路介面啟用NIC Teaming,也要避免將雞蛋放在同個籃子的作法。在一些教建置伺服器虛擬化平臺的書上,也有這類提醒。

管理者在啟用NIC Teaming時,應避免將同一個實體網路介面卡的網路埠,設在一起。這麼做的風險在於,萬一該張網卡故障,網路匯聚的機制形同失效。

舉例來說,如果伺服器端有內建的網路埠介面和外加的雙埠網路介面卡,設定NIC Teaming時,王偉任認為,應該各取1埠,也就是內建埠1個、外接埠1個的方式。也就是,要針對不同的實體網路介面,來建立NIC Teaming。

除了要注意這些網路介面的配置之外,王偉任說,還可以善用其他方法,讓網路流量盡可能卸載到硬體網路介面,而非由伺服器的處理器承擔。

以VMware vSphere為例,它支援DirectPath I/O,可讓虛擬機器直接存取到伺服器底層的實體PCI介面,但只能讓一臺虛擬機器對一張網路介面;若搭配支援SR-IOV的硬體網路介面,它可以讓多臺虛擬機器直接存取並共用單一網路介面;它也支援TCP分割卸載(TCP Segmentation Offload,TSO)和大型接收卸載(Large Receive Offload,LRO),以及Jumbo Frame。

微軟Hyper-V也有類似機制,當中支援虛擬機器佇列(VMQ)、SR-IOV、IPsec加密工作卸載、並支援一種相當特別的接收端自動調整機制(Receive Side Scaling,RSS),可將網路流量的負載分散至多顆處理器核心,以及SMB多通道(SMB Multichannel),讓每個透過SMB協定通訊的多個TCP/IP連線,能夠運用在不同的情境,例如單張10GbE網路介面、多個GbE/10GbE網路介面、多個網路介面結合NIC Teaming,或是多個支援RDMA(Remote Direct Memory  Access)標準的網路介面(例如Infiniband、RoCE)。

市面上還有其他作法,像是伺服器端可加裝iSCSI的HBA卡,或是支援TCP流量卸載引擎(TCP/IP Offload Engine,TOE)的網路卡。對於這些輔助機制,王偉任發現,伺服器虛擬化平臺在效能與資源管理的方向上,有了一些很明顯的變化,以前的重點是讓伺服器去做所有的事情,但到了現在,隨著許多工作整併進去之後,所想的是把某些負擔卸載到其他地方分頭進行。

透過軟體來監控網路效能

想要掌握實體環境的網路傳輸效能變化,我們首先想到的是透過網管軟體來協助,楊尚餘說,對於網路設備硬體的狀態,能夠「聽得到、看得到、管得到」,是這類軟體的基本功能。

然而,到了伺服器虛擬化環境,很多人是在建置、使用一段時間之後,才開始意識到,原來大家並不知道該如何監控網路效能,以及排除相關障礙。

就底層所用的網路硬體設備來說,可能並非同一廠牌的產品,再加上伺服器端所執行的是虛擬化平臺──不像以前只有作業系統、網路介面驅動程式和應用系統,而且所用的Hypervisor和管理平臺,可能還不只一種,因此,對於效能監控與障礙排除的工作來說,難度大大增加,因為,這麼複雜的環境,目前市面上可能沒有任何一家廠商,可以全部整合起來管理。

而且,許多企業運用伺服器虛擬化平臺時,其實在初期階段已經有所偏失。一開始大家對於這項應用的重點在於調度資源,急著解決資源不足的問題,他們認為只要伺服器處理器運算能力、記憶體容量等主要的硬體規格,能跟得上系統執行時的需求,就可以解決80%的資源不足問題,但等到在傳輸或備份資料的時候,他們才發現到為什麼資料中心的效能,跟當初所想的很不一樣,於是,開始回過頭來看網路的效能,但到了這時候,整個環境幾乎已經定型,企業想把效能管理好的挑戰變得更大。

而且,這些管理軟體,並無法直接點出問題點所在,楊尚餘強調,工具能作的是,提供你相關項目的健康檢查(Health Check)報告,就像一般人做健檢,若驗出三酸甘油脂偏高,不代表這人隔天就要面臨死亡,原因也需要進一步探究。

而且要做好監控,還要注意不能因此犧牲效能,若沒有考量這一點,可能會出現效能更為低落的狀況。例如,原本可能只掉5個封包,現在監控機制一啟用,卻掉了500個封包。這是因為原本就有負荷不良的情況,我們又要求它同時做別的事情。

若要能夠監控伺服器虛擬化的網路效能,市面上究竟有沒有可提供相關功能的產品?單靠一般的網管軟體或伺服器系統管理軟體,可能只看到一部分,有些人告訴我們,這屬於應用程式效能管理(Application Performance Management,APM)的範疇。

不過,這類產品的市場能見度一向有限,我們看到相關的專屬產品當中,的確有一些是強調具有針對虛擬化環境的網路效能管理功能,例如Compuware的APM Network Virtualization方案、Dell的Foglight for Virtualization。

此外,也有一些附屬於其他產品的APM功能,也號稱能夠支援這方面的環境。像是在Citrix NetScaler這套應用網路服務平臺上,除了本身是以具有多種應用伺服器網路負載平衡、網站應用程式防火牆等功能聞名,而後演進到所謂應用程式傳遞控制器(Application Delivery Controller),後來也提供NetScaler Insight Center軟體,當中可以涵蓋到伺服器虛擬化環境的網路效能管理。

Citrix中華區網路技術經理何浩祥表示,不論是用實體網路或虛擬網路,Insight Center可以協助企業做到應用程式層級的效能分析,而且不只是針對資料中心環境,網路流量一旦經過NetScaler設備,再到用戶端網路,Insight Center就能透過AppFlow協定,去擷取相關資料,並針對伺服器端、應用程式端、用戶端這三層,來追蹤各自的網路延遲程度與處理時間。

 

vSphere環境的網路埠串接組態

在VMware vSphere環境下,管理者若要設定NIC Teaming,可透過vSphere Client的程式或vSphere Web Client的網頁介面,然後針對虛擬標準交換器(VSS)或虛擬分散式交換器(VDS)。圖中是在vSphere Web Client介面進行,而且設定的目標是VDS,將兩個實體網路介面連線到LAG連接埠。(圖片來源/VMware)

 

Hyper-V環境的網路埠串接組態

在微軟Hyper-V要設定NIC Teaming比較簡單,方式較為單一,只需從Hyper-V管理員當中的個別虛擬機器設定上,在網路介面卡的進階功能,可以選擇啟用「NIC小組」的功能。(圖片來源/VMware)

 

虛擬化平臺將流量卸載至網路硬體介面

伺服器虛擬化平臺,或多或少都支援將網路流量卸載到硬體裝置,減輕處理器負擔的一些機制。圖中是微軟Hyper-V環境上的設定,管理者可以在每臺虛擬機器上,選擇是否啟用這些網路加速功能。(圖片來源/B2net)

 

用APM掌握虛擬環境網路傳輸效率

想要全面監控伺服器虛擬化環境下的網路效能,單靠傳統的網路管理軟體是不夠的,需透過應用程式效能管理(APM)的系統。圖中為Citrix NetScaler所延伸的Insight Center軟體應用,可協助管理者持續追蹤虛擬環境下的網路連線品質。(圖片來源/Citrix)

 

相關報導請參考:「伺服器虛擬化環境面臨網路效能難題」


Advertisement

更多 iThome相關內容