如今數據中心建設正在如火如荼地展開,在服務器的性能和規模上與以往都不可同日而語,為了將更多的服務器接入到數據中心中來,網絡的規模變得越來越大,為了將所有設備連接起來,網絡變得盤根錯節,互聯關系異常復雜,網絡部分變得越來越不可管理。在這樣的發展背景下,必須為數據中心網絡的發展指明一條正確的發展道路,否則網絡嚴重制約了數據中心的發展。如何在增加數據中心建設規模的情況下,保持網絡復雜度不變甚至降低呢?這已成為了數據中心里技術最為活躍的話題,實現網絡由繁至簡成為數據中心在發展過程中遇到的最大訴求,我們該如何辦?
首先,傳統的數據中心網絡建設是三層架構:接入層、匯聚層和核心層,雖是這樣設計,實際上很多數據中心在接入部分都存在多層級聯的情況,從核心到最末端的服務器,往往要經過數臺網絡設備,因為網絡設備的端口和容量是有限的,這樣做的好處是可以大大增加網絡可接入設備的數量,但網絡層級過多,不好管理也不利于業務流量轉發,潛在的故障點過多,要從網絡架構上做徹底的改變。現在的網絡設備在性能和規模上均比較大,一個核心的網絡設備往往可以提供上千網絡接入的端口,數十萬臺的服務器設備,所以數據中心應該盡量使用規模更大的網絡設備,將網絡架構由三層改為二層,忽略匯聚層,同時盡量減少接入層的級聯數量。在物理連接上,保持從服務器到核心網絡設備出口,只經過接入層的網絡設備,這樣轉發效率大為提升,網絡結構也變得非常清晰,當需要進行業務擴容時,直接橫向擴容,而不是縱向擴,使網絡的轉發平面變得越來越寬,而不是越來越長。
其次,網絡物理層級減少,在業務轉發層面也要同時做出改變。傳統的網絡是二三層混跑,接入層基本做二層處理,到了匯聚和核心層全三層互聯,數據中心與外界也保持三層互聯,這樣數據中心網絡主體就是三層網絡。三層網絡大大制約了虛擬機網絡的發展規模,虛機要完成業務平滑遷移,必須處于一個二層互通網絡中才行。虛擬機是豐富數據中心業務部署的必要條件之一,無法滿足虛擬機遷移將嚴重制約數據中心向云計算、大數據領域進軍,然而更多的數據中心在建設的時候都是按照三層網絡設計的,改變為二層設備需要完全推倒重來,很難實施,而且數據中心外部不可能也是二層,骨干網全部是三層互聯,而虛擬機要進行數據中心外部之間遷移,就必須從其它方面想辦法,于是大二層技術出來了。大二層技術設計初衷就是在三層物理網絡上,建設一個虛擬的大二層網絡,以此來滿足虛擬機遷移的需求。整個數據中心,甚至數據中心外部都處于一個二層邏輯網絡之中,不僅可以滿足虛擬機部署業務,網絡結構上也非常簡單,便于管理。
第三,網絡設備要進行虛擬化,隨著網絡規模的升級,設備數量越來越多,擁有成百上千的網絡設備已不足為奇,要同時對這么多設備進行管理,難度不小。從運維的角度來講,急需引入虛擬化管理,也就是將網絡設備虛擬起來,多臺設備虛擬化為一臺設備,對虛擬設備進行管理,這樣大大減少管理設備的數量,同時可以忽略這些設備之間的互聯關系,數臺設備作為一個整體對外提供服務。一般核心層設備可以支持2~4臺的虛擬化,接入設備往往可以達到10臺以上,甚至可以將核心層和接入層的設備統統都做虛擬化,使得整個網絡設備之間都形成虛擬化。數據中心運維人員看到的就是虛擬的幾臺網絡設備,互聯關系和端口簡單,很好管理。這樣做也大大增加了網絡的冗余性,提升了網絡穩定度。
最后,業務部署自動化。傳統數據中心在新增服務器或者業務時,同時要在網絡上做配置變更,這部分工作不僅枯燥而且容易出錯。現在將這些工作交給網絡中的控制器來做,由控制器進行業務部署的下發,當一個新的服務器接入網絡時,自動完成服務器的操作系統、下載、安裝以及網絡部分的配置,統統由控制器來完成,此時只需要將服務器接入到網絡設備上,互聯UP起來就可以了。控制器不僅可以完成新業務上線,還可以進行網絡業務部署和運維。通過控制器下發網絡轉發流表,指導整個網絡的數據轉發,這種將網絡的控制層與數據轉發層面分離技術已經在數據中心里得到廣泛認可,當遇到故障時,控制器也可以自動進行業務隔離,自動恢復。當然這些看似簡單的過程,實際需要對控制器進行非常復雜的設計,要考慮到網絡可能出現的各種異常情況,提前在控制器上進行部署。控制器就是一個可以代替人們,按照人們的思想去執行的機器,具體如何去做還是要人們提前設計好才行。
將網絡由繁變簡的中心思想就是在現有的物理網絡基礎上,打造一套虛擬的簡單二層網絡,從而大大簡化網絡方方面面的工作。當然,所有數據中心人員面對的將是一個虛擬的網絡,一旦發生故障時,排查起來比較費力,因為虛擬網絡上發現的故障,要找到具體物理設備的位置,還需要知道兩者之間的對應關系,虛擬網絡的一個節點甚至對應了數個物理節點,還好控制器可以做這些記錄這些事情,當需要知道對應關系,直接從控制器中拿出來就可以。減少網絡物理連接關系并不是主要的網絡從“簡”方法,有時隨著網絡規模的不斷擴大,物理連接要增加也是不可避免,主要還是在虛擬網絡層面上下功夫,構造出一套簡單的虛擬網絡。