新聞中心
基于Ceph對(duì)象存儲(chǔ)的分級(jí)混合云存儲(chǔ)方案
作者:佚名 2018-04-23 15:14:02
云計(jì)算
混合云 基于Ceph對(duì)象存儲(chǔ)的分級(jí)混合云存儲(chǔ)方案能夠很好的滿足使用者的需求,但是在支持?jǐn)?shù)據(jù)雙向同步、代理讀寫等功能上還要繼續(xù)完善。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、堆龍德慶ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的堆龍德慶網(wǎng)站制作公司
混合云存儲(chǔ)方案的趨勢(shì)
公有云存儲(chǔ)
- Unlimited Capacity。公有云的存儲(chǔ)服務(wù)具有易擴(kuò)展的特性,用戶可以非常方便的根據(jù)其存儲(chǔ)容量需求,對(duì)其已有的存儲(chǔ)服務(wù)的容量進(jìn)行擴(kuò)展,因此從用戶角度來說,公有云的存儲(chǔ)服務(wù) 具有***容量的特點(diǎn)。
- Low Cost。公有云的存儲(chǔ)服務(wù)采用的是即用即付的模式,而且支持按照實(shí)際使用容量進(jìn)行計(jì)費(fèi);同時(shí)也沒有對(duì)存儲(chǔ)基礎(chǔ)設(shè)施的要求,所以具有低成本的優(yōu)勢(shì)。
- Performance not Well。通過公網(wǎng)對(duì)存儲(chǔ)服務(wù)進(jìn)行訪問的網(wǎng)絡(luò)開銷,云服務(wù)商所采用的通用共享的硬件資源,以及通過虛擬化技術(shù)提供的服務(wù),使得對(duì)于公有云存儲(chǔ)服務(wù)來說,其訪問性能并不是很高。
- Security and controllability not Well。如前面說的,在公有云中,所有的硬件、軟件和其他支持性基礎(chǔ)架構(gòu)都是云服務(wù)商所擁有和管理的,并且所有組織和租戶都是共享相同的硬件、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備, 因此,從數(shù)據(jù)的安全性和可控制性角度來說,公有云的存儲(chǔ)服務(wù)并不是一個(gè)理想的選擇。
私有云存儲(chǔ)
- High Performance。私有網(wǎng)絡(luò)甚至是專線網(wǎng)絡(luò)所帶來的較小的網(wǎng)絡(luò)開銷,以及軟、硬件資源選擇上極大的靈活性,使得對(duì)于私有云存儲(chǔ)服務(wù)來說,可以提供一個(gè)優(yōu)于公有云的訪問性能。
- High Security and Controllability。對(duì)于私有云存儲(chǔ)服務(wù)來說,因?yàn)槠滠?、硬件資源不與其他組織和租戶共享,而且可以完全將服務(wù)架設(shè)在私有網(wǎng)絡(luò)中,所以可實(shí)現(xiàn)更高的控制性和安全性級(jí)別。
- Limited Capacity。對(duì)于私有云存儲(chǔ)服務(wù)來說,因?yàn)槠渌匈Y源都是自擁有的,也都需要自維護(hù),包括對(duì)存儲(chǔ)集群進(jìn)行擴(kuò)容,所以從容量角度來說,為存儲(chǔ)集群進(jìn)行擴(kuò)容,顯性和隱性成本都很高, 因此,從用戶角度出發(fā),私有云存儲(chǔ)服務(wù)并不是***容量的。
- High Cost。如前面說的,在私有云存儲(chǔ)服務(wù)中,所有的軟、硬件資源成本,存儲(chǔ)集群的運(yùn)維成本,包括數(shù)據(jù)中心的搭建、運(yùn)營(yíng),私有網(wǎng)絡(luò)甚至是專線網(wǎng)絡(luò)的搭建,集群的維護(hù)等等,這些都是 需要被納入到私有云存儲(chǔ)服務(wù)的成本中的。除此之外,不像公有云存儲(chǔ)可以按需分配容量,需要多少用多少,在私有云存儲(chǔ)中,為了滿足以后的一個(gè)可預(yù)期的***容量需求,以及 避免頻繁擴(kuò)容所帶來的高昂的運(yùn)維成本,在集群搭建時(shí),往往都會(huì)以一個(gè)規(guī)劃容量進(jìn)行搭建,這實(shí)際上就導(dǎo)致了整個(gè)存儲(chǔ)集群的使用容量會(huì)長(zhǎng)期處于一個(gè)不飽和狀態(tài),即部分存儲(chǔ) 資源會(huì)長(zhǎng)期出于一個(gè)空閑狀態(tài)。
以上兩方面,就導(dǎo)致了私有云存儲(chǔ)相較于公有云存儲(chǔ)成本較高的問題。
混合云存儲(chǔ)
- 混合云存儲(chǔ),即是將私有云存儲(chǔ)與公有云存儲(chǔ)打通,使得兩者相結(jié)合,共同對(duì)外提供存儲(chǔ)服務(wù),可以說是私有云存儲(chǔ)和公有云存儲(chǔ)所有優(yōu)點(diǎn)的集大成者。
- High Performance 。 活動(dòng)數(shù)據(jù)存儲(chǔ)在私有云存儲(chǔ)中,歸檔數(shù)據(jù)存儲(chǔ)到公有云存儲(chǔ)中。首先從性能角度來說,通過將活動(dòng)數(shù)據(jù)、會(huì)被頻繁訪問到的數(shù)據(jù)存儲(chǔ)在私有云存儲(chǔ)中,可以保證混合云存儲(chǔ)可以提供一個(gè)較高的訪問性能;
- High Security and Controllability。因?yàn)榛旌显拼鎯?chǔ)中的私有云部分的軟、硬件資源都是自擁有和獨(dú)享的,所以將重要、敏感的數(shù)據(jù)信息保存在私有云存儲(chǔ)中,可以實(shí)現(xiàn)更高的可控制性和安全性;
- Unlimited Capacity。因?yàn)榕c公有云存儲(chǔ)的互通,借由公有云存儲(chǔ)***容量的特性,混合云存儲(chǔ)也具備了***容量的特性;
- Relatively Low Cost。可以選擇將一些歸檔數(shù)據(jù)、不常訪問的數(shù)據(jù)以及訪問性能要求不高的數(shù)據(jù)存儲(chǔ)到公有云存儲(chǔ)中,在節(jié)省了私有云存儲(chǔ)部分的成本的同時(shí),還能擁有公有云存儲(chǔ)按需分配的 成本優(yōu)勢(shì),因此混合云存儲(chǔ)相較于私有云存儲(chǔ),也具有低成本的優(yōu)勢(shì)。
現(xiàn)有解決方案的局限性
混合云存儲(chǔ)相較于公有云存儲(chǔ)和私有云存儲(chǔ)會(huì)更加全面,更加完善。Ceph 的對(duì)象存儲(chǔ)針對(duì)混合云的場(chǎng)景,也相應(yīng)的提供了解決方案,即云同步Cloud Sync 功能。Ceph RGW 的 Cloud Sync 功能是基于 RGW Multisite 機(jī)制實(shí)現(xiàn)的,先看下RGW Multisite 機(jī)制。
RGW Multisite
Ceph RGW 的 Multisite 機(jī)制用于實(shí)現(xiàn)多個(gè) Ceph 對(duì)象存儲(chǔ)集群間數(shù)據(jù)同步,其涉及到的核心概念包括:
- zone: 對(duì)應(yīng)于一個(gè)獨(dú)立的集群,由一組 RGW 對(duì)外提供服務(wù)。
- zonegroup: 顧名思義,每個(gè) zonegroup 可以對(duì)應(yīng)多個(gè) zone,zone 之間同步數(shù)據(jù)和元數(shù)據(jù);
- realm: 每個(gè) realm 都是獨(dú)立的命名空間,可以包含多個(gè) zonegroup,zonegroup 之間同步元數(shù)據(jù);
Multisite 的工作機(jī)制如下:
因?yàn)?Multisite 是一個(gè) zone 層面的功能處理機(jī)制,所以默認(rèn)情況下,是 zone 級(jí)的數(shù)據(jù)同步,即配置了 Multisite 之后,整個(gè) zone 當(dāng)中的數(shù)據(jù)都會(huì)被進(jìn)行同步處理。
整個(gè) zone 層面的數(shù)據(jù)同步,操作粒度過于粗糙,在很多場(chǎng)景下都是非常不適用的。當(dāng)前,Ceph RGW 還支持通過 bucket sync enable/disable 來啟用/禁用 存儲(chǔ)桶級(jí)的數(shù)據(jù)同步,操作粒度更細(xì),靈活度也更高。
RGW Cloud Sync
基于 RGW multisite 實(shí)現(xiàn)了 Cloud Sync,支持將 Ceph 中的對(duì)象數(shù)據(jù)同步到支持 S3 接口的公有云存儲(chǔ)中,默認(rèn)為 zone 級(jí)的數(shù)據(jù)同步。由上面的介紹可知,RGW 的 Multisite 機(jī)制是用于實(shí)現(xiàn)多個(gè) Ceph 對(duì)象存儲(chǔ)集群之間、多數(shù)據(jù)中心之間數(shù)據(jù)同步的。而 zone 本身是一個(gè)抽象 的概念,那么從一個(gè)抽象程度更高的角度來看,它不單單可以代表一個(gè) Ceph 對(duì)象存儲(chǔ)集群。
RGW Cloud Sync 功能正是基于這樣的思想所實(shí)現(xiàn)的。在 Cloud Sync 框架中,slave zone 不再僅僅對(duì)應(yīng)一個(gè) Ceph 對(duì)象存儲(chǔ)集群,而是一個(gè)抽象程度更高的概念,即可以代表任何一個(gè)集群,而這個(gè)集群可以是 Ceph 對(duì)象存儲(chǔ)集群,當(dāng)然,也可以是 AWS 的 S3。 Cloud Sync 功能正是將支持 S3 接口的存儲(chǔ)集群,抽象為 slave zone 的概念,然后通過 Multisite 機(jī)制,實(shí)現(xiàn)將 Ceph 中的對(duì)象數(shù)據(jù)同步到外部對(duì)象存儲(chǔ)中。
可以通過 bucket sync enable/disable 啟用/禁用存儲(chǔ)桶級(jí)的數(shù)據(jù)同步。
Cloud Sync 的局限性
在使用 Ceph 對(duì)象存儲(chǔ)時(shí), RGW 的 Cloud Sync 功能實(shí)際上是基本可以滿足混合云存儲(chǔ)的應(yīng)用場(chǎng)景的,但就當(dāng)前 RGW Cloud Sync 功能的實(shí)現(xiàn)來說,還存在如下的局限性:
- 支持的同步粒度最細(xì)為存儲(chǔ)桶級(jí),在某些應(yīng)用場(chǎng)景下,存儲(chǔ)桶級(jí)的同步粒度是不夠靈活的;
- 時(shí)間控制,RGW Multisite 的數(shù)據(jù)同步處理是通過 RGW 自身的協(xié)程庫(kù)實(shí)現(xiàn)的,整個(gè)處理過程是異步完成的,且數(shù)據(jù)同步處理的起始時(shí)間無法人為控制,所以這個(gè)數(shù)據(jù)同步處理的時(shí)間控制不夠靈活,一些時(shí)間敏感的場(chǎng)景并不適用。
基于Ceph的分級(jí)混合云存儲(chǔ)方案UMStor
有了上面這諸多局限性,我們開始考慮能否實(shí)現(xiàn)一種管理粒度更細(xì)、時(shí)間可控性更好的機(jī)制,來提供一種更為靈活的數(shù)據(jù)管理和遷移方案。通過對(duì)象數(shù)據(jù)存儲(chǔ)分級(jí)、對(duì)象生命周期管理、自動(dòng)生成遷移等系列實(shí)踐,我們開發(fā)了一款基于Ceph的分級(jí)混合云存儲(chǔ)解決方案UMStor。
解決方案一:對(duì)象數(shù)據(jù)存儲(chǔ)分級(jí)
首先,我會(huì)介紹我們?nèi)绾卧?Ceph 對(duì)象存儲(chǔ)中實(shí)現(xiàn) Storage Class,對(duì)對(duì)象數(shù)據(jù)進(jìn)行存儲(chǔ)分級(jí)。
對(duì)存儲(chǔ)系統(tǒng)分級(jí)
為什么要對(duì)存儲(chǔ)系統(tǒng)進(jìn)行分級(jí)?我覺得可以從如下三方面進(jìn)行考慮。
存儲(chǔ)介質(zhì)
首先,在存儲(chǔ)集群當(dāng)中,出于對(duì)訪問性能、成本等因素的考慮,我們可能會(huì)同時(shí)引入 SSD 和 HDD。在這種情況下,如果不進(jìn)行存儲(chǔ)分級(jí),就可能會(huì)導(dǎo)致 某些對(duì)訪問性能要求不高的數(shù)據(jù),或是歸檔數(shù)據(jù),被存儲(chǔ)在 SSD 中,而某些對(duì)訪問性能要求較高的數(shù)據(jù)則被存儲(chǔ)在了 HDD 中,這無疑會(huì)影響數(shù)據(jù)的訪問 性能,同時(shí)也提高了數(shù)據(jù)的存儲(chǔ)成本。
存儲(chǔ)策略
- 3副本
- 2副本
- Erasure Code
那有的數(shù)據(jù)對(duì)可靠性要求很高,我們才會(huì)將其以三副本的形式進(jìn)行存儲(chǔ)??赡苡械臄?shù)據(jù),我們對(duì)它的可靠性要求沒那么高,那我們可以考慮將其以兩副本的形式進(jìn)行存儲(chǔ),節(jié)省存儲(chǔ)空間。
存儲(chǔ)提供商
- UCloud
- AWS S3
所以說,對(duì)存儲(chǔ)系統(tǒng)進(jìn)行存儲(chǔ)分級(jí),實(shí)際上是非常必要的。
RGW 數(shù)據(jù)存放規(guī)則
本身在 RGW 中,是存在 placement rule概念的,即數(shù)據(jù)的存放規(guī)則??梢栽?placement rule 中定義存儲(chǔ)桶索引數(shù)據(jù)存放的存儲(chǔ)池 index pool, 對(duì)象數(shù)據(jù)存放的存儲(chǔ)池 data pool,以及通過 Multipart 上傳大文件時(shí)臨時(shí)數(shù)據(jù)存放的存儲(chǔ)池 data extra pool。
因?yàn)?placement rule 是針對(duì)所使用的存儲(chǔ)池進(jìn)行定義,而存儲(chǔ)池是位于 zone 之下的概念,所以在 RGW 中將 placement rule 作為一個(gè) zone 級(jí)別的配置, 其作用影響的粒度為存儲(chǔ)桶級(jí),即可以指定存儲(chǔ)桶所使用的 placement rule ,那所有上傳到該存儲(chǔ)桶中的對(duì)象數(shù)據(jù)都會(huì)按照該存儲(chǔ)桶的 placement rule 定義的存放規(guī)則進(jìn)行存放。用戶可以通過為不同的存儲(chǔ)桶配置不同的 placement rule 來實(shí)現(xiàn)將不同存儲(chǔ)桶中的對(duì)象數(shù)據(jù)存放在不同的存儲(chǔ)介質(zhì)中或是使用不同的存儲(chǔ)策略。
然而,存儲(chǔ)桶級(jí)的數(shù)據(jù)存放規(guī)則,顯然不夠靈活,無法滿足某些應(yīng)用場(chǎng)景的需求。
對(duì)象數(shù)據(jù)存儲(chǔ)策略
Storage Class 這一概念,本身是 AWS S3 中的一個(gè)重要的特性。在 S3 中,每個(gè)對(duì)象都具有 “storage-class” 這一屬性,用于定義該對(duì)象數(shù)據(jù)的存儲(chǔ)策略。 在 S3 中 Storage Class 特性支持如下幾個(gè)預(yù)定義的存儲(chǔ)策略:
- STANDARD針對(duì)頻繁訪問數(shù)據(jù);
- STANDARD_IA用于不頻繁訪問但在需要時(shí)也要求快速訪問的數(shù)據(jù);
- ONEZONE_IA用于不頻繁訪問但在需要時(shí)也要求快速訪問的數(shù)據(jù)。 其他 Amazon 對(duì)象存儲(chǔ)類將數(shù)據(jù)存儲(chǔ)在至少三個(gè)可用區(qū) (AZ) 中,而 S3 One Zone-IA 將數(shù)據(jù)存儲(chǔ)在單個(gè)可用區(qū)中;
- REDUCED_REDUNDANCY主要是針對(duì)一些對(duì)存儲(chǔ)可靠性要求不高的數(shù)據(jù),通過減少數(shù)據(jù)存儲(chǔ)的副本數(shù),來降低存儲(chǔ)成本;
- GLACIER。
結(jié)合上面介紹的分布式存儲(chǔ)系統(tǒng)對(duì)存儲(chǔ)分級(jí)的需求,以及當(dāng)前 RGW 中所支持的 data placement rule 的機(jī)制,我們?cè)?Ceph 對(duì)象存儲(chǔ)中引入了 object storage class 的概念。
- 首先,我們對(duì)存儲(chǔ)池的概念進(jìn)行了更高程度的抽象,不僅可以按照當(dāng)前 Ceph 對(duì)象存儲(chǔ)支持,同時(shí):
- 可以按照不同的存儲(chǔ)介質(zhì)來劃分存儲(chǔ)池 (HDD/SSD);
- 可以按照不同的存儲(chǔ)策略(數(shù)據(jù)冗余策略)來劃分存儲(chǔ)池 (2x Replication/ 3x Replication/ Erasure Code);
- 可以把外部存儲(chǔ) (包括外部公有云存儲(chǔ)、私有云存儲(chǔ)) 抽象為存儲(chǔ)池;
? 將 RGW zone 的 placement rule 的作用范圍進(jìn)行了細(xì)粒度化的處理,使其作用到對(duì)象級(jí)別,實(shí)現(xiàn)了對(duì)象級(jí)別的存儲(chǔ)分級(jí), 即使是同一個(gè)存儲(chǔ)桶中,不同的對(duì)象數(shù)據(jù)也可以保存在不同的存儲(chǔ)池中。
解決方案二:對(duì)象生命周期管理
在實(shí)現(xiàn)了對(duì)象級(jí)別的 Storage Class 功能之后,我們開始考慮,如何實(shí)現(xiàn)數(shù)據(jù)遷移時(shí)間的可控性。 這也就是下面我們要介紹的內(nèi)容。
AWS S3 對(duì)象生命周期管理
對(duì)象生命周期管理也是 AWS S3 中一個(gè)非常重要的特性,通過為存儲(chǔ)桶設(shè)置生命周期管理規(guī)則,可以對(duì)存儲(chǔ)桶中特定的對(duì)象集進(jìn)行生命周期 管理。 當(dāng)前,AWS S3 的對(duì)象生命周期管理支持;
- 遷移處理,即支持在經(jīng)過指定的時(shí)間間隔后,或是到達(dá)某一特定時(shí)間點(diǎn)時(shí),將存儲(chǔ)桶中的特定對(duì)象集由當(dāng)前的 storage class 存儲(chǔ)類別遷移到另外 一個(gè)指定的 storage class 存儲(chǔ)類別中;
- 過期刪除處理,即支持在經(jīng)過指定的時(shí)間間隔后,或是到達(dá)某一特定時(shí)間點(diǎn)時(shí),將存儲(chǔ)桶中的特定對(duì)象集進(jìn)行清除。
RGW 對(duì)象生命周期管理
當(dāng)前,Ceph RGW 對(duì)象存儲(chǔ)實(shí)際上也支持 LC 對(duì)象生命周期管理。但是,因?yàn)?RGW 本身并不支持 object storage class / placement rule,因此其對(duì)象生命周期管理目前只支持 Expiration actions 過期刪除處理。
實(shí)現(xiàn)完整的對(duì)象生命周期管理
基于上面實(shí)現(xiàn)的 Object Storage Class,在 RGW 現(xiàn)有 LC 實(shí)現(xiàn)的基礎(chǔ)上,我們對(duì) RGW LC 的處理邏輯進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了 LC 遷移功能,支持通過對(duì)象生命周期管理,將對(duì)象數(shù)據(jù)遷移到其他存儲(chǔ)類別 storage class 中,例如支持從 SSD 遷移到 HDD,從 3 副本池遷移到 2 副本池,從副 本池遷移到糾刪碼池,從 Ceph 集群中遷移到外部 Ufile 公有云存儲(chǔ)等等,從而實(shí)現(xiàn)了完整的對(duì)象生命周期管理。
- 支持標(biāo)準(zhǔn)的 AWS S3 Object Lifecycle Management 的相關(guān)接口。
- 由上面的介紹,我們實(shí)現(xiàn)的 Storage Class 功能是支持將外部存儲(chǔ)指定為一個(gè)存儲(chǔ)類別的,因此,支持通過配置存儲(chǔ)桶的 LC 規(guī)則,將該存儲(chǔ)桶中的某一特定對(duì)象集遷移到外部存儲(chǔ)中,如 UFile、S3 等等。
相較于 RGW 的 Cloud Sync 功能,通過配置 LC 遷移規(guī)則將 Ceph 集群中的對(duì)象數(shù)據(jù)遷移到外部云存儲(chǔ)具有如下優(yōu)點(diǎn):
- 操作的粒度更細(xì),可以直接以對(duì)象為單位,對(duì)數(shù)據(jù)進(jìn)行操作;
- 時(shí)間可控,可以通過在 LC 規(guī)則當(dāng)中對(duì)操作生效的時(shí)間進(jìn)行配置指定,人為控制數(shù)據(jù)遷移的時(shí)間,時(shí)間可控性更強(qiáng);
至此,我們已經(jīng)在 Ceph 對(duì)象存儲(chǔ)的基礎(chǔ)上,實(shí)現(xiàn)了一套完整的、全粒度支持的數(shù)據(jù)遷移處理機(jī)制,從 zone 級(jí)、到 bucket 級(jí)、再到 object 級(jí)、基本可以覆蓋所有應(yīng)用場(chǎng)景的常見需求。
解決方案三:自動(dòng)生成遷移策略
存儲(chǔ)桶日志
存儲(chǔ)桶日志是用于記錄追蹤對(duì)某一特定存儲(chǔ)桶的操作和訪問的功能特性。存儲(chǔ)桶日志的每條日志記錄都記錄了一次對(duì)相應(yīng)存儲(chǔ)桶的操作訪問請(qǐng)求的細(xì)節(jié),例如請(qǐng)求的發(fā)起者、存儲(chǔ)桶名字、請(qǐng)求時(shí)間、請(qǐng)求的操作、返回的狀態(tài)碼等等。
自動(dòng)生成遷移策略
根據(jù)存儲(chǔ)桶日志中的操作記錄、以及可配置的標(biāo)尺參數(shù),對(duì)存儲(chǔ)桶中的對(duì)象數(shù)據(jù)的熱度進(jìn)行分析,并按照分析結(jié)果自動(dòng)生成遷移策略,對(duì)對(duì)象數(shù)據(jù)進(jìn)行管理。
一張圖來概要介紹下處理流程:
- 從 target bucket 中讀取存儲(chǔ)桶日志;
- 對(duì)日記記錄進(jìn)行過濾、分析,得到用戶配置的規(guī)則中所標(biāo)定的對(duì)象數(shù)據(jù)的訪問熱度;
- 生成相應(yīng)的生命周期管理規(guī)則;
- 將生成的生命周期管理規(guī)則配置到相應(yīng)的存儲(chǔ)桶上。
未來
基于Ceph對(duì)象存儲(chǔ)的分級(jí)混合云存儲(chǔ)方案能夠很好的滿足使用者的需求,但是在支持?jǐn)?shù)據(jù)雙向同步、代理讀寫等功能上還要繼續(xù)完善。
本文名稱:基于Ceph對(duì)象存儲(chǔ)的分級(jí)混合云存儲(chǔ)方案
URL網(wǎng)址:http://www.5511xx.com/article/cojcido.html


咨詢
建站咨詢
