當前位置:
首頁 > 最新 > OpenStack與ZStack深度對比:架構、部署、計算存儲與網路、運維監控等

OpenStack與ZStack深度對比:架構、部署、計算存儲與網路、運維監控等

OpenStack從2010年開源至今,已經走過8個年頭,其正在進入主流企業市場,但該項目依然面臨較難部署和管理的老問題。有一點是毫無疑問的,那就是OpenStack保持著高速增長的態勢,超過585家企業,接近4萬人通過各種方式支持著這個超過2000萬行的開源項目的持續發展。

      ZStack項目初始於2015年,相對OpenStack要年輕很多,由於其具有易用、穩定、靈活、超高性能等特點,迅速成為市場的新寵兒,其功能在不斷的完善,其性能在不斷的加強。發展以及成熟的速度遠快於OpenStack,其市場認可程度不弱於OpenStack。

介紹

      OpenStack是一個開源的雲計算管理平台項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的雲計算管理平台。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行集成。開源於2010年,當前最新版本Queens。

      ZStack是下一代開源的雲計算IaaS(基礎架構即服務)軟體。它主要面向的是未來的智能數據中心,通過提供全完善的API來管理包括計算、存儲和網路在內的數據中心的各種資源。ZStack具有易用、穩定、靈活、超高性能等特點。分為商業版以及開源社區版本。起步於2015年,當前最新版本2.5.1。

架構

      OpenStack架構圖如下圖。以前有個朋友吐槽說,這是一群小蜘蛛在結網,雖然有序,但每一個小蜘蛛的網都不盡相同。當這些網連起來的時候,就會讓人看的眼花繚亂。因為每一次的請求任務都需要在各個子系統之間來回協調,任何一處出問題,都將導致創建失敗。比如當創建虛擬機的時候,需要從認證,計算,網路,鏡像,存儲等環節都走通,否則就不要想創建一個健康運行的虛擬機。下面的圖展示出了OpenStack的主要的幾個組件的調用關係。

      消息隊列在OpenStack整個架構中扮演著至關重要的作用,正是因為OpenStack部署的靈活性、模塊的松耦合、架構的扁平化,反而使OpenStack更加依賴於消息隊列,所以消息隊列收發消息的性能和消息隊列的HA能力直接影響OpenStack的性能。最典型的場景就是如果當大量的監控數據充斥著消息隊列時,平台性能將呈現直線下滑。下圖展示出了OpenStack中消息隊列關係。

      OpenStack相比,ZStack服務之間的交互調用要簡單很多,消息隊列為核心,所有服務交互都通過消息隊列,結構拓撲呈現星狀,簡單直接,因而核心出問題就會影響到大多數的功能。但全非同步架構以及無狀態服務大大加強了平台的健壯。ZStack的強一致性使其很簡單就可以實現HA,而無需像OpenStack那樣必須藉助第三方工具實現HA高可用。下圖展示了ZStack的星形拓撲結構。

部署

      安裝一直是OpenStack的幾大難題之一,尤其是對剛接觸到OpenStack的新人而言。這也客觀上提高了大家學習OpenStack雲計算的技術門檻。筆者13年開始接觸OpenStack,有幸在公司申請到三台高配的物理伺服器一個月的使用許可權。作為一個OpenStack小白,當時的規劃是一星期的安裝,一星期的架構學習,兩星期的綜合學習,最後變成一個月都是在安裝。想想,直到現在都是滿眼心酸淚。當然這都是早時期,現在針對部署與安裝也有了很多工具,比如puppet,ansible,容器化的kolla。雖然這些工具也大大簡化了OpenStack的部署安裝,但是依然卻無法解決openstack運維的複雜度,更不用說後續新版本的升級。

      安裝部署以及升級對ZStack而言,從來都是簡單,快速,無感。ZStack自定義了ISO,封裝了網路配置以及ZStack服務管理的命令,哪怕是一個運維小白也能夠很快安裝好一個ZSack平台,不需要太長的學習周期。同時官方文檔以及案例都很齊全,有任何問題只要在官方群里留言都能獲取ZStack一線工程師快速的恢復。

