數(shù)據(jù)中心NFV是通過使用x86等通用性硬件以及虛擬化技術(shù),來承載很多功能的軟件處理,使網(wǎng)絡(luò)設(shè)備功能不再依賴于專用硬件,降低網(wǎng)絡(luò)設(shè)備成本。NFV是網(wǎng)絡(luò)運營商主推的網(wǎng)絡(luò)虛擬化技術(shù),這有利于大幅降低網(wǎng)絡(luò)運營商的設(shè)備采購成本。不過,運營商需要的是高可靠性的網(wǎng)絡(luò),對網(wǎng)絡(luò)可靠性要求最高,但看看我們應(yīng)用了虛擬化技術(shù)的表現(xiàn),2015年十大云計算宕機的收入損失超過了31 Million美元,顯然這樣的技術(shù)無法滿足運營商的可靠性要求。運營商當然不愿意放棄自己提出來的NFV,更何況還有SDN躍躍欲試,那該怎么辦?本文給出了一些提升NFV可靠性的思路。
我們需要先來看看部署了NFV 之后,對可靠性的判斷準則是否發(fā)生了變化。NFV網(wǎng)絡(luò)中增加了軟件控制部分,這樣可靠性評估準則要考慮服務(wù)停機時間與硬件停機時間的差異,要建立彈性軟件的評估方式,這樣當硬件檢測到故障時,還要通報給NFV,這個過程要有延遲時間,所以需要故障檢測和切換技術(shù)要比以前更精確,之前故障檢測是秒級,現(xiàn)在就需要毫秒級,小于50MS。之前故障切換是秒級,現(xiàn)在就需要微秒級,在幾百微秒以內(nèi)。部署NFV之后,需要用新的工具來解決故障告警、根本原因分析和恢復(fù),這是因為虛擬化技術(shù)使得構(gòu)成服務(wù)的部件分散在網(wǎng)絡(luò)多個不同的地方,檢測麻煩不會像觀察紅燈一樣簡單,需要軟件綜合分析。
NFV環(huán)境下要提升可靠性,需要具有三個方面的處理機制:一是故障檢測預(yù)測,通過對數(shù)據(jù)控制流檢查、性能監(jiān)視、網(wǎng)絡(luò)設(shè)備日志分析、異常檢查等等,判斷有無發(fā)生故障;二是故障診斷定位,一旦發(fā)現(xiàn)故障即刻啟動故障定位,通過分析確認哪里發(fā)生了故障,故障的相關(guān)性和優(yōu)先圖;三是故障恢復(fù),根據(jù)故障位置,啟動故障恢復(fù)程序,可以進行業(yè)務(wù)遷移、冗余備份、數(shù)據(jù)保護等恢復(fù)動作,通過這三步來達到提升NFV可靠性的目的。這樣說很簡單,實際實現(xiàn)起來是非常難的。就拿故障診斷來說,取決于故障檢測的準確性,很多網(wǎng)絡(luò)故障,不少的網(wǎng)絡(luò)技術(shù)專家分析很久都無法明確原因,現(xiàn)在靠機器來完成,難度更大,要先將人的分析經(jīng)驗輸入到機器中進行學(xué)習(xí),然后由機器代替人來做處理,只有這樣切換才來記得,任何一個環(huán)節(jié)有人為的介入,處理時間都會被拉長,業(yè)務(wù)就會受到影響,NFV采用軟件自動控制的方法,可以將故障發(fā)現(xiàn)、排查和隔離過程控制到毫秒級,達到網(wǎng)絡(luò)高可靠性的目的。
僅具備這些處理機制還遠遠不夠,NFV環(huán)境下故障檢測的數(shù)據(jù)規(guī)模大,硬件和軟件解耦導(dǎo)致涉及的網(wǎng)絡(luò)層次更多,很多數(shù)據(jù)還可能不能反映出故障原因,甚至網(wǎng)絡(luò)已經(jīng)故障了這些數(shù)據(jù)還表現(xiàn)正常,這樣就不會觸發(fā)故障診斷。還有NFV環(huán)境下,發(fā)生故障傳播快和容易相互干擾,易于產(chǎn)生不可預(yù)知的故障,這些都會給診斷故障帶來很大難度,就算分析出來故障位置,不同的軟件可靠性評價準則不同,執(zhí)行的恢復(fù)動作也有差異。有些故障是需要中斷業(yè)務(wù)恢復(fù)的,有些故障是做局部微調(diào)就可以恢復(fù)的,當需要做這種恢復(fù)決策時,就算是人為評估都很難把握,更何況將這個決策權(quán)交給軟件去做,誤判一定時有發(fā)生。NFV技術(shù)也是一種全新的網(wǎng)絡(luò)技術(shù),新的系統(tǒng)意味著有更多的軟件BUG。
為了進一步提升NFV技術(shù)的可靠性,還要在多個方面下功夫。運營商網(wǎng)絡(luò)對可靠性的要求是5個9,而x86的可靠性通常只有2~3個9,所以基于x86實現(xiàn)的NFV可靠性不夠高。這時可以考慮虛擬機分散開來,將同一個網(wǎng)元功能的多個虛擬機散布到異址物理設(shè)備上,降低單點故障對網(wǎng)絡(luò)的影響。通過對虛擬機進行熱備份,專有設(shè)備備份及建立通用備份池對多個網(wǎng)元的虛擬機進行備份的方式,提高網(wǎng)元可靠性。還要在故障檢測上下功夫。比如支持黑盒故障的檢測,支持未知錯誤的監(jiān)測,檢測時間要快,還有就是可擴展性好。將這些檢測數(shù)據(jù)獲取到了以后,通過機器學(xué)習(xí)的方式進行檢測,將低維數(shù)據(jù)變化到高維數(shù)據(jù)。一般通過機器學(xué)習(xí)的檢測有:有監(jiān)督的學(xué)習(xí),無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí),它們區(qū)別在于是否需要標簽訓(xùn)練數(shù)據(jù)。在NFV技術(shù)中一般采用無監(jiān)督學(xué)習(xí)方式。通過機器學(xué)習(xí)就可以引入很多的數(shù)理統(tǒng)計技術(shù),來增強分析的準確性,這些技術(shù)可以來自基于統(tǒng)計、基于深度,基于密度和聚類等等方面綜合分析出來結(jié)果。NFV技術(shù)可以采用動態(tài)自適應(yīng)快速故障檢測技術(shù),如SOM算法、LOF算法、Bayesian Network算法等。對CMS、CNFM等管理系統(tǒng)同樣采用備份、帶外管理等機制,進一步提升系統(tǒng)可靠性。當通過這些一系列的軟件得到故障原因后啟動自動告警、自動切換等一系列措施,實現(xiàn)系統(tǒng)故障自愈,還需要支持在網(wǎng)絡(luò)軟硬件解耦后進行端到端的故障定界定位,對各個組件的安全信息比如日志、告警和異常輸出等進行智能分析和關(guān)聯(lián),快速定位或提前預(yù)測系統(tǒng)安全隱患。谷歌數(shù)據(jù)中心的建設(shè)思路在可靠性方面考慮良多,在處理宕機這類故障的時候,可以依靠軟件迅速地平滑過度,實現(xiàn)任務(wù)轉(zhuǎn)移,以最快的速度保證SLA指標。
NFV將是一種革命性的新技術(shù)發(fā)展趨勢,將對網(wǎng)絡(luò)技術(shù)發(fā)展帶來深遠的影響。NFV技術(shù)在數(shù)據(jù)中心,尤其是運營商的數(shù)據(jù)中心領(lǐng)域應(yīng)用獲得了極大的認可,是運營商一直在推廣的網(wǎng)絡(luò)技術(shù)。雖然NFV在可靠性方面還有待提升,它真正走向市場和普及,還會面臨眾多的問題和挑戰(zhàn),但這并不妨礙很多運營商愿意嘗試,NFV技術(shù)必將快速走向成熟。