孫杰賢
當前,企業數據中心呈現幾個非常明顯的技術發展趨勢:首先,基于x86架構的PC服務器的計算能力越來越強,一些高端的PC服務器甚至可以媲美小型機,而購買成本和維護成本卻比小型機小得多;此外,服務器虛擬化的趨勢也非常明顯,據不完全統計,60%以上的服務器應用程序現在都是在虛擬機上運行的,這就意味著很多程序已經可以不跟硬件直接對話了;與此同時,軟件定義網絡和虛擬化存儲也大行其道,尤其在存儲領域幾乎都是軟件的天下,從光盤上的物理分區到文件的整理,從磁盤上獨立的區域到RAID組。
所有這些就促成了一個大的技術方向——軟件定義的數據中心,這也是云計算技術發展的必然結果。一件有意思的事情是,從谷歌、亞馬遜、facebook和百度等互聯網巨頭的大型云計算數據中心里,我們是找不到SAN網絡的,整個架構更加扁平和簡捷,這便是軟件的力量。
軟件重構
軟件定義數據中心用一種無處不在的抽象,能夠讓我們以一種前所未有的方式連接、匯聚和配置計算、網絡和存儲資源。最早由VMware公司提出,目前這一趨勢性定位已被各大IT巨頭所接受,并陸續推出相關解決方案。英特爾(中國)數據中心及云計算業務產品市場總監賀曉東認為,軟件定義數據中心說明了一點,“整個數據中心的建設正在從以傳統的技術為導向回歸到以人為導向這一方向上來。也就是說,現在的數據中心必須能夠對市場和業務需求做出迅速的相應,而這必須依靠軟件的力量”。他說:“海量的數據是信息社會的一個最明顯特征,然而在面對大量數據時,傳統的數據中心已經力不從心了,變革或者說重構是必然的事情。網絡、存儲、計算是數據中心三大主要資源,怎么樣能夠建立一個統一的、可擴展的,彈性擴展的,而且是高效的全新數據中心架構以達到業務的快速交付目的是重架構的出發點,軟件定義的數據中心能夠做得這一點。這意味著我們為服務器、存儲和網絡設備提供的核心硬件平臺將增添更多面向應用優化的功能和特性,并變成更為靈活的數據中心構建模塊,更易融入數據中心的IT資源池,可按用戶的應用需求隨意分配和組合。”
服務器虛擬化大家都比較熟悉,技術也非常成熟。如果我們把服務器看作是一個微型的數據中心,那么我們可以通過服務器的虛擬化來理解軟件定義的數據中心。服務器虛擬化是將服務器物理資源抽象成邏輯資源,讓一臺服務器變成幾臺甚至上百臺相互隔離的虛擬服務器,不再受限于物理上的界限,而是讓CPU、內存、磁盤、I/O等硬件變成可以動態管理的“資源池”,從而提高資源的利用率,簡化系統管理,實現服務器整合,讓IT對業務的變化更具適應力。軟件定義的數據中心也采用了類似的理念,它將網絡、存儲、計算、安全等基礎設施和可用服務進行池化、聚合,并可通過策略驅動的智能軟件進行管理,從而使數據中心服務不再受到專用硬件的束縛,擺脫傳統 IT 復雜而不靈活的困境,實現無可比擬的業務敏捷性并為所有應用提供最佳服務等級,并可大幅簡化操作以及降低成本。
如何“定義”
那么軟件具體是如何重構數據中心的呢?我們可以先從軟件定義的網絡說起。
軟件定義網絡(SDN )概念的提出早于軟件定義的數據中心,其核心理念是將網絡設備控制面與數據面分離開來,從而實現了網絡流量的靈活控制,為核心網絡及應用的創新提供了良好的平臺。由于傳統的網絡設備(交換機、路由器)的固件是由設備制造商鎖定和控制,所以SDN希望將網絡控制與物理網絡拓撲分離,從而擺脫硬件對網絡架構的限制。這樣企業便可以像升級、安裝軟件一樣對網絡架構進行修改,滿足企業對整個網站架構進行調整、擴容或升級。而底層的交換機、路由器等硬件則無需替換,節省大量的成本的同時,網絡架構迭代周期將大大縮短。
軟件定義的存儲是軟件定義的數據中心的基本組件,可對存儲資源進行抽象化處理,以支持存儲的池化、復制和按需分發。這使存儲層與虛擬化計算層非常相似,都具有聚合、靈活、高效和彈性擴展的特點。它們的優勢也如出一轍——全面降低了存儲基礎架構的成本和管理的復雜性。綜合來看,軟件定義的存儲有幾個明顯特征:以應用為中心的策略,可實現存儲使用自動化——軟件定義的存儲支持對異構存儲池中的所有資源實施一致的策略,使存儲的使用像為每個應用或虛擬機指定容量、性能和可用性要求那樣簡單。這種基于策略的自動化最大限度地利用了底層存儲資源,同時將管理開銷降至最低;與硬件無關的虛擬化數據服務——數據服務作為虛擬數據服務在軟件中交付,并按虛擬機進行調配和管理;通過硬盤和固態磁盤虛擬化確保數據持久性——隨著服務器功能的增多,軟件定義的存儲解決方案可讓企業利用廉價的行業標準計算硬件來擴大其存儲資源,同時利用固態磁盤和硬盤作為虛擬機的共享存儲,可獲得高性能、內置的恢復能力和動態可擴展性。
傳統的數據中心,應用服務器采用豎井的方式,每臺服務器上運行一個應用程序,服務器硬件以及上面的操作系統和應用以緊耦合的方式捆綁在一起。這種模式導致服務器的CPU和內存等物理計算資源利用率低。在典型的 x86 服務器部署中,平均只有總容量的 10% 到 15% 得到利用,計算資源浪費嚴重。而另一方面,為支持不斷增長的業務和應用需求,企業需要大量的服務器購置或者更新換代。軟件定義的計算便是為了解決這一矛盾。但是,軟件定義計算目前沒有統一的概念定義,分布式計算以及云計算都屬于軟件定義計算的范疇,而VMware公司認為“虛擬機”的概念就是“軟件定義計算”。
構建一個軟件定義的數據中心,主要包括兩個步驟:虛擬化數據中心里的所有資源,然后通過一個統一的管理平臺對所有資源進行管理。當前,許多用戶的數據中心環境是異構的,既包括虛擬化的設備,也包括一些因某種原因不能被虛擬化的物理設備;既包括私有云,也包括公有云。因此,軟件定義的數據中心一定要能夠支持異構云環境。硬件設備在未來的數據中心里成了一種通用化的硬件平臺,其差異化或附加價值更多地通過軟件來體現。當然,這不是說硬件本身已經不再重要,因為數據中心的計算能力、網絡能力和存儲能力最終還是要靠硬件來實現。更準確的說法是軟件定義數據中心讓硬件資源和軟件資源之間的關系變得更加緊密。而且軟件定義的數據中心不是萬能的,如果數據中心規模不大,軟件定義的概念意義并不大。
用VMware公司大中華區技術總監張振倫的一段話作為結尾——“大數據、社交化、虛擬化、資源池化等一系列的革新正席卷整個IT產業,正改變企業做生意的方式,壓縮著IT的生命周期,正以摧枯拉朽之勢逼宮傳統數據中心的重塑與革新。不管你是否喜歡,軟件定義數據中心正翩躚走來,讓我們與之共舞吧,至少為了我們IT人的綠色未來”。