基於Ceph對象存儲的分級混合雲存儲方案

2021-01-11 CSDN技術社區
混合雲存儲方案的趨勢公有雲存儲

• Unlimited Capacity。公有雲的存儲服務具有易擴展的特性,用戶可以非常方便的根據其存儲容量需求,對其已有的存儲服務的容量進行擴展,因此從用戶角度來說,公有雲的存儲服務 具有無限容量的特點。

• Low Cost。公有雲的存儲服務採用的是即用即付的模式,而且支持按照實際使用容量進行計費;同時也沒有對存儲基礎設施的要求,所以具有低成本的優勢。

• Performance not Well。通過公網對存儲服務進行訪問的網絡開銷,雲服務商所採用的通用共享的硬體資源,以及通過虛擬化技術提供的服務,使得對於公有雲存儲服務來說,其訪問性能並不是很高。

• Security and controllability not Well。如前面說的,在公有雲中,所有的硬體、軟體和其他支持性基礎架構都是雲服務商所擁有和管理的,並且所有組織和租戶都是共享相同的硬體、存儲設備和網絡設備, 因此,從數據的安全性和可控制性角度來說,公有雲的存儲服務並不是一個理想的選擇。

私有雲存儲

• High Performance。私有網絡甚至是專線網絡所帶來的較小的網絡開銷,以及軟、硬體資源選擇上極大的靈活性,使得對於私有雲存儲服務來說,可以提供一個優於公有雲的訪問性能。

• High Security and Controllability。對於私有雲存儲服務來說,因為其軟、硬體資源不與其他組織和租戶共享,而且可以完全將服務架設在私有網絡中,所以可實現更高的控制性和安全性級別。

• Limited Capacity。對於私有雲存儲服務來說,因為其所有資源都是自擁有的,也都需要自維護,包括對存儲集群進行擴容,所以從容量角度來說,為存儲集群進行擴容,顯性和隱性成本都很高, 因此,從用戶角度出發,私有雲存儲服務並不是無限容量的。

• High Cost。如前面說的,在私有雲存儲服務中,所有的軟、硬體資源成本,存儲集群的運維成本,包括數據中心的搭建、運營,私有網絡甚至是專線網絡的搭建,集群的維護等等,這些都是 需要被納入到私有雲存儲服務的成本中的。除此之外,不像公有雲存儲可以按需分配容量,需要多少用多少,在私有雲存儲中,為了滿足以後的一個可預期的最大容量需求,以及 避免頻繁擴容所帶來的高昂的運維成本,在集群搭建時,往往都會以一個規劃容量進行搭建,這實際上就導致了整個存儲集群的使用容量會長期處於一個不飽和狀態,即部分存儲 資源會長期出於一個空閒狀態。

以上兩方面,就導致了私有雲存儲相較於公有雲存儲成本較高的問題。

混合雲存儲

混合雲存儲,即是將私有雲存儲與公有雲存儲打通,使得兩者相結合,共同對外提供存儲服務,可以說是私有雲存儲和公有雲存儲所有優點的集大成者。

• High Performance 。 活動數據存儲在私有雲存儲中,歸檔數據存儲到公有雲存儲中。首先從性能角度來說,通過將活動數據、會被頻繁訪問到的數據存儲在私有雲存儲中,可以保證混合雲存儲可以提供一個較高的訪問性能;

• High Security and Controllability。因為混合雲存儲中的私有雲部分的軟、硬體資源都是自擁有和獨享的,所以將重要、敏感的數據信息保存在私有雲存儲中,可以實現更高的可控制性和安全性;

• Unlimited Capacity。因為與公有雲存儲的互通,藉由公有雲存儲無限容量的特性,混合雲存儲也具備了無限容量的特性;

• Relatively Low Cost。可以選擇將一些歸檔數據、不常訪問的數據以及訪問性能要求不高的數據存儲到公有雲存儲中,在節省了私有雲存儲部分的成本的同時,還能擁有公有雲存儲按需分配的 成本優勢,因此混合雲存儲相較於私有雲存儲,也具有低成本的優勢。

現有解決方案的局限性

