CEPH
一、服务管理与启停
批量管理服务
按服务类型管理:
启动MON:systemctl start ceph-mon.target
启动OSD:systemctl start ceph-osd.target
启动RGW:systemctl start ceph-radosgw.target。
关闭集群前需设置标志位防止数据迁移:
ceph osd set noout # 禁止OSD自动踢出
ceph osd set nobackfill # 禁止数据回填
ceph osd set norecover # 禁止恢复操作
ceph osd set nodown # 禁止MON标记OSD为down
ceph osd set pause # 暂停集群读写
维护完成后需清除标志位(unset)。
二、OSD节点维护
OSD增删与状态管理
添加OSD:通过ceph-volume工具初始化硬盘并激活(如ceph-volume lvm create --data /dev/sdb)。
删除OSD:
标记为踢出:ceph osd out {osd-id}(数据迁移后删除)
直接销毁:ceph osd purge {osd-id} --yes-i-really-mean-it(适用于故障OSD)。
状态标记:
标记为宕机:ceph osd down {osd-id}
标记为丢失:ceph osd lost {osd-id} --yes-i-really-mean-it(谨慎操作,可能导致数据丢失)。
数据清理与修复
清理OSD:ceph osd scrub {osd-id} 或全集群清理:ceph osd scrub all
深度清理:ceph osd deep-scrub all
修复数据:ceph osd repair {osd-id}。
三、集群状态监控与诊断
常用监控命令
查看集群健康状态:ceph -s(显示MON、OSD、PG状态及警告信息)
详细健康信息:ceph health detail
检查存储池状态:ceph osd pool stats
监控PG状态:ceph pg dump 或 ceph pg stat。
日志与配置管理
查看OSD日志:journalctl -u ceph柳d@{osd-id}
配置文件推送:通过ceph-deploy -- overwrite-conf config push更新所有节点配置
动态调整配置:ceph tell osd.* injectargs '--debug柳d 20'(临时修改调试级别)。
四、硬件与存储池维护
硬盘更换
重新初始化新硬盘:ceph-volume lvm prepare --osd-id {id} --data /dev/sdX。
存储池管理
调整池参数:ceph osd pool set {pool-name} size 3(设置副本数)。
五、性能调优与故障处理
性能优化
修改空间阈值:ceph osd set-full-ratio 0.99(临时扩展写入空间)。
常见故障处理
MON故障:通过ceph mon stat检查节点状态,手动重启服务或添加新MON节点。
OSD卡在active+remapped:重新标记OSD权重为0(ceph osd crush reweight osd.{id} 0)后踢出。