🎯 課程目標__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。
lsblk___HTMLTAG_350__HTMLTAG_351___
驗證沒有分割區的磁碟: wipefs -a /dev/sdX___HTMLTAG_354__HTMLTAG_355___
準備第 12 課的磁碟
📚 下一篇文章
在第12課:安裝Rook-Ceph Operator和CephCluster中,我們將部署Rook Operator並在K8s上建立CephCluster。