數據中心技術變革使得各種創新層出不窮,開源技術也得以異軍突起。作為一種新的IT交付模式,ServerSAN正逐步走向成熟,并越來越趨于主流。九州云,作為OpenStack的擁躉,希望利用OpenStack向下突破,進一步創新Server SAN。
第三平臺的成熟正倒逼基于第二平臺時期的數據中心技術進行全面革新,不僅是底層硬件,乃至中間件及上層軟件,甚至連解決方案的交付模式都不斷創新。例如融合基礎架構產品的誕生,隨著時間的推移,從服務器、網絡與存儲的初步融合,發展為計算存儲深度融合的超融合系統。同時,數據中心技術變革也使得開源產業異軍突起,例如Hadoop、OpenStack等已經成為IT業內人士所津津樂道的話題,也使得未來的IT解決方案擁有更多的想象空間。
本文作者杜玉杰現任九州云社區業務拓展總監、OpenStack基金會董事/TryStack執行董事,他將結合當前熱門的融合基礎架構和OpenStack話題,詳解九州云公司利用開源技術在超融合系統方面的創新嘗試。
隨著Openstack的生態環境越來越成熟,依托Openstack發展的商業公司很多,商業模式也多種多樣。Openstack代表了未來數據中心云架構的一個事實標準,它的存在打破了一些原來由傳統商業廠商把持產品造成的壁壘,對傳統的數據中心的形態進行了重塑,這種變革將會導致一些舊有數據中心產品的衰落,也會發展出一些新的產品形態。總的來說,這種重塑朝著兩個方向延伸:向上突破和向下突破,大部分商業公司把重點放在了前者,九州云則試圖在后者上有所成果。
向上突破:即依托Openstack做更上層的優化整合,這是最為普遍的商業模式,它試圖在面向用戶的業務交互模式上進行改造,借此打造不同的云計算產品。以Openstack打造公有云是最顯而易見的商業模式,因為Openstack一開始之初就以AWS為模仿對象,因此諸如HPCloud、Rackspace甚至是國內的一些小型公有云提供商,以Openstack為基礎,再自定義前端用戶界面、計量統計、訂單管理和計費流程,以此對外提供公有云服務。另外一方面,以Openstack為基礎打造私有云也是向上突破的一種商業模式,這一領域主要追趕模仿VMWare,試圖通過KVM+Openstack模式替換(或者整合)既有的ESXi+vCloud組合模式,同時提供比VMware產品更為豐富的API接口和二次定制化開發可能性,來吸引客戶,目前,在這一領域的公司有專注Openstack發行版的國際巨頭Redhat、Mirantis ,也包括一些如Piston等一些積極跟進的Openstack專業服務提供商。
向下突破:即依托Openstack對更底層硬件進行重塑,通過更為深入的數據中心基礎底層架構改造,以此為客戶帶來價值。向下突破的主要驅動力,來自于傳統數據中心管理者對底層基礎架變革的渴望,互聯網公司如Google/Facebook對數據中心的改造,讓數據中心管理者看到基礎架構在管理簡化、橫向擴展和成本控制上的可能性。“計算存儲融合架構”是這種數據中心底層變革的手段之一,通過虛擬化技術和分布式文件存儲的配合,在通用X86服務器群集上搭建計算資源池和存儲資源池,節點之間通過萬兆網絡連接,整個群集通過技術手段保證可用性,任何單一節點的故障,不會影響上層計算資源和存儲資源的使用。群集內的資源調度具有一定自我調節能力,實現整體的資源負載均衡。通過分布式的設計,群集可以實現線性的橫向擴展能力,結合自動化安裝,讓群集橫向擴展(Scale-Out)變得非常容易。
“計算存儲融合架構”這一領域已經吸引越來越多的關注,新興公司Nutanix通過虛擬化技術和分布式存儲技術,在商業領域已經取得了巨大成功。VMWare等傳統虛擬化廠商也積極開發出vSAN積極應對(將本地服務器磁盤聚合到共享存儲集群中),同時VMware發布EVO:RAIL也意味著其將自身業務拓展至融合基礎架構領域。而九州云也希望通過開源技術“另辟蹊徑”,依托Openstack及其他開源產品,嘗試打造基于開源技術的“計算存儲融合架構”。
回顧“融合架構”的發展,也經歷了不同階段。最初“融合架構”技術來自一些傳統硬件進行組合,以一體機機柜的形態在市場上出現,這些融合架構在形態上簡化了設計,但深層次的技術整合不夠,很多產品“新瓶裝舊酒”,只在不同產品模塊整合上做了一定的優化,未帶來實質性的突破和變革。新興公司Nutanix則進行更深層次的整合,將計算與存儲深度融合到一個基于x86處理器的機架服務器之中,成功實現超融合系統。九州云則試圖在超融合系統的基礎之上,通過以Openstack的開源框架做進一步的突破。
Nutanix是過去十年硅谷增長最快的一家IT基礎設施初創公司,Nutanix擁有深厚的技術基因,據稱這家硅谷“新貴”很多技術人員來自Google、Facebook等互聯網公司,其在創始之初,便提出了“把類似Google的基礎架構技術帶給企業(Bringing Google-like Infrastructure to Enterprises)”的口號,其核心即是計算和存儲的融合技術,管理簡單,結合商業虛擬化平臺,實現企業基礎架構資源的極簡管理和線性向往擴展。在短短幾年時間內就獲得了長足發展,一些傳統的世界500強企業、新興的網絡公司都采用了這一產品。然而Nutanix也存在一定的局限性。
Openstack的出現,也更重要的是以Opestack為核心的其他開源生態系統(Ecosystem)里諸如分布式存儲技術、Openstack存儲插件的日漸成熟,使得“計算存儲融合架構”再往前跨越成為可能。九州云希望在這一方向發力,試圖依托OpenStack,對融合架構做進一步改進,以適用于企業自建私有云以及托管私有云等應用場景。
九州云這款稱為“計算存儲云一體機(Animbus一體機)”的產品,其設計目標是“基于Openstack和相關開源技術,打造適合企業級使用的類似Google的智能計算/存儲融合架構云平臺,簡化數據中心管理,降低數據中心成本支出”,為實現這一目標,這一產品在設計之初就遵循以下五大原則:
通用原則:產品專注在軟件層面的實現,對底層服務器和網絡設備無特殊要求
可以運行在通用的X86服務器上,無廠商鎖定和限制
可以運行在通用的萬兆交換機網絡中,對硬件交換設備無特殊要求,通過軟件控制整體網絡行為
無中心原則:系統任何節點失效都不影響整體使用,主要體現在:
任何節點都可以成為(或接管)控制器節點
任何節點都可以成為“存儲+計算”融合節點
群氓智能:整體平臺體現高度的智能調度和運維自動化,包括:
任何節點出現問題,虛擬機都可以自動修復錯誤,保證虛擬機運行
新增節點自動安裝,加入即成為資源池的一部分,接受系統調度
支持自動資源調度,根據策略實優化負載,實現整體資源使用均衡
線性橫向擴展:隨著設備的堆疊和擴容,計算資源池和存儲資源池能夠實現橫向線性(或近似線性的)擴展
業務可用性:內置整體云平臺管理界面,無需額外采購,即可擁有用戶交互界面,實現開機即可用
盡管在產品形態上,Animbus一體機與Nutanix有些類似,但在內部實現上卻有著諸多的不同。
首先九州云Animbus云一體機把重點放在了軟件解決方案的實現,而力求底層服務器的通用性。其次以Openstack為核心,通過一系列開源軟件的整合,力求在成本上更加有優勢。同時在Openstack本身架構做了穩定性和擴展性上的改良,也對上層和底層都做了一些深入的優化。
九州云將重點放在了對底層的優化之上,即前文所述的“向下突破”。由于Openstack的設計初衷并沒有對底層基礎架構有過多關注,其設計目標也并沒有把兼容融合架構作為主要方向,因此一開始九州云就對未來的產品形態做了深入研究和探討,并定義了以下設計目標:
計算管理(KVM)和存儲管理(GlusterFS/Ceph)能和上層Openstack更緊密集成
計算管理(KVM)和存儲管理(GlusterFS/Ceph)在一體機上能相互隔離,協同工作
計算管理(KVM)和存儲管理(GlusterFS/Ceph)在一體機上性能達到最優
計算管理(KVM)和存儲管理(GlusterFS/Ceph)在整個資源池中能夠智能被調度
針對以上設計目標,九州云對底層的主要技術改進:
融合架構下計算管理(KVM)和分布式存儲管理(GlusterFS/Ceph)資源隔離:計算和存儲之間由于在同一物理硬件上,因此對管理節點本身的CPU/Memory資源的使用需要做相應的限制和隔離,以免資源沖突造成整體平臺性能的下降。隔離方式可以選擇cgroup、KVM虛擬機和Docker。
融合架構下的高可用:存儲級別的高可用通過分布式存儲中設置多副本方式實現;計算資源即虛擬機的高可用,是在KVM基礎上,結合Nova Scheduler的優化,實現多節點的虛擬機在故障發生時在宿主機節點之前的切換;Openstack控制節點做了更多的改進,每個節點上都預安裝了控制節點,后端數據庫放在分布式存儲上面,保證了高可用,同時在某一控制節點發生故障時,可以隨時啟用任意節點上的控制器增加新的冗余節點
分布式存儲監控:一體機在硬件上實現了計算存儲融合,因此在監控上也需要進行更深入的集成。九州云實現了一體機的監控界面,即能夠監控計算資源池狀態,也能獲取存儲資源池信息。
存儲讀寫性能優化:對底層分布式存儲做了一些優化,包擴虛擬化層和底層分布式文件系統的通信優化,SSD的集成方式優化和不同大小文件的讀寫優化
融合架構組件部署自動化:實現了自動化部署,支持快速擴容
通用X86平臺最佳實踐建議:根據測試和實際使用結果,在底層X86服務器硬盤搭配、陣列卡選擇和網卡配置等方面給出了最佳配置建議。
除了底層的優化之外,九州云也對中層Openstack本身和上層面向用戶的交互方式做了優化。其中對中層Openstack本身的優化的目標,主要集中在如是基于最新Openstack版本提供一個更適合企業使用的穩定版本,改進包括:
Nova Scheduler優化:在“計算存儲融合一體”的架構中,如何選擇合適的節點進行負載分攤變得更加重要,九州云對Openstack調度上做了一定的優化,使得資源分配更加合理
VM高可用:實現了虛擬機的高可用,能夠在物理宿主機出現故障時進行切換
自動化安裝
Openstack服務的高可用:實現了Nova、Glance、Cinder、Keystone、Neutron等服務的高可用。
補丁修復:修復了Openstack版本中的一些缺陷。
對Openstack上層的優化的目標,是讓Openstack提供的資源池更好的服務于業務需要,主要的改進包括:
界面改進:云一體解決方案內置了一個經過優化的云管理界面,這一界面可以和Horizon界面共存,用戶可以根據需求,在原生Openstack界面或是九州云經過優化后的Animbus云平臺界面做一個選擇;
流程集成:定制化的界面包含了流程模塊,可以實現資源申請的審批;
計量數據報表統計:通過整合Ceilometer數據,對數據進行視圖展示,比如加入了如“成本中心”等,可以實現按照成本中心進行統計;
監控集成:Openstack原生平臺本身監控能力上相對薄弱,一般部署的時候都會借助第三方監控平臺諸如Nagios、Zabbix進行監控。這樣的不足是管理員需要通過登錄不同的平臺才能看到監控信息。九州云的云一體機加強了Openstack本身的監控能力,集成了最基本的監控數據;
AD集成:支持通過AD進行用戶驗證。
總體來說,九州云基于Openstack做了不少大膽的嘗試,在一些具體細節上做了很多的改進,讓Openstack在更多企業數據中心落地變得更加簡單容易。我們在向下突破方面做了相當多的工作,以Openstack為核心,挖掘基礎架構的改造可能性,推動數據中心底層形態上的變革,這些探索代表了未來數據中心演變的一個重要方向,傳統數據中心能否借助“計算存儲融合架構”,朝著架構簡單、管理高效和線性橫向擴展的架構往前推進一步,我們將拭目以待。
關于九州云:
在國內Openstack領域,九州云(99cloud)是最早的專業提供Openstack服務的公司之一,其主導推動的Trystack社區為廣大Openstack初學者提供了很好的Openstack學習平臺,在國內有一定的知名度和影響力。九州云也是國內在社區代碼的貢獻度比較靠前的公司之一,它基于Openstack研發的產品有某些獨樹一幟的地方,可以作為很好的學習研究對象。本章內容只是拋磚引玉,通過解構一家創新公司在基于Openstack為核心的“計算存儲融合架構”上的探索成果,來了解更多可以在Openstack上進行創新和變革的可能性。