SDN助力數(shù)據(jù)中心實現(xiàn)網絡資源的真正池化
隨著云計算技術的發(fā)展,傳統(tǒng)數(shù)據(jù)中心組網在網絡能力上的不足越來越明顯,主要體現(xiàn)在兩個方面,一是網絡虛擬化的支持能力不足,二是不支持業(yè)務自動化部署和靈活編排。數(shù)據(jù)中心網絡引入SDN控制器,基于集中控制、轉控分離的架構實現(xiàn)網絡資源全局集中管控、智能調度,提高了網絡資源利用率;基于開放可編程的接口,實現(xiàn)業(yè)務的自動化快速開通部署。
SDN助力數(shù)據(jù)中心真正池化
SDN數(shù)據(jù)中心為多租戶提供虛擬、隔離、可擴展、自管理的NaaS(Network as a Service),SDN助力云計算數(shù)據(jù)中心實現(xiàn)網絡資源的真正池化,使數(shù)據(jù)中心網絡在云計算時代實現(xiàn)網隨云動。
SDN控制器在數(shù)據(jù)中心的引入,極大提升了數(shù)據(jù)中心網絡的承載和服務能力。但同時,SDN控制器作為整個數(shù)據(jù)中心網絡的“大腦”,其高可靠部署對數(shù)據(jù)中心網絡的安全穩(wěn)定運行非常重要。
SDN控制器的高可靠性分為兩個層面,分別是設備層面的高可靠和業(yè)務層面的高可靠。設備層面的高可靠是指SDN控制器設備硬件、軟件本身具有主備冗余的高可靠,在單一硬件和軟件模塊故障時SDN控制器依然能穩(wěn)定可靠運行。業(yè)務層面的高可靠是指SDN控制器對網絡業(yè)務配置的高可靠下發(fā)以及業(yè)務配置數(shù)據(jù)的高可靠存儲,比如配置事物全局一致性、南向數(shù)據(jù)一致性等功能。
SDN控制器的部署有單節(jié)點、單集群的部署,也有能滿足更高可靠性的異地災備的主備集群部署。本文從單集群和主備集群的規(guī)劃與部署兩個方面,較詳細地闡述了SDN控制器高可靠規(guī)劃、部署與實現(xiàn)。
SDN控制器單集群規(guī)劃與部署單集群內部,北向模塊、數(shù)據(jù)庫、南向模塊應至少提供一主一備的冗余部署。
單集群部署的SDN控制器,要求集群內節(jié)點服務器數(shù)量≥3臺,節(jié)點劃分為Leader和Follower的角色。Leader節(jié)點負責集群內各節(jié)點業(yè)務的統(tǒng)一調度管理,當有節(jié)點故障的時候,Leader節(jié)點負責將故障節(jié)點下的設備進行重新分配。Leader節(jié)點故障時,F(xiàn)ollower經選舉比較,優(yōu)先級最高的Follower角色轉換成Leader節(jié)點。
北向Portal模塊應能通過主備冗余方式或者多活方式,對外為北向應用、協(xié)同層或云平臺提供統(tǒng)一的浮動IP,通過北向接口接收應用、協(xié)同層的控制信息。
Portal模塊通過輪詢方式將北向接收到的指令發(fā)放給集群內節(jié)點,由集群內節(jié)點計算處理,并通過南向接口完成向設備配置的下發(fā)。
北向的負載均衡調度模塊應能動態(tài)檢測各節(jié)點北向接口狀態(tài),當檢測到某節(jié)點的北向接口狀態(tài)異常時,能標記該節(jié)點為不可用,并出發(fā)節(jié)點異常告警,停止北向請求到該節(jié)點的發(fā)放。當北向接口檢測到節(jié)點恢復正常后,能重新標記為可用,并重新將節(jié)點加入到北向請求接收的隊列當中。
集群內控制器南向模塊應能至少支持建立控制器節(jié)點到轉發(fā)設備間的一主一備雙連接,即轉發(fā)設備能和集群內兩個控制器節(jié)點建立連接,默認通過主連接管理轉發(fā)設備,當主連接的控制器節(jié)點故障時,自動切換到備連接管理轉發(fā)設備,同時將備連接切換為主連接,并重新再給該設備建立一個備連接。
控制器集群內應能支持配置事物全局一致性,即一個業(yè)務配置涉及集群內多個節(jié)點、數(shù)據(jù)庫節(jié)點、網絡控制節(jié)點、轉發(fā)設備節(jié)點時,應確保每個節(jié)點都能成功,如果中間某個節(jié)點異常,則全部配置事物回滾。
SDN控制器應支持南向數(shù)據(jù)一致性,即當控制器和南向轉發(fā)設備之間出現(xiàn)配置不一致時,控制器能進行南向差異發(fā)現(xiàn)和差異修復,從而實現(xiàn)控制器和南向轉發(fā)設備配置一致。要求控制器能定期進行差異化監(jiān)測,發(fā)現(xiàn)差異時,能主動觸發(fā)告警通知用戶,用戶查看和確認后,由用戶發(fā)起以控制器為準或者以轉發(fā)設備為準的差異化修復。
SDN控制器應支持系統(tǒng)備份功能,定期將控制器系統(tǒng)數(shù)據(jù)生成快照,并將快照信息備份存放到遠端服務器。當控制器系統(tǒng)出現(xiàn)不可恢復的故障時,可以使用歷史系統(tǒng)快照信息重新部署一套存有全部配置信息的相同控制器。
SDN控制器應支持集群節(jié)點替換功能,集群內某節(jié)點損壞(譬如服務器損壞,無法恢復),可以單獨使用新的服務器替換該故障節(jié)點。
SDN控制器集群部署在云計算數(shù)據(jù)中心場景時,應規(guī)劃在管理網中,SDN控制器通過管理網和軟硬件轉發(fā)設備通信,下發(fā)流表、策略等。因此在云計算數(shù)據(jù)中心場景要求管理網獨立規(guī)劃,和業(yè)務網物理隔離,保證SDN控制器和轉發(fā)設備之間的高質量連接。
SDN控制器支持主備集群的容災部署為進一步提高SDN控制器的可靠性,SDN控制器除了單集群部署,還應能支持主備集群的容災部署方式。主備集群部署在不同的地域。正常情況下,主控制器集群工作處理業(yè)務,備集群運行但不處理業(yè)務。主備集群容災部署時,主集群業(yè)務數(shù)據(jù)庫與容災備集群數(shù)據(jù)庫應實現(xiàn)同步備份。
主備控制器集群間建立心跳連接,當主控制器集群故障時,可自動或手動完成容災切換。要求心跳間隔、心跳超時個數(shù)閾值可配置,心跳超時后觸發(fā)告警或者觸發(fā)自動主備倒換的動作可配置。
SDN控制器主備集群部署建議架構如圖所示。
圖? SDN控制器主備集群部署建議架構
為增強系統(tǒng)的穩(wěn)定性和可靠性,在規(guī)劃時建議不開啟故障時主備自動切換和故障恢復時的自動回切,建議人工手動方式進行切換。管理員在接收到心跳超時告警時,人工確認主備集群的工作狀態(tài),必要時進行主備集群切換;故障恢復后,需要進行回切時,應該在確認系統(tǒng)狀態(tài)后,在業(yè)務低峰時段進行回切。
主備集群部署時,控制器集群北向對接Openstack云平臺或者協(xié)同編排層,要求在Openstack云平臺或者協(xié)同編排層上配置主備集群的IP地址,并且定期檢查主備集群的角色、狀態(tài)。當檢測到集群主備狀態(tài)變化并確認后,能自動或人工修改主備角色狀態(tài)。建議在檢測到集群狀態(tài)變化時,觸發(fā)告警,在人工確認后,修改主備角色狀態(tài)。
主備集群間帶寬和時延應滿足集群需求,要求集群互聯(lián)預留帶寬≥1Gbit/s,集群互聯(lián)時延≤10ms。10ms內異地容災部署效果最好,超過10ms后可能會導致容災數(shù)據(jù)丟失。當集群互聯(lián)時延>10ms時,認為備集群位置不具備集群部署條件,不建議進行主備集群部署,應進行備集群位置重選以符合主備集群部署條件。