雖然現代數據中心的每一部分都是至關重要的,但是網絡卻是所有通信的絕對基礎。這正是為什么從一開始就必須設計和建設一個合理網絡的原因。畢竟,沒有穩固的網絡,即使最好的服務器和存儲器也干不了什么。
為此,我們提供幾個設計要點和最佳方法,以有助于你鞏固這個通信基礎。
對網絡核心的考慮
“網絡”這個詞可應用于從LAN到SAN、WAN的多個領域。所有這些領域都需要一個網絡核心。我們的討論就從這兒開始。
一個單位的大小決定了核心交換機的大小和能力。在多數基礎架構中,數據中心的構成與LAN的核心構成有 著很大的不同。讓我們看一個假想的網絡,假設它在一棟大樓中,為幾百或幾千個用戶服務,而數據中心居于中央,那么,我們通常會發現,在中心會有一些大型交 換機而在邊緣會有聚合交換機。
理想情況下,核心是由兩個交換平臺組成的,此平臺將數據從邊緣傳送經過千兆位的光纖(與服務器和存儲器 基礎設施位于同樣的房間)。如果要鏈接到有100個交換端口的插座,只要有兩條千兆位光纖就足以滿足多數業務需要。如果上這種連接不能滿足需要,可能最好 的辦法是將多個千兆位的連接聯合起來,而不是升級到一個萬兆位。隨著萬兆位產品價格的下降,這種狀況會發生改變。但是現在,將幾個千兆位端口聚合起來要比 向核心和邊緣增加萬兆位的功能要便宜得多。
如果要部署VoIP,在網絡邊緣部署小型的模塊化交換機也是很有益的,這使得PoE模塊(Power over Ethernet)可以象非PoE端口一樣安裝到相同的交換機上。另外一種選擇是,將匯聚(骨干)端口部署給每一個用戶也是一種可能。這就使得單個端口可 用于VoIP和桌面的訪問任務。
在我們熟悉的星型撲拓模式中,核心至少要通過兩條鏈路才能連接到邊緣的聚合交換機,要么直接通過銅線連接到服務器的基礎架構,要么通過機架中的服務器聚合交換機來連接。您必須在現場根據銅線布線的距離限制來做出決定。
不管怎么說,將服務器部署到每個機架中的聚合交換機中,并僅鋪設到達核心交換機的幾條光纜,要比勉強將 全部線纜插入到幾個大型交換機更為簡潔。此外,使用服務器的聚合交換機將使得到達冗余核心交換機的冗余連接成為可能,這樣,在一臺核心交換機發生故障時, 與服務器的通信就不可能丟失。如果貴單位預算準許,而且規劃也允許,那么,使用服務器的聚合交換機是一個不錯的選擇。
不管其物理設計方法怎樣,核心交換機都需要以每種可能的方法保持冗余:冗余的電源、冗余的互聯、冗余的路由協議等。理想情況下,核心交換機也應當有冗余的控制模塊,如果預算不允許,你只能勉強應付了。
核心交換機需要為基礎架構中的幾乎每一個數據包負責,所以需要保持平穩。充分利用HSRP(熱備份路由 協議)或VRRP(虛擬路由冗余協議)。如此,兩臺獨立的交換機就可以有效地共享一個IP地址和一個MAC地址,并將其用作某個VLAN的默認路由。一旦 某臺核心交換機故障,這些VLAN仍可以訪問。
最后, 正確使用生成樹協議(STP)對于正確的網絡運作是至關重要的。全面地討論這些技術已超出了本文的范圍,但是正確配置這兩個要素對于任意的三層交換網絡的正確操作及其彈性都有著極大的影響。
關心存儲
一旦組建好了網絡的核心,你就可以著手存儲網絡問題了。雖然可以運用許多技術,但是在你將服務器連接到存儲陣列時,可行的選擇有可能歸結為一個熟悉的問題:是選擇光纖通道還是iSCSI?
光纖通道一般要比iSCSI更快,并且其交付的延遲更低,但是,對于多數應用來說,卻真得沒有必要。光纖通道要求特定的光纖通道交換機,而且每臺服 務器中還要有價格不菲的FC HBA(光纖通道主機總線適配器),并且最好是兩個FC HBA,以實現網絡冗余; 而iSCSI使用標準的千兆位的銅線端口就可以表現優良。如果你有面向業務的應用,如擁有大量用戶的大型數據庫,你不妨選擇iSCSI,這樣做不會影響性 能但可以節約大量的金錢。
光纖通道網絡與網絡的其余部分無關,它基本上獨立地存在,僅通過管理鏈路連接到不承載任何業務通信的主要網絡。使用能夠處理普通網絡通信的以太網交 換機就可以構建iSCSI網絡,雖然iSCSI網絡應當至少被限制到其自己的VLAN中,并且可能要在一組特定的以太網交換機的基礎上構建,這些交換機因 為性能的原因需要對通信進行分離。
務必謹慎選擇用于存儲網絡的交換機。有些廠商的交換機在一般負載的情況下表現還可以,但是在面對iSCSI通信時,卻令人大失所望,這是由于其內部的結構所致。一般說來,如果一臺交換機的廠商宣稱“特別為iSCSI增強”,它也許就能夠很好地處理iSCSI負載吧。
不管如何,你的存儲網絡應當反映主要網絡,并且應當盡可能地實現冗余:冗余交換機、到服務器的冗余鏈路(不管是FC HBA、標準的以太網端口,還是iSCSI加速器)等。服務器“也不喜歡看到”自己的存儲器突然就消失了,所以這兒的冗余性至少如同在網絡中一樣重要。
關注虛擬化
談到存儲網絡,如果貴單位打算運行企業級的虛擬化的話,可能就需要它的某種形式。虛擬化主機(本文中所談到的虛擬化主機指的是運行虛擬化管理軟件的 物理主機)要求虛擬服務器在虛擬化群組設備中能夠絕對穩定地遷移,并要求快速的集中存儲。這種存儲可以通過光纖通道,iSCSI,甚至在多數情形中還可以 通過NFS,但關鍵是所有的主機服務器可以訪問可靠的集中化的存儲網絡。
然而,聯網的虛擬化主機并不像將普通的服務器聯網一樣。雖然一臺服務器可能擁有前端和后端兩個鏈接,但是虛擬化主機可能擁有六個以上的以太網接口。 其中的一個原因是性能問題:虛擬化主機產生的通信要比普通服務器更多,這是由于這樣一個簡單事實:大量的虛擬機運行在同一臺主機上。另外一個原因是冗余性 問題:由于有這么多的虛擬機運行在一個物理機上,你不會希望某個發生故障的網卡突然間將大量的虛擬服務器“踢出”網絡吧。
為了應對這個問題,虛擬化主機應當至少構建兩個專用的前端鏈接,兩個后端鏈接,而且,理想情形下,還要有一個獨立的管理鏈接。如果這種基礎架構要為 安裝在DMZ等區域的“半安全”網絡中的主機服務,那么,我們也有理由為這些網絡增加物理鏈接,除非你對于它們作為一個VLAN而將“半可信的”數據包傳 輸通過核心網絡感到滿意。物理上分離仍是最安全的方法,并不易受到人為錯誤的影響。如果你能夠向虛擬化主機中增加接口,從而從物理上分離這種通信,那就這 樣做吧。
每對接口都應當使用某種形式的鏈路聚合來實現聯合,如LACP(鏈路匯聚控制協議)或802.3ad等。不管哪一種都可滿足要求,雖然你的交換機可 能僅支持一種形式。綁定這些鏈接可以實現負載平衡,并且可以在鏈路水平上實現失效轉移保護,因而是一種不容置疑的要求,更因為你很難找到一種不支持此特性 的交換機。
除了綁定這些鏈接,前端鏈接應當與802.1q進行匯聚。這樣,就在一個獨立的邏輯接口上存在多個VLAN,并使得部署和管理虛擬化設備更為輕松。 然后,你就可以在任何主機的VLAN或VLAN組合上部署虛擬服務器,而不必擔心虛擬接口的配置。你也不必僅為了連接到一個不同的VLAN而向主機增加物 理接口。
虛擬化主機的存儲鏈路沒有必要綁定或匯聚,除非你的虛擬化服務器將會與大量的后端存儲陣列通信。在多數情況下,將僅使用一個存儲陣列,綁定這些接口未必會使單臺服務器的性能有所提升。
但是,如果你的網絡需要繁重的服務器與服務器的通信,如前端的Web服務器和后端的數據庫服務器,那么,建議你將這種通信交給專用的綁定鏈路。雖然有可能并不需要鏈路匯聚,但是綁定這些鏈路將會提供主機之間的負載平衡和冗余性。
雖然專用的管理接口并非一種絕對需要,但它可以使得虛擬化主機的管理更為輕松,特別是修改網絡參數的時候尤其如此。變更承載管理通信的鏈路容易導致與虛擬化主機的通信發生丟失。
如果你數一下,就會發現在一個繁忙的虛擬化主機中可能擁有七個或更多個接口。很明顯,這會增加虛擬化要求實施的交換機的端口數量,所以應當謹慎規 劃。10G網絡的日益普及和10G接口的成本降低,都會使每一家單位減少線纜需求,因而擁有管理接口的主機僅使用一對匯聚和綁定的10G接口就可以了。當 然,前提條件是你的預算允許。