《軟件定義網(wǎng)絡(luò)在攜程的運維實踐》要點:
本文介紹了軟件定義網(wǎng)絡(luò)在攜程的運維實踐,希望對您有用。如果有疑問,可以聯(lián)系我們。
作者簡介
鄭升
攜程網(wǎng)絡(luò)高級工程師
大家好!今天由我來給大家分享一下軟件定義網(wǎng)絡(luò)在攜程的運維實踐.我講的內(nèi)容主要分為兩塊:
先來看一下攜程數(shù)據(jù)中心網(wǎng)絡(luò)的特點.
第一個特點它是一個傳統(tǒng)網(wǎng)絡(luò).攜程整個數(shù)據(jù)中心的架構(gòu)都是已經(jīng)使用了八、九年的網(wǎng)絡(luò),是一個非常傳統(tǒng)的老的架構(gòu).用戶在網(wǎng)絡(luò)上的使用習(xí)慣,應(yīng)用在網(wǎng)絡(luò)上的部署模式以及網(wǎng)絡(luò)上的這種安全的分區(qū),還有網(wǎng)絡(luò)對于攜程整個流程系統(tǒng)的適應(yīng)性都有點根深蒂固,你要輕易改變它是不容易的.而且攜程不像一些大公司,經(jīng)常會有一些新的項目出來、新的業(yè)務(wù),那邊20個機柜上到那邊試一下,然后那20個機柜給你什么樣的嘗試,這種機會很少.所以我們這個網(wǎng)絡(luò)是延續(xù)了傳統(tǒng)的架構(gòu).
第二個特點是要求靈活敏捷.攜程數(shù)據(jù)中心它對網(wǎng)絡(luò)的靈活性要求很高,雖然數(shù)據(jù)中心數(shù)量不多,但是每個數(shù)據(jù)中心數(shù)量都非常大.
從上圖來看,這就是三層的核心、匯聚、接入.針對以上三個特點,攜程對于軟件定義網(wǎng)絡(luò)的需求特別迫切,攜程對于軟件定義網(wǎng)絡(luò)的理解,我們把定義網(wǎng)絡(luò)做成一個網(wǎng)絡(luò)運維輔助工具,希望這一工具幫助我們完成兩件事情:
首先我們對設(shè)計的要求是高效、準確、靈活.高效是要快很多,然后它必須是準確的,我們在這個工具里面設(shè)計了很多防呆、防錯的機制,即使輸入有錯,也不會因為輸入錯誤給網(wǎng)絡(luò)下發(fā)了錯誤的參數(shù)而導(dǎo)致一級事故這種事情,我們是不能容忍的.然后它是靈活的工具,也許底層網(wǎng)絡(luò)有變化,但是不能因為底層變化而重新買一些代碼,它需要有一些靈活性.
對于工具具設(shè)計的要求是希望他們變成網(wǎng)絡(luò)工程師的好榜首.這些工具都是網(wǎng)絡(luò)工程師根據(jù)日常工作中的經(jīng)驗總結(jié)設(shè)計出的工具,我們的網(wǎng)絡(luò)工程師非常行,他們在網(wǎng)絡(luò)技術(shù)方面都很精.有些甚至具備自己碼代碼的能力,所以說由他們設(shè)計,按照自己設(shè)計出來的工具是適合的,功能非常強大,都是根據(jù)自己工作中總結(jié)出來的.然后它的界面是簡單易用,最后一個是要準確可靠,網(wǎng)絡(luò)工程師只需要關(guān)注自己輸入的參數(shù),需要關(guān)注底層的結(jié)構(gòu)和數(shù)據(jù)校驗的問題,這樣網(wǎng)絡(luò)工程師利用這些工具策略就會高很多.
這是我們的控制器,名字叫Netranger,結(jié)構(gòu)是這樣的,中間是控制器,向被是提供了用戶界面,用戶主要指網(wǎng)絡(luò)工程師,在這個結(jié)構(gòu)上進行網(wǎng)絡(luò)變更和信息收集等操作.另外針對流程系統(tǒng)有一個API ?接口,自動與流程系統(tǒng)(Remedy)交互,進行訂單自動化.南下是協(xié)議,最主要使用的是Netconf和SNMP,90%的功能是由NETCONF完成,然后還與監(jiān)控平臺(Netcons、SNMP、Syslog)對接,幫助他們驅(qū)動我們的控制器來完成一些功能.
Netranger系統(tǒng)功能,最主要的是信息采集.你要做網(wǎng)絡(luò)要知道這個網(wǎng)絡(luò)上發(fā)生了什么事情,我們測試了很多家的產(chǎn)品,大多數(shù)的控制器并不關(guān)心網(wǎng)絡(luò)現(xiàn)在什么樣子,只是定義網(wǎng)絡(luò).那種東西在網(wǎng)絡(luò)工程師的角度是不可接受的,第二個是指令下發(fā),如果它不能下發(fā)指令你也沒辦法控制網(wǎng)絡(luò).包括設(shè)備配置管理、業(yè)務(wù)流程對接、操作審計、統(tǒng)計報表.Netranger基于Python來開發(fā)的.
第二個Netranger主要功能介紹,它為我們做了什么事情.先介紹的第一個功能是服務(wù)器網(wǎng)絡(luò)端口操作自動化,也就是工作當(dāng)中最繁重的任務(wù)自動化.這是服務(wù)器上架上線的流程,具體的流程下一場服務(wù)器專家為大家介紹.我們這塊與網(wǎng)絡(luò)相關(guān)的兩塊工作,網(wǎng)絡(luò)端口開啟和生產(chǎn)網(wǎng)絡(luò)的切換兩項工作.
大家可以看到這個工作量是 ?巨大,一批服務(wù)器任務(wù)過來,網(wǎng)絡(luò)工程師通常要在1—2個工作日完成這么大服務(wù)器上架工作,因為服務(wù)器有很多的網(wǎng)口,網(wǎng)絡(luò)工程師要在一個工作日內(nèi)完成成百上千的服務(wù)器交換機端口的開啟,遠程切換,甚至有時還有服務(wù)器下線,還要關(guān)閉端口,一個工作日完成這么多的事情,你要讓做是不可能的.
第三個服務(wù)器網(wǎng)絡(luò)端口操作自動化.設(shè)計非常簡單,首先要和流程系統(tǒng)對接,因為所有的參數(shù)從系統(tǒng)過來,然后拿到參數(shù)做校驗,檢查端口當(dāng)中每一個是否滿足深線的要求.有些傳過來是錯誤的,本來這個端口在線上還要上線,就會造成故障.校驗完在合適的時間把這些配置下發(fā)到網(wǎng)絡(luò)設(shè)備上,通過Netconf協(xié)議,這是我們工作中總結(jié)出來的,這樣的話萬一造成故障影響比較小,但是事實從來沒有造成過.然后Netranger上線以后完成了這么大的操作,6萬多的端口,然后這樣大家就可以看到前面說的變更繁重什么概念,沒有這個東西完全搞不定.
交換機上線自動化,保障交換機基準配置一致性.包括AAA、LOG、STP、PORT,運維過程中自動的高喚,最終也是最主要的,它要使工程師遠程操作,而不是過去一個工程師跑到現(xiàn)場到交換機上打一堆標簽說不能做,我們讓它變成遠程自動化的東西.
這是我們自動化上線的一個流程,首先有軟件工程師在提供的NetrangerWeb ?UI上面制訂布線計劃,分配設(shè)備參數(shù),現(xiàn)場工程師按照布線計劃完成設(shè)備上架布線,完成了計劃和布線或者是參數(shù),就會傳遞給Netranger,Netranger根據(jù)參數(shù)生成配置.現(xiàn)場的交換機上線,也會有交換機的完成和配置的獲取這樣一個工作.
當(dāng)Netranger校驗是正回的情況下,把上行的接口,包括上行的下一個接口打開進行運行.上線以后會通過收集一些信息核對你現(xiàn)在的沿線和你之前布線計劃是否一致,如果不一致的話會報警或者是關(guān)閉不一致的接口.這樣的一個工具幫助網(wǎng)絡(luò)工程師在一個工作日完成大量的交換機上線,雖然我們沒有嘗試過多少,但是你隨便兩百臺它是能完成的.
這個是我們上線的數(shù)量,不多,這不是我們上線設(shè)備不多,而是我們購買的某些廠商的產(chǎn)品由于某些特殊技術(shù)不需要我們這個系統(tǒng),實際上我們的數(shù)量是非常大的.
Netranger在網(wǎng)絡(luò)管理與網(wǎng)絡(luò)安全方面的.攜程是只用防火墻集中安全策略部署的點.所以網(wǎng)絡(luò)被它在邏輯上分成很多的安全區(qū)域,我們?yōu)榱诉_到靈活性的問題.我們使用虛擬路由器,虛擬路由器與安全區(qū)域進行一一關(guān)聯(lián).
服務(wù)器上線只需要加入該虛擬路由器下的網(wǎng)端,就可以進入你所定義的那個安全的區(qū)域.我們設(shè)計的這一工具就要完成網(wǎng)絡(luò)管理,虛擬機路由器管理,電子網(wǎng)的管理,還有防火墻安全區(qū)域和 ?VRF的關(guān)聯(lián),最終實現(xiàn)路由自動化部署和網(wǎng)絡(luò)防火墻安全的自動化.
先看看網(wǎng)絡(luò)我們做了什么,第一個是網(wǎng)絡(luò)配置可視化,我們首先收集信息,現(xiàn)在數(shù)據(jù)中有一些什么樣的網(wǎng)絡(luò)配制包括vlan、接口、VRF信息.接下來就完成配置的自動化,網(wǎng)絡(luò)工程師要給數(shù)據(jù)中心做配置,是基于每個數(shù)據(jù)中心來做的,如果我們要加一個Vlan,按照以前的做法,是跑到數(shù)據(jù)中心去打你的Vlan,現(xiàn)在通常攜程是有400個機柜,你讓網(wǎng)絡(luò)工程師一個個去打,浪費時間不說,還不能保證一致性.
現(xiàn)在只要在Netranger界面上輸入,可以保證每一個的配置是一致的.比如說包括Vlan的管理、VRF的管理,以及IP網(wǎng)關(guān)的管理.待網(wǎng)絡(luò)的自動化完成,剩下的事情就很簡單與網(wǎng)絡(luò)安全的區(qū)域關(guān)聯(lián),只需要網(wǎng)絡(luò)管理員在Web界面上將安全區(qū)域與VRF建立關(guān)聯(lián)關(guān)系,剩下的接口、路由就可以完成關(guān)聯(lián).最主要的是下面張圖,我在VRF創(chuàng)立一個新IP自動,在防火墻和其他關(guān)聯(lián)路由器上,相關(guān)靜態(tài)路由會被推上去.
IP路徑發(fā)現(xiàn)的一個工具.由于攜程網(wǎng)絡(luò)中大量使用VRF,導(dǎo)致實際的發(fā)生的路徑與物理拓撲上的路徑是不一致的.這樣導(dǎo)致你排障時非常討厭,某兩臺服務(wù)器之間有什么訪問的故障,然后你去排障,在物理上你看不出什么,網(wǎng)絡(luò)工程師是登錄IP一個個去看,但是費時間.
所以我們做了這個工具讓網(wǎng)絡(luò)工程師一下子發(fā)現(xiàn)這個路徑是什么樣子,比如說是否穿過墻了?實際的方案是用Netranger從所有的防火墻和路由器上搜集建立表,網(wǎng)絡(luò)工程師需要查的話只需要搜一下,然后Netranger搜索這樣一個路徑以圖形的方式展現(xiàn)出來,所以網(wǎng)絡(luò)多路徑對它來說也不是問題.
這個工具幫助我們實現(xiàn)運維過程中排障的自動上線.實際上工程師還會知道路徑防火墻上面,有沒有防火墻策略與用戶的需求相匹配.
在Netranger當(dāng)中有一個模塊可以幫助我們完成SYSLOG的分析與告警.設(shè)備發(fā)出SYSLOG,然后有一份數(shù)據(jù)會給到,然后根據(jù)網(wǎng)絡(luò)工程師定的策略,將不同優(yōu)先集的報警以不同方式處理.一些會以短信的方式,一些以郵件的方式.
網(wǎng)絡(luò)工程師收到郵件以后通過Wew界面轉(zhuǎn)到Netranger上看就會發(fā)現(xiàn)很多的事情.這是我們的界面,網(wǎng)絡(luò)工程師篩選不同級別的信息,可以調(diào)整時間顯示所有時間段內(nèi)的SYSLOG,在這里調(diào)整報警規(guī)則和屏蔽一些告知.
最有趣的是知識庫,根據(jù)我們SYSLOG的報警和排障的經(jīng)驗,當(dāng)某些與知識庫匹配的時候,網(wǎng)絡(luò)工程師會點詳情,知識庫里的內(nèi)容就會指導(dǎo)他下一步怎樣做.上面是現(xiàn)有的功能,我們正在做的是Netranger上的可視化,我們要做網(wǎng)絡(luò)性能分析.在性能分析的前提下,根據(jù)性能分析的結(jié)果對網(wǎng)絡(luò)進行優(yōu)化.
我介紹了攜程的這樣一個產(chǎn)品叫Netranger,給大家看了它實現(xiàn)的功能、自動化、網(wǎng)絡(luò)管理、網(wǎng)絡(luò)排障工具和分析告警功能,以及我們還將進一步實現(xiàn)網(wǎng)絡(luò)可視化.
文章出處:高效運維
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4412.html