這幾年,資料中心得到了突飛猛進的增長。資料中心的建設規模越來越大,系統複雜性也越來越高,這給資料中心運維帶來了極大挑戰,資料中心運維人員忙於各種系統的維護工作,面臨的壓力也越來越大。網路是資料中心裡最為重要的組成部分之一,也是技術最為封閉的部分,仍是一片未開墾的**地,正是因為網路部分存在的問題最多,也是最急需改革的地方,將資料中心網路帶入開放性的世界裡,是未來資料中心技術領域的熱點,各種關於提公升網路開放性的技術撲面而來。從技術方面來講,實現網路的開放性有兩個大的方面:一方面是通過使用一些管理軟體,提公升網路自動化的管理水平,支援廣泛的自動化特性,為外部已有的工具以及客戶開發的工具提供全面的統一api網路介面;另一方面是資料中心網路、支援可程式設計、可編排的能力。
首先來說下網路自動化部署。如今資料中心網路規模越來越大,而網路裝置卻依然採用命令列介面的配置管理方式,一些網路裝置**商也提供了基於web的圖形介面配置和管理裝置,試圖可以從單一的客戶端來處理整個網路設定,但這樣並沒有簡化很多配置工作,只是把命令列換成gui介面而已,這樣擁有數百台甚至上千臺的網路裝置資料中心,在採用人工做網路配置時既耗時,又容易出錯。尤其是在虛擬化的環境中,乙個刀片伺服器看似只有少數幾個網路介面,卻承載著數以百計的虛擬機器,手工配置幾乎成為不可能完成的人物,這時很多人想到了自動化部署。通過使用軟體,對資料中心網路裝置進行業務部署,極大縮短了業務部署時間,將技術人員從繁瑣的配置工作中解脫出來。用軟體來代替人工,完成網路業務部署,這個說起來簡單,做出來卻是很難的,軟體終究還是執行人們提前設定好的各種指令,所以需要提前對可能出現的各種情景進行考慮,並編輯到軟體中去,以便出現這些狀況時,軟體可以自動應對。除了軟體要考慮周全,所有的網路裝置還要「明白」軟體發出的各種指令,並執行。由於軟體實現千差萬別,而網路裝置品牌也很多,這樣真正要實現自動化部署是一件特別複雜的事兒。當前的發展現狀是,自家的自動化軟體與自家的網路裝置可以實現互聯互通,與其它廠商的產品對接依然存在問題,不過隨著網路技術融合的呼聲不斷公升高,跨廠商之間的對接會不斷成功。
自動化部署的軟體很多,在此只做簡單介紹。比如poap,是思科網路裝置支援的開機自動調配功能。在確保網路裝置連線電纜並通電後,裝置可以在網路中自動進行自身配置,這種零接觸調配可簡化網路擴充套件和管理。同時,通過自定義策略可快速檢測並解決佈線錯誤;xmpp,是基於可擴充套件標記語言(xml)的協議,可實現對一組網路裝置同時配置;openstack,鼎鼎大名,就不用過多介紹了,還有openflow,支援在網路裝置上下發**流表,是openstack的子集;這裡再提一點opendaylight,是思科主導的乙個基於linux的sdn控制器,也是openstack的子集,openstack只是乙個概念,真正自動化部署實現要靠opendaylight。
其次是網路的可程式設計能力,又稱軟體定義網路,sdn成為了網路可程式設計能力的代名詞,將網路裝置的軟硬體分離是sdn存在的主要目的。網路具有可程式設計能力,能夠降低網路複雜度,滿足虛擬化和雲計算的網路需求,它的發展對傳統網路廠家封閉專有控制平面技術產生了破壞性創新,將對網路廠家變革產生巨大推力和影響,其與自動化部署最大的不同在於對網路、對流量**的控制,是一種可以提供開放可程式設計介面的新型網路系統。這種設計理念將網路的控制層面和**層面分離開來,相互之間通過標準介面就可以完成互訪,這樣一台伺服器裝上乙個網路控制軟體,再加上數百台甚至上千臺便宜的白盒機裝置就可以完成網路部署。乙個資料中心網路的可程式設計能力體現了這個網路的先進水平,是未來網路發展的主流方向。
幾乎所有的網路廠商都有自己的網路可程式設計方案,這也足以說明這正是網路未來的發展方向。當然,在這一新的領域還沒有誰能取得完全的競爭優勢,畢竟這部分市場還有待開拓。這裡列舉幾個有代表性的網路可程式設計方案。比如:思科的nx-api,這是思科的可程式設計的平台api,它提供了乙個基於表層狀態轉化、且保持良好文件記錄的開放式北向api,同時允許與乙個外部協調系統或雲管理系統形成廣泛的南向整合。這個平台api可相容思科nexus全系列的產品,未來思科也會將其它系列的產品都整合到一起,形成通用的可程式設計平台;python是一種解釋型、物件導向、動態資料型別的高階程式語言,python內建了很多常見的網路協議的庫,比如asyncore非同步socket處理程式、email訊息支援、http客戶端模組、smtp伺服器模組、telnet客戶端模組等等,因而python成為了乙個強大的網路程式設計工具,python是一種開放的、免費的、提供公共介面的指令碼語言,在這個網路可程式設計的時代,python受到了很多人的歡迎;容器技術,這是一種linux作業系統虛擬化的技術,具體包含了多種技術實現細節,這也是一種非常開放的技術,技術**主要是docker開源技術、coreos開源技術、其它開源技術和商業版本,雖然容器技術主要應用於伺服器,但是網路裝置的作業系統都是基於linux做的二次開發,這樣容器技術同樣適用於網路作業系統,通過在網路裝置上部署一些容器技術,可以大大提公升網路裝置的虛擬化能力。
資料中心技術變革的下一站,必然是來自於網路部分,這是目前資料中心最急需改變的部分,讓網路走向開放已經成為所有行業內人士的共識,正是在這樣的需求背景下,湧現出了很多優秀的網路新技術,這些技術將不斷推動資料中心網路走向開放。
資料中心網路裝置擴容之道
現代企業的業務是由一組複雜的應用程式堆疊組成的,這些堆疊涵蓋各種各樣的虛擬機器 物理伺服器和專有儲存硬體。其技術堆疊 saas提供商 大量應用程式的觸角從企業總部延伸到分支機構和遠端辦事處,並遍及企業在全球各地的海外設施。如今,新技術層出不窮,但並沒有簡單地取代以往的技術,但層層堆疊的技術積累起來成...
資料一致性的TongEASY解決之道
在客戶 伺服器結構的聯機交易處理系統中,一筆交易至少包含如下圖所示的四個過程 請求傳輸過程 服務端交易處理過程 應答傳輸過程 客戶端處理應答過程。圖表 1 交易的基本處理過程 由於網路傳輸的不可靠性,必然有 應答傳輸過程 失敗的情況。在這種情況下,就產生了服務端與客戶端交易狀態的不一致性問題 在服務...
資料中心新時代,開放網路如何使其自動化
從物理伺服器到虛擬化系統,現在資料中心又發展成可組合的基礎架構。在這種基礎架構中,像儲存和持久記憶體之類的資源已從伺服器中分離出來,原先的資料處理和聯網任務只在cpu上執行,現在演變為可在gpu dpu或fpga上執行計算。另外,軟體開發模型從單台計算機上執行的程式,演變為在整個資料中心上執行的分布...