計算、存儲與網路

      OpenStack的計算,存儲,網路組件分別是nova,cinder,neutron。其中nova作為最早期的項目,其成熟度已經很高,穩定性已經大大加強,功能也在不停的擴展。比如GPU支持,裸機管理,heat編排,容器編排,大數據計算等。cinder作為核心的塊存儲模塊在openstack中提供著至關重要的角色,後端支持ceph,lvm,glusterfs,nfs以及各種商業存儲,配置比較麻煩,需要更改配置文件,調試,重啟服務,甚至是更改代碼去適配對應的存儲。至於雲主機默認是不支持增量快照的,只支持全量備份功能,針對傳統的系統盤龐大的情況,會影響效率,浪費磁碟空間。

      neutron是網路管理模塊,底層支持flat,vlan,vxlan,gre等網路模式。neutron支持多種高級特性,比如vpn功能,負載均衡功能,HA功能,DVR功能。可用性還是比較強的,而且針對很多廠商的網路設備都有plugin支持。當然,neutron的效率,複雜性也是容易讓人詬病的,至今,已經有多次的代碼重構。當然,重構也不僅僅是因為代碼混亂複雜以及效率低的問題,同時也是為了能夠與openstack的其他項目,如容器的kuryr等項目更好的結合使用。

      相對而言ZStack就會簡單容易很多。ZStack在一鍵安裝之後,無論是計算,存儲還是網路,都只要在頁面控制台點擊操作相應的資源,不涉及到任何後端複雜配置修改。配置修改實時生效,也不需要重啟任何服務。ZStack計算節點頁面添加,擁有動態擴容,實時監控,自動癒合等多種特性,無需過多的人工參與。不管是開源的ceph,glusterf,nfs還是商業的Fusionstor,san光釺存儲,頁面直接添加。雲主機與雲盤都支持增量快照,全量備份功能,這一點與OpenStack完全相反。

      ZStack的網路模型是二層+三層,二層決定了是novlan,vlan,vxlan的類型,三層決定了是扁平,路由,vpc的類型。網路靈活配置。同時,物理網卡支持復用,可以創建多個同種類型的二層網路。支持分散式網路,可以緩解dns的壓力與優化東西向的流量,雲路由網路以及vpc網路是使用優化過的vyos作為平台路由器,配置簡單,支持多種高級特性,可以支持熱遷移,支持分散式,穩定性以及性能都不錯。雖然不支持HA功能,但是自愈能力強。vyos本質上是虛擬機,因此會佔一定的宿主機資源,性能與物理設備相比較而言會有部分損耗。

運維監控

      早期的OpenStack雲平台監控項目Ceilometer被一分為四(Ceilometer、Gnocchi、Aodh、Panko),各司其職!其中Ceilometer負責採集計量數據並加工預處理;Gnocchi主要用來提供資源索引和存儲時序計量數據;Aodh主要提供預警和計量通知服務;Panko主要提供事件存儲服務。促成Ceilometer分裂的主要原因是性能開銷很大,並且隨著時間的推移性能瓶頸會愈加明顯直至奔潰。至於底層運維監控可以使用zabbix,也可以集成到現有的ceilometer體系中。至今,OpenStack已經發展到Queens版本,監控依然是其性能瓶頸之一。dashboard默認沒有集成監控與告警,需要額外的自定義開發。

      ZStack的監控方案採用開源prometheus和influxdb,監控信息存儲在prometheus資料庫,告警則使用prometheus自帶的alertmanager,至於事件以及審計等信息存儲在influxdb與mysql資料庫中。平台擁有大多數的監控項,支持自定義告警項添加,但暫時還未支持模板方式批量添加監控告警項。藉助於prometheus的高效率的函數計算以及匯聚,zstack也提供了監控大屏和監控top5的功能,有助於實時分析平台的資源使用情況。當然,openstack也可以藉助prometheus或者zabbix實現類似的功能。

其他

      OpenStack是當前最流行,同時也是目前最為流行的開源雲操作系統框架。OpenStack提供的不僅僅提供IAAS的服務,同時也提供PAAS服務,不管其孵化項目是否成熟,但至少擁有了一個開放,廉價的解決方案,比如資料庫服務,容器服務,大數據處理,裸機管理,計費管理等項目。國內的也有公有雲等藉助或者借鑒OpenStack,而實現了自身的安全穩定的公有雲平台。而也有專業的OpenStack廠商實現了私有雲或混合雲平台。近幾年來,OpenStack藉助國家去IOE的策略,已經遍布多家銀行,政企以及運營商。

      相對OpenStack,ZStack依然很年輕。其核心以是私有雲與混合云為主,主要提供IAAS服務,核心代碼開源,提供企業版本。幾乎每個月都會發布一個新版本,但是升級基本不會存在任何問題,一句命令全部搞定,這一點是OpenStack遠遠比不上的。儘管如此,當前在某些方面,ZStack還是無法替代openstack相比,比如容器服務,資料庫服務,大數據管理等。至於以後ZStack是否會添加新功能,那要等以後再說。

總結

      本文主要是從運維管理,計算,存儲,網路等方面對OpenStack與ZStack進行了簡單的對比,兩者各有優劣。筆者認為,OpenStack適合有研發能力,有較高的運維能力,有PAAS甚至是SAAS需要的組織。ZStack能夠提供一整套安全可靠,方便快捷的私有雲或者混合雲環境,ZStack更加適合資源有限,沒有辦法投入太多在研發以及運維上的組織。當然,這也並不是絕對的,利用ZStack或者OpenStack實現私有雲都不乏案例。至於是選擇OpenStack還是ZStack還是要結合真實的需求。

作者:祝祥新鈦雲服運維架構師

      十年運維經驗,曾任刻通雲運維工程師、微燭雲和某互聯網金融平台首席運維架構師。擁有OpenStack、CCIE、阿里雲、ZStack等技術認證。有上萬台雲主機,PB級別分散式存儲運維經驗。熟悉各種虛擬化技術,軟硬體,網路,容器編排等技術,擁有python開發經驗。熱愛各種開源技術。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 太平洋電腦網 的精彩文章:

《數碼寶貝:生存》預告、實機演示首次公布
微星電競外設送好禮 助您暢玩一夏

TAG:太平洋電腦網 |