4. 全局Ceph节点宕机处理
在极端情况下,如数据中心断电,造成 Ceph 存储集群全局宕机,可以按照本节所示流程进行 Ceph 集群上电恢复操作。
4.1 手动上电执行步骤
- 如为 Ceph 集群上电,monitor server 应最先上电;集群上电前确认使用 Ceph 之前端作业服务已停止。
- 使用 IPMI 或于设备前手动进行上电。
确认 NTP 服务及系统时间已同步,命令如下:
# ps-ef | grep ntp
# date
# ntpq -p
登入上电之 ceph server 确认 ceph service 已正常运行,命令如下:
# ps -ef | grep ceph
登入集群 monitor server 查看状态,OSD 全都 up 集群仍为 noout flag(s) set
# ceph -s
# ceph osd tree
登入 monitor server 解除 stopping w/out rebalancing,命令如下:
# ceph osd unset noout
# ceph -w
使用 ceph-w 可查看集群运作输出,同步完毕后集群 health 应为HEALTH_OK 状态。
4.2 恢复后检查步骤
- 确认设备上电状态,以 IPMI 或 于设备前确认电源为开启上电状态。
- ping ceph monitor server,检查 monitor server 可以 ping 通。
- 系统时间和校时服务器时间同步。
- ceph -s 状态为HEALTH_OK
- ceph osd tree OSD 状态皆为UP
4.3 恢复使用指令及其说明
- ceph -s : 确认 ceph cluster status
- ceph -w : 查看集群运作输出
- ceph osd tree : 查看ceph cluster上osd排列及状态
- start ceph-all : 启动 所有 ceph service
- start ceph-osd-all : 启动 所有 osd service
- start ceph-mon-all : 启动 所有 mon service
- start ceph-osd id={id} : 启动指定 osd id service
- start ceph-mon id={hostname} : 启动指定 ceph monitor host
- ceph osd set noout : ceph stopping w/out rebalancing
- ceph osd unset noout : 解除ceph stopping w/out rebalancing
5. 单个Ceph节点宕机处理
在某些情况下,如服务器硬件故障,造成单台 Ceph 节点宕机无法启动,可以按照本节所示流程将该节点上的 OSD 移除集群,从而达到 Ceph 集群的恢复。
5.1 单台 Ceph 节点宕机处理步骤
- 登陆 ceph monitor 节点,查询 ceph 状态:
ceph health detail - 将故障节点上的所有 osd 设置成 out,该步骤会触发数据 recovery, 需要等待数据迁移完成, 同时观察虚拟机是否正常:
ceph osd out osd_id - 从 crushmap 将 osd 移除,该步骤会触发数据 reblance,等待数据迁移完成,同时观察虚拟机是否正常:
ceph osd crush remove osd_name - 删除 osd 的认证: ceph auth del osd_name
- 删除 osd :ceph osd rm osd_id
作者信息
作者:李航
个人简介: 多年的底层开发经验,在高性能nginx开发和分布式缓存redis cluster有着丰富的经验,目前从事分布式存储Ceph工作。先后在58 同城、汽车之家、优酷土豆集团工作。目前供职于滴滴基础平台运维部-技术专家岗位,主要负责分布式Ceph系统。个人主要关注的技术领域:高 性能Nginx开发、分布式缓存、分布式存储。
添加新评论0 条评论