Ceph物件儲存多站點複製:第一部分

新鈦雲服已累計為您分享829篇技術乾貨
在本系列文章中,我們將透過詳細的實踐案例,指導大家如何配置和最佳化Ceph物件儲存解決方案中最核心的複製功能。我們將重點介紹Reef版本中新增的多站點複製增強特性,幫助使用者構建更強大、更可靠的分散式儲存系統。
本系列文章將涵蓋以下核心主題:
  • Ceph物件儲存多站點複製入門——深入解析多站點複製的基本概念和核心價值
  • Ceph物件多站點架構與配置指南——詳細講解系統架構設計原理與最佳實踐配置方案
  • Reef版本效能最佳化:複製同步公平性——重點介紹新版本在複製效能方面的突破性改進
  • RGW服務負載均衡:Ceph Ingress服務部署——手把手指導如何實現高可用、高效能的服務部署
  • Ceph物件多站點同步策略——深入探討靈活高效的同步策略配置方案
  • Ceph物件儲存歸檔區域——全面解析歸檔儲存的最佳實踐與實施方法
在資料保護領域,複製、災難恢復、備份和恢復策略的選擇直接影響著業務連續性。不同的策略對應著不同的服務級別協議(SLA),特別是在恢復時間目標(RTO)和恢復點目標(RPO)方面表現出顯著差異。
以複製策略為例,同步複製能夠實現最低的RPO,理論上可以達到零資料丟失。Ceph透過跨資料中心的叢集擴充套件能力,能夠實現高效的站點間同步複製。相比之下,非同步複製雖然接受非零RPO,但在大規模分散式場景下展現出更好的擴充套件性和成本效益。
Ceph為每種儲存模式(物件、塊和檔案)都提供了專門的非同步複製機制。其中,物件儲存的非同步多站點複製透過將資料跨叢集複製,為地理分散式部署提供了強大的支援。本系列文章將重點探討物件儲存的多站點非同步複製方案,解析其在分散式環境下的最佳實踐。
01
Ceph 物件儲存多站點複製
在深入技術細節之前,讓我們先概覽Ceph物件儲存(RGW)的核心能力:它提供了一套成熟完善的企業級地理複製解決方案。RGW的多站點複製機制支援跨區域部署,無論是單一區域還是多區域架構,都能實現高效的非同步物件複製。得益於非同步複製和最終一致性模型的設計,Ceph物件儲存能夠在廣域網(WAN)環境下保持卓越的效能表現。
Ceph 物件儲存多站點複製為企業帶來了顯著優勢,尤其是那些需要跨多個地理位置儲存和管理海量資料的企業。以下是其主要優勢:
提高資料可用性,多區域支援
Ceph物件儲存支援地理分散式叢集部署,顯著提升資料可用性。透過最終一致性模型的非同步複製機制,有效規避硬體故障、自然災害等風險,同時無需嚴格網路延遲要求,確保業務連續性。
Active/Active複製架構
採用Active/Active複製架構,支援多終端使用者就近訪問。使用者可透過最近的RGW(S3)端點進行併發讀寫操作,實現資料雙向同步。這種設計不僅提升了資料訪問速度,還大幅降低了系統停機風險。
值得注意的是,只有區域組中指定的主區域接受元資料更新。例如,在建立使用者和儲存桶時,非主區域上的所有元資料修改都將轉發到配置的主區域。如果主節點發生故障,則必須觸發手動主區域故障轉移。
彈性擴充套件能力
多站點複製架構賦予系統卓越的擴充套件性。企業可根據業務需求靈活新增新站點或叢集,實現儲存基礎設施的無縫擴充套件,完全規避容量瓶頸和效能限制。
Realm, Zonegroups 以及 Zones
Ceph 物件儲存多站點叢集由領域(Realm), 區域組(Zonegroup) 以及 區域(Zone) 組成:
  • Realm定義了跨多個Ceph儲存叢集的全域性名稱空間,確保在整個分散式系統中的物件標識唯一性。
  • 每個Zonegroup可以包含一個或多個zone,作為邏輯分組單元,管理特定地理範圍內的儲存資源。
  • zones是Ceph多站點配置的最小單元,由單個Ceph叢集內的一個或多個物件閘道器(RGW)組成,負責具體的儲存操作和資料服務。