混合雲存儲相較於公有雲存儲和私有雲存儲會更加全面,更加完善。Ceph 的對象存儲針對混合雲的場景,也相應的提供了解決方案,即雲同步Cloud Sync 功能。Ceph RGW 的 Cloud Sync 功能是基於 RGW Multisite 機制實現的,先看下RGW Multisite 機制。

RGW Multisite

Ceph RGW 的 Multisite 機制用於實現多個 Ceph 對象存儲集群間數據同步,其涉及到的核心概念包括:

• zone: 對應於一個獨立的集群,由一組 RGW 對外提供服務。

• zonegroup: 顧名思義,每個 zonegroup 可以對應多個 zone,zone 之間同步數據和元數據;

• realm: 每個 realm 都是獨立的命名空間,可以包含多個 zonegroup,zonegroup 之間同步元數據;

Multisite 的工作機制如下:

因為 Multisite 是一個 zone 層面的功能處理機制,所以默認情況下,是 zone 級的數據同步,即配置了 Multisite 之後,整個 zone 當中的數據都會被進行同步處理。

整個 zone 層面的數據同步,操作粒度過於粗糙,在很多場景下都是非常不適用的。當前,Ceph RGW 還支持通過 bucket sync enable/disable 來啟用/禁用 存儲桶級的數據同步,操作粒度更細,靈活度也更高。

RGW Cloud Sync

基於 RGW multisite 實現了 Cloud Sync,支持將 Ceph 中的對象數據同步到支持 S3 接口的公有雲存儲中,默認為 zone 級的數據同步。由上面的介紹可知,RGW 的 Multisite 機制是用於實現多個 Ceph 對象存儲集群之間、多數據中心之間數據同步的。而 zone 本身是一個抽象 的概念,那麼從一個抽象程度更高的角度來看,它不單單可以代表一個 Ceph 對象存儲集群。

RGW Cloud Sync 功能正是基於這樣的思想所實現的。在 Cloud Sync 框架中,slave zone 不再僅僅對應一個 Ceph 對象存儲集群,而是一個抽象程度更高的概念,即可以代表任何一個集群,而這個集群可以是 Ceph 對象存儲集群,當然,也可以是 AWS 的 S3。 Cloud Sync 功能正是將支持 S3 接口的存儲集群,抽象為 slave zone 的概念,然後通過 Multisite 機制,實現將 Ceph 中的對象數據同步到外部對象存儲中。

可以通過 bucket sync enable/disable 啟用/禁用存儲桶級的數據同步。

Cloud Sync 的局限性

在使用 Ceph 對象存儲時, RGW 的 Cloud Sync 功能實際上是基本可以滿足混合雲存儲的應用場景的,但就當前 RGW Cloud Sync 功能的實現來說,還存在如下的局限性:

• 支持的同步粒度最細為存儲桶級,在某些應用場景下,存儲桶級的同步粒度是不夠靈活的;

• 時間控制,RGW Multisite 的數據同步處理是通過 RGW 自身的協程庫實現的,整個處理過程是異步完成的,且數據同步處理的起始時間無法人為控制,所以這個數據同步處理的時間控制不夠靈活,一些時間敏感的場景並不適用。

基於Ceph的分級混合雲存儲方案UMStor

有了上面這諸多局限性,我們開始考慮能否實現一種管理粒度更細、時間可控性更好的機制,來提供一種更為靈活的數據管理和遷移方案。通過對象數據存儲分級、對象生命周期管理、自動生成遷移等系列實踐,我們開發了一款基於Ceph的分級混合雲存儲解決方案UMStor。

解決方案一:對象數據存儲分級

首先,我會介紹我們如何在 Ceph 對象存儲中實現 Storage Class,對對象數據進行存儲分級。

對存儲系統分級

為什麼要對存儲系統進行分級?我覺得可以從如下三方面進行考慮。

存儲介質

首先,在存儲集群當中,出於對訪問性能、成本等因素的考慮,我們可能會同時引入 SSD 和 HDD。在這種情況下,如果不進行存儲分級,就可能會導致 某些對訪問性能要求不高的數據,或是歸檔數據,被存儲在 SSD 中,而某些對訪問性能要求較高的數據則被存儲在了 HDD 中,這無疑會影響數據的訪問 性能,同時也提高了數據的存儲成本。

存儲策略

• 3副本

• 2副本

• Erasure Code

