您好,登錄后才能下訂單哦!
小編給大家分享一下Ceph與OpenStack的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
6.1 Ceph在OpenStack中的地位
對于一個(gè)IaaS系統(tǒng),涉及到存儲的部分主要是塊存儲服務(wù)模塊、對象存儲服務(wù)模塊、鏡像管理模塊和計(jì)算服務(wù)模塊。具體針對OpenStack而言,則分別對應(yīng)為其中的Cinder、Swift、Glance和Nova四個(gè)項(xiàng)目[1]。
在塊存儲服務(wù)部分,Ceph目前是Cinder項(xiàng)目的默認(rèn)存儲后端。前已述及,Red Hat也已經(jīng)利用自己在KVM/QEMU社區(qū)中的影響力,將RBD驅(qū)動直接集成在QEMU中。這樣,虛擬機(jī)訪問基于RBD實(shí)現(xiàn)的塊設(shè)備的性能將得到優(yōu)化。
在對象存儲部分,Swift是OpenStack自帶的對象存儲實(shí)現(xiàn)方案。但Ceph也已經(jīng)成為了Swift最強(qiáng)有力的競爭對手。目前Swift也在考慮采用Ceph作為自己的存儲后端。關(guān)于Ceph和Swift的故事將在6.2節(jié)詳細(xì)展開。
在鏡像管理部分,目前Glance已經(jīng)支持將Ceph作為自己的本地鏡像文件緩存。
在計(jì)算服務(wù)部分,United Stack目前正在推動將Ceph FS作為Nova計(jì)算節(jié)點(diǎn)的本地文件系統(tǒng)。
整體而言,Ceph事實(shí)上是目前OpenStack生態(tài)系統(tǒng)中呼聲最高的開源存儲解決方案。這一點(diǎn)從筆者在OpenStack 2013 HongKong Summit上的親身體驗(yàn)可以得到印證。目前,以HP、Dell、Intel等為代表的企業(yè)IT領(lǐng)導(dǎo)廠商,和以Mirantis、eNovance、 United Stack為代表的若干OpenStack社區(qū)新興廠商,都將Ceph作為重要的乃至于首選的開源存儲解決方案。
筆者認(rèn)為,Ceph之所以在誕生多年不溫不火的情況下,迅速在OpenStack社區(qū)中受到關(guān)注,除了其他一些明顯優(yōu)點(diǎn)之外,應(yīng)該還是和其支持統(tǒng)一存儲的能力有關(guān)。這一特性恰恰是OpenStack社區(qū)所需要的。
OpenStack 項(xiàng)目設(shè)計(jì)的準(zhǔn)則之一就是靈活可擴(kuò)展。同時(shí),其各個(gè)成員項(xiàng)目的背景也不盡相同。這也就導(dǎo)致各個(gè)項(xiàng)目在涉及存儲系統(tǒng)時(shí)所采取的選擇各有差異。但是,這一現(xiàn)狀勢必導(dǎo)致OpenStack的部署和運(yùn)維面臨一定的挑戰(zhàn)。特別是對于一些規(guī)模不大的OpenStack部署實(shí)例,如果讓塊存儲、對象存儲、鏡像緩存、計(jì)算節(jié)點(diǎn)本地存儲等模塊分別采用三四種不同的后端解決方案,則一方面其部署十分麻煩,另一方面運(yùn)維人員的后續(xù)工作也很繁瑣。在這種情況下,如果能夠采用Ceph 作為一種統(tǒng)一存儲后端,則確實(shí)可以有效緩解這一問題。當(dāng)然,這只是筆者的一家直言。任何技術(shù)選擇必然都有其復(fù)雜的背后原因,這里的信息僅供參考。
6.2 Ceph與Swift:不能不說的故事,不能不作的比較
首先對Swift項(xiàng)目的來龍去脈進(jìn)行簡單介紹,以便大家更好地了解這個(gè)項(xiàng)目的特性,及其背后隱藏的原因。此處關(guān)于Swift的信息主要引自[2]。
Swift 最早起源于2008年,本來是Rackspace公司內(nèi)部開發(fā)的用于支撐其公有云對象存儲業(yè)務(wù)的后端系統(tǒng)。當(dāng)時(shí),Amazon的S3服務(wù)已經(jīng)頗受歡迎,因此,Rackspace決定開發(fā)Swift以提供對應(yīng)業(yè)務(wù)作為回應(yīng)。也正是因?yàn)檫@個(gè)原因,Swift的設(shè)計(jì)目標(biāo)十分純粹,就是一個(gè)優(yōu)秀的、可以和S3相媲美的對象存儲系統(tǒng)。其他要求純屬多余,因此完全不在Swift開發(fā)者的考慮之列。
Swift 的開發(fā)大致歷時(shí)一年,并在Rackspace成功上線運(yùn)營。此后,OpenStack項(xiàng)目于2010年正式發(fā)布。Rackspace貢獻(xiàn)了Swift,而 NASA貢獻(xiàn)了Nova,二者成為了OpenStack最早的兩個(gè)項(xiàng)目。其后,若干Swift開發(fā)團(tuán)隊(duì)的核心成員獨(dú)立創(chuàng)業(yè),成立了SwiftStack公司,依然活躍在相關(guān)社區(qū)。
由此可見,Swift正是一個(gè)典型的起源于公司內(nèi)部的、作為正式產(chǎn)品開發(fā)的開源項(xiàng)目。從這一點(diǎn)而言,Swift和“學(xué)院范兒”的Ceph可謂截然不同。也正是因?yàn)檫@個(gè)原因,Swift獲得了一個(gè)得天獨(dú)厚的優(yōu)勢:不缺啟動用戶,一開始就有生產(chǎn)環(huán)境下的大規(guī)模部署應(yīng)用案例。事實(shí)上,相對成熟、web場景下應(yīng)用案例多,是Swift社區(qū)目前依然反復(fù)強(qiáng)調(diào)的一個(gè)優(yōu)勢。
從技術(shù)上講,Swift的特點(diǎn)主要體現(xiàn)在設(shè)計(jì)目標(biāo)明確,就是要做一個(gè)純粹的對象存儲系統(tǒng),因此不會考慮Ceph所強(qiáng)調(diào)的統(tǒng)一存儲特性。同時(shí),為了便于和其他項(xiàng)目、應(yīng)用集成,Swift選擇了Python語言進(jìn)行開發(fā)。
與之相比,Ceph同時(shí)考慮了對象存儲、塊存儲和文件系統(tǒng)存儲能力,且目前在OpenStack中應(yīng)用最多的場景事實(shí)上是塊存儲。同時(shí),Ceph在選擇開發(fā)語言時(shí),很可能主要考慮的是性能因素,因而選擇了C++語言。而能夠被用于塊存儲場景這一點(diǎn),也部分印證了其性能確實(shí)比較優(yōu)秀。
由此可見,Ceph和Swift的區(qū)別,本質(zhì)上是由其產(chǎn)生背景和應(yīng)用目標(biāo)所導(dǎo)致的。對這二者進(jìn)行對比,并進(jìn)行技術(shù)上的評判,并不非常公平。
事實(shí)上,作為開源分布式存儲系統(tǒng)中的兩個(gè)優(yōu)秀代表,Ceph和Swift的設(shè)計(jì)和特性之中,也有著不少的相通之處:
首先,二者都強(qiáng)調(diào)良好的可擴(kuò)展性,因此都采用了無中心點(diǎn)結(jié)構(gòu)。只不過Swift的架構(gòu)中有元數(shù)據(jù)服務(wù)器,只是通過多節(jié)點(diǎn)擴(kuò)展的方式盡可能解決了其可靠性和性能顧慮。
第二,二者都能提供可配置的高可靠性。在兩者的集群中,數(shù)據(jù)的備份數(shù)都可以選擇,在常見生產(chǎn)環(huán)境中,也都使用三備份的方式。
第三,二者都強(qiáng)調(diào)自動化的集群管理。Swift同樣引入了自動化的集群維護(hù)能力。
由此可見,簡單地強(qiáng)調(diào)這兩者之中的某一個(gè)更為優(yōu)秀,是不合理的,也是沒有實(shí)際意義的。
當(dāng)然,在實(shí)際使用中,畢竟還是需要進(jìn)行方案選擇。結(jié)合[3]文中的觀點(diǎn),筆者認(rèn)為,合適的選擇或許如下:
*如果需要一個(gè)純粹的對象存儲系統(tǒng),則選擇Swift;
*如果需要一個(gè)純粹的塊存儲系統(tǒng),則只能選擇Ceph;
*如果是一個(gè)小規(guī)模的、希望控制系統(tǒng)復(fù)雜度的OpenStack部署方案,則選擇Ceph;
*如果是一個(gè)規(guī)模較大的系統(tǒng),塊存儲和對象存儲分別有較大的業(yè)務(wù)需求,則可以考慮將二者分離,分別采用Ceph和Swift。
以上是“Ceph與OpenStack的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。