運維是數據中心離不開的話題,俗話說:“創業難,守業更難”,建設一座數據中心不難,難的是讓數據中心運行下去,并且持續保持競爭力,這就需要在運維的工作上下功夫。運維聽起來不是那么高大上的工作,但對數據中心來說最為重要。隨著數據中心規模越來越大,運維的工作越來越繁重,傳統的命令行方式讓一個人維護幾十臺設備還好,當增加到上百甚至上千臺時,運維的工作便無法正常進行下去。增加人力投入會大大增加數據中心運維成本,如果運維的投入增長還要高于數據中心利潤增長時,這種擴張其實就是一種倒退。所以在數據中心擴張時,最關注的是運維的工作量,要讓運維的工作量增長不高于容量增長,如果不長最好,這時很多人想到了自動化。的確,通過自動化完成一部分重復性的操作工作,提升效率,可以大大節省人力,這是當前數據中心運維急需完善的工作。
上面提到了命令行CLI方式,網絡設備和服務器一樣都是用CLI方式運維。CLI(command-line interface,命令行接口)方式是一種通過在終端窗口鍵入文本命令來實現與服務器、網絡設備交互的接口,比GUI圖形式交互接口要高效得多。有時看到技術人員登錄到設備上,在鍵盤上敲入大量看不懂的命令時,總覺得這個技術很高深,很神秘,人們通過CLI方式與設備之間展開對話,讓設備按照指令來完成相應功能。這種方式流行數十年,直到現在仍是數據中心里運維的主流方式。這種方式對于單臺設備來說,執行高效,但總體上來說就低效了。比如要對網絡中的OSPF鄰居路由做策略,這樣不止在一臺設備上要調整配置,所有設備上都要調整,而且每臺設備調整的配置還有所不同,如果OSPF區域比較大,設備比較多,就要花費很長時間,而且還容易出錯,有時我們將執行簡單CLI命令的操作寫成TCL腳本,然后用軟件來執行,不過還是有不少的工作需要手工逐臺去登錄操作,非常費時。
CLI運維的方式飽受詬病,不少人想到了SNMP,通過SNMP節點可以完成設備上的大部分配置下發和調整,而且SNMP還能采集設備的運行狀態和流量統計,日志告警等信息,SNMP成為了網絡運維的一個重要手段。幾乎每個數據中心都要部署一到兩個網管監控軟件,通過SNMP來獲取設備上的運行狀態信息。由于不同廠家不同型號設備的命令行差異較大,且有太多的命令是私有MIB,這就無法用SNMP方式實現整網設備管理,尤其發生網絡故障的時候,絕大多數的診斷命令行都是私有的,設備間各不相同,這樣通過SNMP單獨輸入,還不如直接登錄設備CLI輸入來得快,所以SNMP網管一般作為網絡運行監控的一種手段,而不作為運維和操作設備的方法,這樣走也行不通。
怎么辦?網絡專家們一直在想辦法,于是乎Netconf這時出現。Netconf是IETF發布的標準協議,它全稱是Network Configuration Protocal。Netconf協議早在2006年IETE就發布了,是一種基于XML的網絡配置協議,可以基于網絡來安裝、操作和刪除設備配置,在Netconf架構中,網絡設備充當Netconf Server 角色,運維的人員則是Netconf Client。在數據中心規模還不大的時候,Netconf并未引起人們的關注,這幾年隨著數據中心網絡規模越來越大,還有很多虛擬化的實現,Netconf才得到重視。因為是統一標準,所以不同廠家設備都會支持,Netconf是網絡通用語言,所有網絡設備都能聽懂,這樣就可以通過Netconf輕松實現網絡配置的統一部署。不過,現實情況卻沒這么輕松,因為各廠商 Netconf數據表達存在很多差異,各個設備廠商都希望在軟件定義網絡的時代繼續保持硬件設備重要性,并且能夠體現自己公司產品的差異化優勢,這是IETF不愿意看到的,也是數據中心客戶不愿意看到的。后來Google、AT&T、Facebook、Apple、Microsoft等互聯網服務提供商成立了OpenConfig工作組,希望提供一個中立于設備廠商的標準 API。OpenConfig沿用了Netconf的協議框架,但它不太關注底層數據傳輸,而是更關注上層數據表達和數據建模,OpenConfig只關心與互聯網行業用戶通用運維的工作和網絡設計工作相關的功能,不會為設備廠商的私有特性定義 YANG Model。只要網絡設備支持標準 OpenConfig YANG,就可對原始數據進行解析,不再依賴第三方軟件就可以管理多廠商多OS網絡,進而實現真正網絡自動化。不過,OpenConfig并未得到廣大網絡廠商的積極回應,畢竟OpenConfig有點向網絡廠商砸場子的味道,網絡廠商自然不愿意去適配,“我的地盤我做主”,這就使得OpenConfig難產,除了幾家大型的互聯網企業有膽量向網絡廠商叫板,其它的很少有發聲,這也讓OpenConfig推進沒有那么順利。其實,從技術實現上來講,不管哪種Config目的都是為了實現自動化。有的激進一些,有的保守一些,雖然總有不同聲音,但都是希望能改善數據中心的運維環境,提升運維的自動化水平,這個大方向不會變,這些配置技術都是實現自動化的手段而已。
網絡運維的自動化依然是一個熱門話題,還有新的技術不斷出現,現有的數據中心運維水平依然比較初級,亟待改善。要將自動化運維融合到整個數據中心的運行體系中,尤其要和業務結合起來,否則自動化的運維本質就不過是一個自動化工具而已。要讓自動化運維擁有學習能力,結合大數據、人工智能(AI)或機器學習功能軟件系統,讓運維不再是單純去執行自動化腳本,而可以分析可用性和性能監控、事件關聯和分析,結合具體業務去運維,這才是真正的自動化運維,最終實現整個數據中心的自動化運行。
版權聲明:本文為企業網D1Net原創,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。