那有的數據對可靠性要求很高,我們才會將其以三副本的形式進行存儲。可能有的數據,我們對它的可靠性要求沒那麼高,那我們可以考慮將其以兩副本的形式進行存儲,節省存儲空間。

存儲提供商

• UCloud

• AWS S3

所以說,對存儲系統進行存儲分級,實際上是非常必要的。

RGW 數據存放規則

本身在 RGW 中,是存在 placement rule概念的,即數據的存放規則。可以在 placement rule 中定義存儲桶索引數據存放的存儲池 index pool, 對象數據存放的存儲池 data pool,以及通過 Multipart 上傳大文件時臨時數據存放的存儲池 data extra pool。

因為 placement rule 是針對所使用的存儲池進行定義,而存儲池是位於 zone 之下的概念,所以在 RGW 中將 placement rule 作為一個 zone 級別的配置, 其作用影響的粒度為存儲桶級,即可以指定存儲桶所使用的 placement rule ,那所有上傳到該存儲桶中的對象數據都會按照該存儲桶的 placement rule 定義的存放規則進行存放。用戶可以通過為不同的存儲桶配置不同的 placement rule 來實現將不同存儲桶中的對象數據存放在不同的存儲介質中或是使用不同的存儲策略。

然而,存儲桶級的數據存放規則,顯然不夠靈活,無法滿足某些應用場景的需求。

對象數據存儲策略

Storage Class 這一概念,本身是 AWS S3 中的一個重要的特性。在 S3 中,每個對象都具有 「storage-class」 這一屬性,用於定義該對象數據的存儲策略。 在 S3 中 Storage Class 特性支持如下幾個預定義的存儲策略:

STANDARD針對頻繁訪問數據; STANDARD_IA用於不頻繁訪問但在需要時也要求快速訪問的數據; ONEZONE_IA用於不頻繁訪問但在需要時也要求快速訪問的數據。 其他 Amazon 對象存儲類將數據存儲在至少三個可用區 (AZ) 中,而 S3 One Zone-IA 將數據存儲在單個可用區中; REDUCED_REDUNDANCY主要是針對一些對存儲可靠性要求不高的數據,通過減少數據存儲的副本數,來降低存儲成本;

GLACIER。

結合上面介紹的分布式存儲系統對存儲分級的需求,以及當前 RGW 中所支持的 data placement rule 的機制,我們在 Ceph 對象存儲中引入了 object storage class 的概念。

首先,我們對存儲池的概念進行了更高程度的抽象,不僅可以按照當前 Ceph 對象存儲支持,同時:

◦ 可以按照不同的存儲介質來劃分存儲池 (HDD/SSD);

◦ 可以按照不同的存儲策略(數據冗餘策略)來劃分存儲池 (2x Replication/ 3x Replication/ Erasure Code);

◦ 可以把外部存儲 (包括外部公有雲存儲、私有雲存儲) 抽象為存儲池;

將 RGW zone 的 placement rule 的作用範圍進行了細粒度化的處理,使其作用到對象級別,實現了對象級別的存儲分級, 即使是同一個存儲桶中,不同的對象數據也可以保存在不同的存儲池中。

解決方案二:對象生命周期管理

在實現了對象級別的 Storage Class 功能之後,我們開始考慮,如何實現數據遷移時間的可控性。 這也就是下面我們要介紹的內容。

AWS S3 對象生命周期管理

對象生命周期管理也是 AWS S3 中一個非常重要的特性,通過為存儲桶設置生命周期管理規則,可以對存儲桶中特定的對象集進行生命周期 管理。 當前,AWS S3 的對象生命周期管理支持;

• 遷移處理,即支持在經過指定的時間間隔後,或是到達某一特定時間點時,將存儲桶中的特定對象集由當前的 storage class 存儲類別遷移到另外 一個指定的 storage class 存儲類別中;

• 過期刪除處理,即支持在經過指定的時間間隔後,或是到達某一特定時間點時,將存儲桶中的特定對象集進行清除。

RGW 對象生命周期管理

當前,Ceph RGW 對象存儲實際上也支持 LC 對象生命周期管理。但是,因為 RGW 本身並不支持 object storage class / placement rule,因此其對象生命周期管理目前只支持 Expiration actions 過期刪除處理。

實現完整的對象生命周期管理

