Chuyển đến nội dung chính

第 11 課:使用 Rook-CEPH 的分散式儲存架構

Ceph架構概述(RADOS、OSD、MON、MDS、MGR),為什麼選擇Rook-Ceph用於K8s,比較儲存解決方案,規劃Ceph叢集的容量和網路。

🔒 DevSecOps — 第 11 課 第 11 課:使用 的分散式儲存架構 ROOK-CEPH

使用 Kubernetes HA 在本地部署微服務

第 3 部分:分散式儲存 — Rook-Ceph

xdev.asia

🎯 課程目標__HTMLTAG_68___

完成本課程後,您將:

  • ✅ 了解 Ceph 架構:RADOS、OSD、MON、MDS、MGR
  • ✅ 了解 CRUSH 演算法與資料置入
  • ✅ 比較 Rook-Ceph、Longhorn、OpenEBS 與本地路徑
  • ✅ 規劃 Ceph 叢集的硬體與網路
  • ✅ 了解 3 種儲存類型:區塊 (RBD)、檔案系統 (CephFS)、物件 (RGW)

第 1 部分:CEPH 架構概述

1.1。 Ceph

元件 ___程式碼區塊_0___
組件 角色 最小HA
MON(监视器) 集群映射、仲裁、身份验证 3(奇數)
MGR(经理) 指标、仪表板、编排 2(主用-备用)
OSD(对象存储守护进程) 实际数据存储、复制 3+(每个磁盘 1 个)
MDS(元資料伺服器) CephFS 元数据(仅在使用 CephFS 时需要) 2(主用-备用)
RGW(RADOS 閘道) 用於物件儲存的 S3/Swift API 2+(LB 后面)

1.2。 CRUSH 演算法

___程式碼區塊_1___

✅ 無需查表 → 擴展到艾字節 ✅ 故障域感知(机架、主机、数据中心) ✅ 客戶端直接計算資料位置


第 2 部分:ROOK — 适用于 KUBERNETES 的 CEPH 操作符

2.1。 Rook 架構

___程式碼區塊_2___

2.2。比較儲存解決方案

Criteria Rook-Ceph Longhorn OpenEBS local-path
區塊儲存 ✅ RBD ✅ ✅ ❌
檔案系統 (RWX) ✅ CephFS ❌(NFS 駭客) ❌ ❌
物件 (S3) ✅ RGW ❌ ❌ ❌
複製 3-way 3 路 3-way ❌
效能 Excellent__HTMLTAG_222___ 好 好 最佳(本地)
複雜性 High Low 平均 非常低
Min nodes 3 3 3 1
CNCF 已毕业 正在孵化 沙盒 -
最適合 生产 小簇 開發/測試 单节点

👉 Select Rook-Ceph for production on-premises: unified storage (Block + FS + Object), proven at scale, CNCF Graduated.___4MLG_288


第 3 部分:規劃 CEPH 硬體

3.1。 OSD 節點大小

___程式碼區塊_3___

3.2。容量規劃

___程式碼區塊_8___

3.3。網路規劃

___程式碼區塊_4___

⚠️ 叢集網路:最低 10Gbps,因此恢復不會影響客戶端 I/O


第 4 部分:3 種儲存類型

4.1。區塊儲存 (RBD)

___程式碼區塊_5___

✅ 資料庫(PostgreSQL、MySQL) · ✅ 有狀態應用程式 · ✅ 高 IOPS ⚠️ ReadWriteOnce — 一次只能掛載 1 個 pod

4.2。檔案系統儲存 (CephFS)

程式碼區塊_6

✅ 共享檔案儲存(多個 Pod 一起讀取/寫入) · ✅ 內容管理 · ✅ AI/ML 訓練數據

4.3。物件儲存 (RGW)

___程式碼區塊_7___

✅ 備份儲存 · ✅ 日誌存檔 · ✅ MinIO/AWS S3 替換


💡 重點

    ___HTMLTAG_307__HTMLTAG_308___Ceph = 統一儲存:1 個叢集中的區塊 + 檔案系統 + 物件 ___HTMLTAG_311__HTMLTAG_312___CRUSH演算法:無需查找表格即可計算資料位置→縮放無限__HTMLTAG_314___ ___HTMLTAG_315__HTMLTAG_316___Rook Operator:使用 CRD 管理 K8s 上的 Ceph 生命週期 ___HTMLTAG_319__HTMLTAG_320___每個 OSD 5GB RAM:仔細規劃儲存節點的記憶體 ___HTMLTAG_323__HTMLTAG_324___2 個網路:公共(客戶端)+ 叢集(複製)以分離流量 ___HTMLTAG_327__HTMLTAG_328___複製 3x:原始容量 / 3 = 可用容量

🎯 練習

練習 1:容量規劃

  • 計算可用容量:5 個節點 × 6 個 SSD × 1TB,複製=3
  • 計算 Ceph 所需的 RAM(每個 5GB OSD)
  • 繪製Ceph叢集的網路拓撲

練習 2:準備磁碟__HTMLTAG_346___
  • 辨識工作節點上未使用的磁碟:lsblk___HTMLTAG_350__HTMLTAG_351___
  • 驗證沒有分割區的磁碟: wipefs -a /dev/sdX___HTMLTAG_354__HTMLTAG_355___
  • 準備第 12 課的磁碟

📚 下一篇文章

在第12課:安裝Rook-Ceph Operator和CephCluster中,我們將部署Rook Operator並在K8s上建立CephCluster。