如下圖所示,Ceph物件儲存的多站點複製發生在Zone級別。在一個典型的配置中,我們擁有一個全域性Realm和多個Zonegroup。Realm級別的全域性物件名稱空間確保了跨Zonegroup和Zone的物件ID唯一性。
每個儲存桶由其建立時所在的Zonegroup擁有,其物件資料僅會複製到該Zonegroup的其他區域。當其他Zonegroup接收到該儲存桶的資料請求時,系統會自動將請求重定向到儲存桶所在的Zonegroup進行處理。
在Ceph物件儲存叢集中,您可以配置一個或多個獨立的領域(Realm)。每個領域都是一個自包含的全域性物件名稱空間,這意味著:
  • 每個領域都維護著獨立的使用者、儲存桶和物件集合
  • 同一領域內不允許存在同名儲存桶
  • 領域之間完全隔離,互不影響
Ceph物件儲存還提供了租戶(Tenant)概念,用於實現S3名稱空間的進一步隔離。雖然租戶機制不在本系列討論範圍內,但可以透過官方文件深入瞭解這一特性。
如圖所示,我們展示了一個典型的多領域配置場景。兩個獨立的領域分別擁有自己的區域組和複製區域,形成了完全隔離的名稱空間體系。這種架構設計為不同業務單元或客戶群體提供了安全的資料隔離方案。
每個區域代表一個 Ceph 叢集,一個區域組中可以有一個或多個區域。配置後,多站點複製將在區域之間進行。在本系列部落格中,我們將僅在一個區域組中配置兩個區域,但可以在單個區域組中配置更多數量的複製區域。
Ceph 多站點複製策略
Ceph物件儲存新版本引入了革命性的"多站點同步策略",實現了細粒度的儲存桶級別複製控制。這一創新特性為使用者帶來了前所未有的靈活性和成本最佳化空間,同時解鎖了多項關鍵複製功能:
核心功能亮點
  • 儲存桶級複製控制
    使用者可針對單個儲存桶獨立啟用或停用同步功能,實現對複製工作流的精確控制。
  • 選擇性複製機制
    支援全區域複製的同時,可靈活排除特定儲存桶,實現更精細的資源管理。
  • 多目標複製架構
    單個源儲存桶可同時向多個目標儲存桶進行資料複製,滿足複雜業務場景需求。
  • 靈活資料流配置
    支援按儲存桶配置對稱或定向資料流,實現最最佳化的資料同步方案。
下圖展示了同步策略功能在實際應用中的典型場景。
02
Ceph 多站點配置
自Quincy版本起,Ceph引入了一個全新的rgw管理器模組,整合在cephadm編排器中。該模組顯著簡化了多站點複製的配置流程。本節將指導您如何使用rgw管理器模組,透過命令列介面(CLI)在兩個獨立Ceph叢集(每個叢集作為一個區域)之間配置物件儲存多站點複製。
注意:從Reef版本開始,多站點配置也可透過Ceph UI/儀表板完成。雖然本指南主要使用CLI方式,但可以在官方文件中找到圖形化配置的相關資訊。
在我們的示例配置中,採用以下邏輯架構:
  1. 領域(Realm):命名為multisite
  2. 區域組(Zonegroup):命名為multizg
  3. 區域(Zone):包含zone1和zone2兩個區域
