NIC teaming技術(shù)能夠避免資源搶占并提升虛擬機性能表現(xiàn),但是配置時需要注意不要因為一些常見錯誤導(dǎo)致最終失敗。
NIC teaming的概念很久之前就已經(jīng)出現(xiàn)了,但是一直都只能應(yīng)用在特定硬件上。而在Windows Server 2012當中,微軟使得在通用硬件上使用NIC teaming技術(shù)變?yōu)榭赡堋Mㄟ^這種方式,你可以創(chuàng)建一塊邏輯網(wǎng)卡,將所有包含其中的硬件網(wǎng)卡帶寬聚合在一起。
服務(wù)器NIC teaming技術(shù)在虛擬服務(wù)器環(huán)境當中能夠發(fā)揮很大作用。畢竟,虛擬化環(huán)境當中的最大問題之一就是資源搶占。換句話說,多臺虛擬服務(wù)器必須共享有限的物理硬件資源。在一些情況當中,這種資源共享方式可能導(dǎo)致物理網(wǎng)卡成為虛擬機的性能瓶頸。
一種解決方案是創(chuàng)建一系列虛擬交換機,每個都關(guān)聯(lián)到一塊單獨的物理網(wǎng)卡上。這種方式的問題在于加大了虛擬服務(wù)器的管理難度,因為管理員必須確保網(wǎng)絡(luò)流量平均分配到所有虛擬交換機中。另外一種更為簡單的解決方案是使用NIC teaming技術(shù),之后關(guān)聯(lián)到單個虛擬交換機。使用這種方式,一臺主機服務(wù)器當中的所有虛擬機可以共享一臺通用的虛擬交換機,但是網(wǎng)絡(luò)流量可以在多塊物理網(wǎng)卡當中實現(xiàn)負載均衡。
表面上,NIC teaming技術(shù)是一種應(yīng)用在主機服務(wù)器上的理想解決方案。但是,如果主機服務(wù)器不能夠遵循一些基本的最佳實踐,那么服務(wù)器NIC teaming技術(shù)就可能為虛擬基礎(chǔ)架構(gòu)帶來多種不同問題。
在開始介紹這些最佳實踐之前,我想要首先指出雖然這篇文章使用微軟技術(shù)舉例,但是最佳實踐幾乎可以應(yīng)用在企業(yè)使用的任何種類的hypervisor當中。即便并非每種最佳實踐都能像文章中描述的那樣應(yīng)用在所有非微軟環(huán)境當中,但是基本的概念是相通的。
第一步:構(gòu)建冗余機制
就像上面所說的,第一種最佳實踐是在NIC team當中實現(xiàn)冗余。假設(shè)你的主機服務(wù)器擁有5塊10GB網(wǎng)卡,我們想要使用所有這5塊網(wǎng)卡,這樣我們就能夠獲得40GB的連接速度。這種方式的問題在于如果任何一塊網(wǎng)卡出現(xiàn)問題,那么可能導(dǎo)致整個NIC team不能正常工作——這取決于使用的是哪個廠商的產(chǎn)品。因此,最好在NIC team當中至少選擇一塊網(wǎng)卡作為熱備份,出現(xiàn)任何NIC問題時,這塊網(wǎng)卡將會自動啟用。
第二步:流量分類
第二個最佳實踐是盡量不要將服務(wù)器的所有網(wǎng)卡都分配到NIC team當中——即便已經(jīng)將一些網(wǎng)卡作為熱備份。這樣做的原因在于虛擬主機必須能夠處理多種不同類型的流量。如果將所有服務(wù)器網(wǎng)卡都分配到NIC team當中,那么所有類型的流量都不得不通過那塊NIC team網(wǎng)卡。繼續(xù)發(fā)展下去,那么一些流量可能會占用其他類型流量的帶寬。虛擬化環(huán)境當中常見的流量類型包括:
客戶端流量(終端用戶訪問流量);
集群通信流量;
虛擬機復(fù)制流量;
實時遷移流量;
存儲流量;
帶外管理流量
平心而論,許多企業(yè)都會使用Fibre Channel來傳輸存儲流量,并且一些服務(wù)器使用專用端口來實現(xiàn)帶外管理。即便如此,企業(yè)也不會希望并發(fā)的實時遷移流量造成用戶流量像蝸牛一樣緩慢傳送。反過來,你也不希望用戶流量過多導(dǎo)致實時遷移功能受限。如果你配置所有流量都通過NIC team,那么應(yīng)該使用服務(wù)質(zhì)量模型(QoS)來管理流量的使用情況。
第三步:保持集群間一致性
你應(yīng)該了解的最后一個問題是hypervisor集群當中的主機應(yīng)該使用類似的配置。比如,如果你搭建了一個Hyper-V服務(wù)器集群,那么集群當中的每個節(jié)點都應(yīng)該使用相同的虛擬交換機。類似地,如果集群使用共享存儲卷,那么所有節(jié)點必須使用相同方式連接到存儲卷。重點在于在集群環(huán)境當中,集群中的每個節(jié)點都應(yīng)該配置相同的NIC team。
服務(wù)器NIC teaming技術(shù)能夠為虛擬化主機帶來極大好處。即便如此,還是應(yīng)該遵循一些必要的準則,以避免將問題引入虛擬基礎(chǔ)架構(gòu)環(huán)境當中。