一、Ceph 组件矩阵
二、CRUSH 算法深度解析
- 算法核心流程
# CRUSH 伪代码逻辑简化版
def CRUSH(input_obj):
hash = calc_hash(input_obj) # 计算对象哈希
pg_id = hash % pg_num # 映射到PG
osd_list = [] # 目标OSD列表
# 根据CRUSH Map规则选择OSD
for rule_step in crush_rules:
if rule_step == 'take bucket':
current = root_bucket
elif rule_step == 'select leaf':
osd = select_item(current, pg_id)
osd_list.append(osd)
return osd_list
- CRUSH Map 典型配置
# 定义故障域层级
ceph osd crush add-bucket rack1 rack
ceph osd crush move rack1 root=default
ceph osd crush add-bucket host1 host
ceph osd crush move host1 rack=rack1
# 设置副本规则
ceph osd crush rule create-replicated replicated_rule default host
三、Ceph 集群部署实战
- 使用 cephadm 部署流程
# 初始化集群(首个节点)
cephadm bootstrap --mon-ip 192.168.1.100
# 添加OSD节点
ceph orch host add node2
ceph orch daemon add osd node2:/dev/sdb
# 验证集群状态
ceph -s
- 存储池配置优化
# 创建纠删码池
ceph osd pool create ec_pool 64 64 erasure
ceph osd erasure-code-profile set myprofile \
k=4 m=2 crush-failure-domain=host
# 设置缓存分层
ceph osd tier add cold_pool hot_pool
ceph osd tier cache-mode hot_pool writeback
四、性能调优关键参数
- OSD 优化配置
# /etc/ceph/ceph.conf 关键参数
[osd]
osd journal size = 20480 # 日志大小20GB
filestore max sync interval = 5 # 最大同步间隔
osd op threads = 8 # 并发操作线程
osd disk threads = 4 # 磁盘IO线程
- 网络优化方案
# 分离集群网络与公网
ceph config set global cluster_network 10.1.0.0/24
ceph config set global public_network 192.168.1.0/24
# 启用RDMA加速
ceph osd pool set default ms_type async+rdma
五、OpenStack 集成实践
- Ceph 作为后端存储
# 创建 Cinder 卷类型
openstack volume type create ceph-ssd
openstack volume type set ceph-ssd \
--property volume_backend_name=ceph-ssd
# Nova 配置镜像存储
glance stores update --add description="Ceph Store" \
--add type=rbd \
--add properties="rados_ceph_conf=/etc/ceph/ceph.conf, rbd_user=glance"
- 多存储池分配策略
# cinder.conf 配置示例
[ceph-ssd]
volume_backend_name = ceph-ssd
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes_ssd
rbd_ceph_conf = /etc/ceph/ceph.conf
六、故障排查工具箱
- 健康状态诊断
# 检查PG状态
ceph pg dump_stuck inactive|unclean|stale
# 查看OSD心跳
ceph daemon osd.0 perf dump | grep heartbeat
# 分析慢请求
ceph osd perf
- 数据恢复操作
# 替换故障OSD
ceph osd out osd.3
ceph osd crush remove osd.3
ceph auth del osd.3
ceph osd rm osd.3
# 触发PG重平衡
ceph osd reweight-by-utilization
通过掌握 Ceph 的深度配置与优化技能,考生不仅能够应对 RHCA-CL260 认证考核,更能构建高可用、高性能的企业级存储解决方案。
欢迎在评论区或私信我提交您的 Ceph 实践案例或技术疑问!