每個區域代表一個地理分佈的資料中心內的獨立Ceph叢集。下圖展示了該多站點配置的邏輯架構示意圖:
1. 叢集配置說明(作為實驗環境部署,我們採用了一個精簡的配置方案):
節點配置:每個Ceph叢集包含4個節點
儲存配置:每個節點配置6個OSD
服務部署:每個叢集部署4個RGW服務(每個節點1個)
2. 服務角色分配:
客戶端服務:2個RGW專門處理S3客戶端請求
複製服務:其餘RGW負責多站點複製操作
3. 網路通訊機制:
Ceph物件儲存的多站點複製資料透過RGW服務使用HTTP協議在叢集間傳輸。這種設計帶來了顯著的網路優勢:我們只需在需要配置多站點的Ceph叢集(區域)之間啟用HTTP通訊即可。
下圖展示了我們將逐步配置的最終架構示意圖。
在我們的示例配置中,客戶端SSL連線將在每個站點的負載均衡器層終止。RGW服務之間的所有通訊將使用純HTTP協議。
在配置TLS/SSL時,我們可以選擇在負載均衡器層或RGW服務層終止客戶端到S3端點的加密連線。雖然理論上可以同時採用兩種方式(即在負載均衡器和RGW之間重新加密),但目前Ceph ingress服務尚不支援這種配置方案。
在接下來的第二篇文章中,我們將詳細介紹如何在Ceph叢集之間建立多站點複製,具體步驟將基於下圖所示的架構展開
但在開始配置 Ceph 物件儲存多站點複製之前,我們需要提供更多有關初始狀態的上下文。我們部署了兩個 Ceph 叢集,第一個叢集的節點為ceph-node-00ceph-node-03 ,第二個叢集的節點為ceph-node-04ceph-node-07
[root@ceph-node-00 ~]# ceph orch host lsHOST ADDR LABELS STATUSceph-node-00.cephlab.com 192.168.122.12 _admin,osd,mon,mgrceph-node-01.cephlab.com 192.168.122.179 osd,mon,mgrceph-node-02.cephlab.com 192.168.122.94 osd,mon,mgrceph-node-03.cephlab.com 192.168.122.180 osd4 hosts in cluster[root@ceph-node-04 ~]# ceph orch host lsHOST ADDR LABELS STATUSceph-node-04.cephlab.com 192.168.122.138 _admin,osd,mon,mgrceph-node-05.cephlab.com 192.168.122.175 osd,mon,mgrceph-node-06.cephlab.com 192.168.122.214 osd,mon,mgrceph-node-07.cephlab.com 192.168.122.164 osd4 hosts in cluster
核心Ceph服務已完成部署,包括Ceph的可觀測性元件棧,但目前尚未部署RGW服務。所有Ceph服務均以容器化方式執行在RHEL系統上,透過Podman進行管理。
[root@ceph-node-00 ~]# ceph orch lsNAME PORTS RUNNING REFRESHED AGE PLACEMENT alertmanager ?:9093,9094 1/1 6m ago 3w count:1 ceph-exporter 4/4 6m ago 3w * crash 4/4 6m ago 3w * grafana ?:3000 1/1 6m ago 3w count:1 mgr 3/3 6m ago 3w label:mgr mon 3/3 6m ago 3w label:mon node-exporter ?:9100 4/4 6m ago 3w * osd.all-available-devices 4 6m ago 3w label:osd prometheus ?:9095 1/1 6m ago 3w count:1[root@ceph-node-00 ~]# ceph versionceph version 18.2.0-131.el9cp (d2f32f94f1c60fec91b161c8a1f200fca2bb8858) reef (stable)[root@ceph-node-00 ~]# podman inspect cp.icr.io/cp/ibm-ceph/ceph-7-rhel9 | jq .[].Labels.summary"Provides the latest IBM Storage Ceph 7 in a fully featured and supported base image."# cat /etc/redhat-release Red Hat Enterprise Linux release 9.2 (Plow)
03
總  結
在本系列的第一部分中,我們全面探討了Ceph物件儲存多站點複製的核心特性和架構設計。透過深入解析多站點複製的工作原理、配置要素和最佳實踐,為後續的實際配置奠定了堅實基礎。
如有相關問題,請在文章後面給小編留言,小編安排作者第一時間和您聯絡,為您答疑解惑。
    推薦閱讀   

    推薦影片    

相關文章