2026年01月20日/ 浏览 8
"想象你在宿舍组装乐高千年隼:
步骤1:拆开包装(安装依赖)步骤2:拼装底盘(部署Monitors)步骤3:添加引擎(配置OSD)步骤4:启动光速(集群初始化)
Ceph部署就像这个过程,只不过你搭建的是数据宇宙飞船!"
工具
适用场景
核心优势
学习曲线
Cephadm
生产环境
全生命周期管理
中等
Rook
Kubernetes集成
云原生友好
较高
Ansible
传统数据中心
灵活定制
较低
选择建议:
初学者:从Cephadm开始,官方推荐工具云原生用户:直接使用Rook,与K8s无缝集成批量部署:Ansible Playbook适合大规模集群环境要求:
1台Linux服务器(Ubuntu 20.04+)至少2块磁盘(1块系统盘,1块数据盘)4GB内存,2核CPU部署步骤:
# 1. 安装依赖 sudo apt update sudo apt install -y docker.io python3-cephadm # 2. 启动Bootstrap节点 sudo cephadm bootstrap --mon-ip 192.168.1.100 # 3. 添加所有可用磁盘为OSD sudo ceph orch apply osd --all-available-devices # 4. 验证集群状态 sudo ceph -s预期输出:
cluster: id: 3e8f5c6a-1b2c-4d3e-9f0a-8b7c6d5e4f3a health: HEALTH_OK services: mon: 1 daemons, quorum node1 mgr: node1.vkrptz(active, since 2m) osd: 3 osds: 3 up (since 1m), 3 in (since 1m)推荐拓扑:
Monitor节点:3台(奇数台,防止脑裂)OSD节点:至少3台,每台4-12块数据盘RGW/MDS节点:按需扩展网络规划:
网络类型
带宽要求
用途
公共网络
10GbE
客户端访问、API调用
集群网络
25GbE/100GbE
数据复制、心跳检测
硬件配置建议:
组件
配置要求
备注
Monitor
16核CPU/64GB内存/SSD系统盘
高可用需3台
OSD
24核CPU/128GB内存/HDD数据盘
每节点4-12块盘
RGW
32核CPU/256GB内存/NVMe缓存盘
支持S3接口
现象:
HEALTH_WARN clock skew detected on mon.node1, mon.node2解决:
# 1. 安装NTP服务 sudo apt install chrony -y # 2. 配置NTP服务器 sudo nano /etc/chrony/chrony.conf # 添加: server ntp.aliyun.com iburst server time.google.com iburst # 3. 重启服务 sudo systemctl restart chrony # 4. 强制同步 sudo chronyc makestep排查步骤:
检查磁盘状态:lsblk # 确认磁盘未挂载查看Ceph设备列表:sudo ceph orch device ls手动添加OSD:sudo ceph orch daemon add osd node1:/dev/sdb步骤:
# 1. 创建本地集群 minikube start --nodes 3 --driver=docker # 2. 部署Rook Operator kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/deploy/examples/crds.yaml kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/deploy/examples/common.yaml kubectl apply -f https://raw.githubusercontent.com/rook/rook/master/deploy/examples/operator.yaml # 3. 创建CephCluster cat <<EOF | kubectl apply -f - apiVersion: ceph.rook.io/v1 kind: CephCluster metadata: name: rook-ceph namespace: rook-ceph spec: dataDirHostPath: /var/lib/rook mon: count: 3 storage: useAllNodes: true useAllDevices: true EOF验证部署:
kubectl -n rook-ceph get pods # 查看Pod状态 kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph status # 检查集群健康启用Dashboard:
# 1. 启用模块 ceph mgr module enable dashboard # 2. 创建管理员用户 ceph dashboard set-login-credentials admin mypassword # 3. 访问Dashboard https://<monitor-ip>:8443功能亮点:
实时监控:集群健康、性能指标配置管理:存储池、OSD、RGW设置日志查看:集中化日志检索通过本篇,可以掌握从单节点实验到多节点生产的Ceph部署全流程。记住:
实验环境:Cephadm快速上手生产环境:严格规划网络与硬件云原生场景:Rook是首选方案下篇预告
:
《第三篇:解剖Ceph OSD——数据世界的搬运工》将深入探讨:OSD工作原理与性能优化Bluestore引擎的黑科技故障恢复与数据重建机制