GlusterFS vs. Ceph:兩大主流開源存儲對比
存儲世界最近發(fā)生了很大變化。十年前,光纖通道SAN管理器是企業(yè)存儲的絕對標(biāo)準(zhǔn),但現(xiàn)在的存儲必須足夠敏捷,才能適應(yīng)在新的基礎(chǔ)架構(gòu)即服務(wù)云環(huán)境內(nèi)運(yùn)行。
GlusterFS和Ceph是在現(xiàn)代云環(huán)境中表現(xiàn)最出色的兩個(gè)敏捷存儲系統(tǒng)。
在講述GlusterFS和Ceph的相同點(diǎn)和區(qū)別之前,我們先談一談云環(huán)境中敏捷存儲的一些關(guān)鍵點(diǎn)。
縱向升級和橫向擴(kuò)展。在云環(huán)境中,很容易向服務(wù)器添加更多存儲空間和擴(kuò)展可用存儲池。Ceph和GlusterFS都符合這一需求,讓新的存儲設(shè)備可以輕松融入現(xiàn)有存儲產(chǎn)品環(huán)境。
高可用。GlusterFS和Ceph都會使用復(fù)制方法將數(shù)據(jù)同時(shí)寫入不同存儲節(jié)點(diǎn)。這種運(yùn)作模式會增加讀寫次數(shù),但同時(shí)也確保了數(shù)據(jù)的可用性。以Ceph為例,數(shù)據(jù)在默認(rèn)情況會被復(fù)制到三個(gè)不同的節(jié)點(diǎn),確保數(shù)據(jù)副本一直可用。
通用的硬件。GlusterFS和Ceph的開發(fā)基礎(chǔ)都是Linux操作系統(tǒng)(OS)。因此,對于硬件的唯一要求就是:能夠正常運(yùn)行Linux即可。由于幾乎任何商品硬件都能運(yùn)行Linux操作系統(tǒng),只要選擇這些存儲技術(shù),這些技術(shù)的使用單位就可以大幅節(jié)省硬件投入。實(shí)際上,有許多公司也正在投資專用于GlusterFS或Ceph的硬件平臺,因?yàn)閷iT優(yōu)化的硬件可以更快速高效地訪問存儲空間。
去中心化。正常的云環(huán)境絕對不會出現(xiàn)某個(gè)中心節(jié)點(diǎn)故障而引起的失效。對于存儲系統(tǒng)而言,這就意味著不應(yīng)該使用單個(gè)中央位置來保存元數(shù)據(jù)。GlusterFS和Ceph的解決方案實(shí)現(xiàn)了元數(shù)據(jù)訪問分散化,從而提高了存儲訪問的可用性和冗余性。
接下來我們來談?wù)凣lusterFS與Ceph的差異和對比。顧名思義,GlusterFS是來自Linux世界的文件系統(tǒng),并且完整遵守POSIX便攜式操作系統(tǒng)接口標(biāo)準(zhǔn)。盡管您可以輕而易舉地將GlusterFS集成到Linux的環(huán)境中,但是讓GlusterFS和Windows環(huán)境緊密配合同樣至關(guān)重要。
Ceph是一種全新的存儲方法,被定義成Swift對象存儲的一種實(shí)現(xiàn)。在對象存儲中,應(yīng)用程序不會直接寫入文件系統(tǒng),而是使用存儲設(shè)施提供的直接API訪問寫入存儲。因此,應(yīng)用程序能夠繞過操作系統(tǒng)的功能和限制。如果應(yīng)用程序已經(jīng)針對Ceph存儲編寫讀寫接口,那么應(yīng)用程序的讀寫就和操作系統(tǒng)無關(guān)。結(jié)果是,在Windows環(huán)境中集成使用Ceph存儲就和在Linux系統(tǒng)中一樣簡單。
當(dāng)然,基于API來訪問存儲并非應(yīng)用程序訪問Ceph的唯一途徑。為了實(shí)現(xiàn)最佳集成,Ceph也提供一個(gè)塊設(shè)備接口,可以在Linux環(huán)境中作為常規(guī)塊設(shè)備使用,使您能夠使用Ceph來模擬常規(guī)Linux硬盤。Ceph還有CephFS,這是一個(gè)針對Linux環(huán)境編寫的Ceph文件系統(tǒng)。
最近,SUSE已經(jīng)添加了一個(gè)iSCSI接口,使得運(yùn)行iSCSI客戶端的客戶端能像訪問任何其他iSCSI目標(biāo)一樣訪問Ceph存儲。所有這些功能使Ceph成為異構(gòu)環(huán)境的最佳選擇,而不僅僅適用于Linux操作系統(tǒng)。
綜上所述,Ceph是一個(gè)更容易集成到非Linux環(huán)境中的更靈活的產(chǎn)品。對于許多公司來說這就有足夠的理由決定在Ceph而不是GlusterFS上構(gòu)建存儲產(chǎn)品。但是對于只需運(yùn)行Linux的環(huán)境,靈活性不是重點(diǎn),所以讓我們再談?wù)勂渌浅V匾氖虑椋核俣取?/p>
在GlusterFS與Ceph的比賽中已經(jīng)有過若干次測試,目的是證明這些存儲產(chǎn)品中的某一種比另一種更快,然而迄今并沒有明顯的贏家。GlusterFS的存儲算法更快,并且由于GlusterFS在節(jié)點(diǎn)塊中使用更多的層次化組織方式,這在某些情況下可能實(shí)現(xiàn)更高的速度,特別是如果和未經(jīng)優(yōu)化的Ceph對比的話。但另一方面,Ceph也提供了豐富的定制靈活性,這足以讓Ceph與GlusterFS同樣快速,結(jié)果就是,兩者的性能對比都不夠令人信服,不足以證實(shí)自己能完全超越對方。
最后,現(xiàn)實(shí)表明,Ceph獨(dú)特的存取存儲空間的方法正在使其成為更受歡迎的技術(shù)。事實(shí)證明更多的公司正在考慮Ceph技術(shù)而不是GlusterFS,部分原因也在于GlusterFS仍然與Red Hat關(guān)系密切。例如,SUSE沒有GlusterFS的商業(yè)實(shí)施案例,而Ceph已經(jīng)被開源社區(qū)大量采用,市場上已經(jīng)出現(xiàn)多種基于Ceph的產(chǎn)品。結(jié)論就是:在GlusterFS與Ceph的競爭戰(zhàn)斗中,Ceph事實(shí)上已經(jīng)比GlusterFS略勝一籌。