基於上面實現的 Object Storage Class,在 RGW 現有 LC 實現的基礎上,我們對 RGW LC 的處理邏輯進行了擴展,實現了 LC 遷移功能,支持通過對象生命周期管理,將對象數據遷移到其他存儲類別 storage class 中,例如支持從 SSD 遷移到 HDD,從 3 副本池遷移到 2 副本池,從副 本池遷移到糾刪碼池,從 Ceph 集群中遷移到外部 Ufile 公有雲存儲等等,從而實現了完整的對象生命周期管理。

• 支持標準的 AWS S3 Object Lifecycle Management 的相關接口。

• 由上面的介紹,我們實現的 Storage Class 功能是支持將外部存儲指定為一個存儲類別的,因此,支持通過配置存儲桶的 LC 規則,將該存儲桶中的某一特定對象集遷移到外部存儲中,如 UFile、S3 等等。

相較於 RGW 的 Cloud Sync 功能,通過配置 LC 遷移規則將 Ceph 集群中的對象數據遷移到外部雲存儲具有如下優點:

1. 操作的粒度更細,可以直接以對象為單位,對數據進行操作;

2. 時間可控,可以通過在 LC 規則當中對操作生效的時間進行配置指定,人為控制數據遷移的時間,時間可控性更強;

至此,我們已經在 Ceph 對象存儲的基礎上,實現了一套完整的、全粒度支持的數據遷移處理機制,從 zone 級、到 bucket 級、再到 object 級、基本可以覆蓋所有應用場景的常見需求。

解決方案三:自動生成遷移策略存儲桶日誌

存儲桶日誌是用於記錄追蹤對某一特定存儲桶的操作和訪問的功能特性。存儲桶日誌的每條日誌記錄都記錄了一次對相應存儲桶的操作訪問請求的細節,例如請求的發起者、存儲桶名字、請求時間、請求的操作、返回的狀態碼等等。

自動生成遷移策略

根據存儲桶日誌中的操作記錄、以及可配置的標尺參數,對存儲桶中的對象數據的熱度進行分析,並按照分析結果自動生成遷移策略,對對象數據進行管理。

一張圖來概要介紹下處理流程:

• 從 target bucket 中讀取存儲桶日誌;

• 對日記記錄進行過濾、分析,得到用戶配置的規則中所標定的對象數據的訪問熱度;

• 生成相應的生命周期管理規則;

• 將生成的生命周期管理規則配置到相應的存儲桶上。

未來

基於Ceph對象存儲的分級混合雲存儲方案能夠很好的滿足使用者的需求,但是在支持數據雙向同步、代理讀寫等功能上還要繼續完善。

相關焦點

  • UMCloud混合雲存儲,備份、歸檔、容災一個也不能少
    通常情況下,企業用戶會從私有雲起步,然後擴展到公有雲,從而形成混合雲,這也被定義為「正向混合雲」。此時的混合雲不僅僅是基於IaaS的雲主機混合的概念,客戶同時也產生了統一資源管理、統一存儲管理和統一應用管理的需求。  今天,我們就要重點談一談混合雲模式下的統一存儲管理話題。
  • RedHat Ceph存儲——《面向生產環境的Ceph 對象網關指南》
    例如在圖形應用或者流媒體音視頻應用方面,就需要配置HBA卡、高速的順序讀取存儲介質以及更大的網絡帶寬;如果在存儲CCTV流等應用方面,可能會更關注寫入性能,可以通過將SSD作為為日誌來提供更好的寫入性能;對於4K視頻流等密集型應用,就需要考慮HBA控制器及網絡吞吐,基於HBA的控制器相比於板載控制器有較顯著的性能提升。
  • Ceph殺手鐧CRUSH和主流分布式存儲一致性哈希算法
    @OpenStack ~]# ceph osd pool get test-pool size //查詢pool的副本數size: 3Object:不論是塊存儲、對象存儲還是文件存儲,最終都是以Object形態存儲在磁碟上。
  • 分布式存儲ceph 對象存儲配置zone同步
    對數據的操作,比如創建桶中的對象,訪問對象等,可以在任意zone中 處理。zonegroup  先刪除默認的zonegroup  radosgw-admin zonegroup delete --rgw-zonegroup=default  創建一個為china的zonegroup  radosgw-admin zonegroup create --rgw-zonegroup=china --endpoints=ceph
  • 杉巖CTO邱尚高:AI+數據湖時代,對象存儲不止步於存儲
    基於數據湖構建集數據匯聚、加工、分析、利用於一體的基礎架構成為企業市場的重要趨勢。縱觀國內,不論是公有雲廠商還是私有雲廠商,紛紛基於對象存儲推出差異化的數據湖解決方案。對象存儲憑何優勢,能夠成為數據湖存儲底座的不二之選?在AI+數據湖時代,對象存儲又迎來哪些新的場景?針對上述問題,邱尚高作了系統地闡述與分享。
  • 紅帽1.75 億美元收購 Ceph 提供商 Inktank
    美國東部時間4月30號,早上8:00官網消息,Redhat以1.75億美元收購 inktank公司,inktank的主要產品是軟體定義存儲ceph解決方案。
  • 對象存儲技術架構剖析之四:NetApp StorageGRID
    由於StorageGRID具有20年歷史,其企業特性相對比較豐富,尤其其基於策略的信息生命周期管理(ILM)是其和其他產品的最大差異點。StorageGRID宣傳的客戶數和部署規模,對於一個有20年歷史的產品,這個數據量不多。不過,最近IDC的對象存儲MarketScape報告說,現在NetApp加強了對象存儲的投入和推廣,已經有幾個100PB的案例。
  • 2021年,非結構化數據的對象和文件存儲的融合將有所增加
    容器將改變存儲解決方案架構。混合雲的災難恢復方案將節省數百萬美元。 分布式文件和對象存儲軟體解決方案的領導者Scality宣布了2021年的數據存儲預測,重點關注云原生應用程式和容器化的快速增長。根據IDC的數據,到2023年,將使用雲原生方法開發和部署超過5億個數字應用程式和服務。相當於在過去40年中開發的應用程式總數之和。
  • 雅虎PB級雲對象存儲COS實踐:選擇Ceph,放棄Swift
    【編者按】面對龐大的數據量和飛快的增長速度,雅虎對象存儲需要在保證耐用性和延遲的基礎上發揮存儲成本效益,雅虎選擇了軟體定義的存儲。本文介紹了雅虎PB級雲對象存儲COS解決方案的實踐,解釋了選擇Ceph放棄Swift的原因,部署的架構及其實現,耐用性和延遲方面的優化以及未來的研發方向等。
  • IBM磁帶存儲軟硬兼濟,混合雲時代再度迎來高光時刻
    IBM從未忘記基於磁帶的存儲的價值和前景,一直保持著基於磁帶的存儲平臺內的強勁創新勢頭,也在為未來進一步幫助企業升級存儲架構而蓄力。百度智能雲採用IBM TS4500企業級存儲解決方案,以磁帶技術存儲海量歸檔數據,通過對傳統磁帶技術的顛覆性創新應用,開創了國內網際網路行業的先河。在9個月時間裡,百度智能雲用10萬盤磁帶存儲900多PB數據,將整體存儲成本降低了84%。該解決方案為百度智能雲打造下一個階梯的存儲產品帶來了能力補充,補齊了百度智能雲存儲產品矩陣的最後一塊「積木」——高性價比、長時間低頻存儲。
  • 360海量數據存儲 zeppelin設計與實現
    有了希望提供跟磁碟一樣的iSCSI 這樣接口的塊設備的需求, 就有了塊存儲, 就是ceph.  從上面可以看到和離線存儲對比, 在線存儲的需求更加的複雜, 從接口類型, 從對訪問延期的需求, 比如對於kv的接口, 我們一般希望是2ms左右, 那麼對於對象存儲的接口我們一般在10ms~20ms. 對於SQL, 我們的容忍度可能更高一些, 可以允許有100 ms.
  • 杉巖數據:對象存儲智能化的探路者
    對象存儲的應用,能使雲上創新順利嫁接到企業私有雲環境中,從技術生態來看,對象存儲對於企業IT架構轉型至關重要。對企業來說,對象存儲能解決用戶使用公有雲資源的需求,想搭建混合雲架構的需求,想構建數據湖來容納各種數據類型的需求,想做大數據分析挖掘數據價值,想用人工智慧賦能業務創新,想使用容器以及雲原生技術架構加速業務創新的需求…….在諸多場景中,對象存儲的都能發揮什麼的價值呢?
  • 混合雲、新介質與軟體定義技術:存儲正重新發明自身
    而在中端產品領域,每家廠商都在更新自己的產品組合,包括添加混合雲元素、新型存儲介質支持能力以及更強大的數據保護、管理與匯總機制以滿足陣列內分析需求。簡而言之,軟體定義技術意味著相關產品可消除硬體鎖定要求獨立銷售,而基於軟體這一描述則意味著軟體方案同硬體配套出售。
  • 河南移動的MPP大數據平臺對象存儲實踐
    這一解決方案導致:在應用端,無法實現多種數據融合分析,多並發能力不足查詢效率不高;在存儲端,計算存儲緊耦合不夠彈性,出現存儲訪問瓶頸,無法支持海量數據的按需擴展;以及更複雜的運維,更高的建設成本,逐漸難以滿足海量日誌分析的需求。
  • IDC:2019年Q1中國軟體定義存儲(SDS)及超融合存儲(HCI)系統市場分析
    從軟體定義存儲市場來看,2019年第一季度的市場增長主要是由於對象存儲細分市場的拉動力,對象存儲市場佔有率逐漸升高。IDC預測認為,軟體定義存儲的高可靠性、強兼容性、能夠實現分級存儲的優勢仍是IT替換原有存儲系統的推動力。未來五年,中國軟體定義市場將以18.9%的複合年增長率(CAGR)增長,在2023年達到19. 4億美元的市場。
  • 華為雲發布基於鯤鵬處理器全棧混合雲解決方案HCS 6.5 ,加速政企...
    日前,華為雲在2019華為雲城市峰會廣州站上,發布了全棧混合雲解決方案華為雲Stack 6.5(以下簡稱HCS 6.5)。據了解,全棧混合雲解決方案HCS 6.5是基於鯤鵬和x86平臺,提供IaaS、PaaS、DaaS等全堆棧混合雲服務能力,致力於幫助用戶用好雲、支撐業務持續上雲,對於大型政企雲化轉型將起到積極推動作用。
  • IBM Spectrum Storage軟體定義存儲未來
    事實上,IBM很早意識到軟體定義存儲的趨勢,發力全新的軟體定義基礎架構來幫助企業應對基於雲、基於全新業務的挑戰,率先對軟體定義的基礎架構制定了相應的綜合性戰略。其中,IBM Spectrum Storage系列堪稱領英產品。因為,IBM Spectrum Storage改變簡單的軟體定義存儲的定義,成就雲計算、大數據、移動互聯時代的存儲技術和存儲市場格局。
  • IBM IT基礎架構護航的「混合雲」之旅
    推出全新存儲方案,簡化容器應用,簡化混合雲存儲   今年 10月,IBM 宣布針對其存儲和現代數據保護解決方案,推出全新功能及部分增強功能,些功能的推出,主要是為了支持快速擴展的容器和 Kubernetes 生態系統(包括 Red Hat OpenShift),同時幫助企業加快通往混合雲的腳步。
  • 信息爆炸時代 數字圖書館分布式對象存儲
    存儲方案的演進  在人腦數據處理時代,數據處理由人類大腦完成,由於大腦存儲容量相對比較有限,仍然有大量數據被存儲在圖書館。當有需要的時候,人們便會到圖書館獲取更多的數據。  傳統的RAID和Scale-up的結構也阻止了EB規模可用的存儲系統誕生,傳統的RAID基於硬碟,通常一個RAID組最多包含20+塊硬碟,難以支持EB級存儲規模,同時Scale-up這種結構也決定了即使達到EB級存儲容量,性能也將成為真箇系統的短板。
  • 基於新型存儲的大數據存儲管理
    傳統硬碟基於磁性存儲機理存儲數據,快閃記憶體基於微型電容儲存電荷的機理存儲數據,存儲密度都有理論上限,而PCM基於微型相變單元存儲數據的機理使其能夠迅速超越固態盤的存儲密度,並且在未來還有更大的提升空間。IBM公司把PCM這一類具有DRAM的存取性能,同時又具有持久存儲能力的介質稱為存儲級主存(storage class memory,SCM)[10,11]。