Ceph实验室:第五课:Ceph运维之换盘

本文档详细介绍了在Ceph集群中定位并替换故障磁盘的过程,包括定位故障磁盘、停止及移除故障OSD、拔换磁盘、重新配置RAID以及将新磁盘加入集群等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ceph集群里,磁盘出故障是不可避免,所以替换故障磁盘成为ceph日常运维不断重复的任务。本课程演示如何替换一个故障盘。


定位故障磁盘

#MegaCli -PDList -aALL|grep "Media Error"
    Enclosure Device ID: 0  
    Slot Number: 3  
    Enclosure position: 0  
    Device Id: 2  
    Sequence Number: 2  
    Media Error Count: 227     <- 物理故障  
    Other Error Count: 2  
    Enclosure Device ID: 0  

定位故障OSD

#lsblk -i|grep /dev/sdc
/dev/sdc1 on /var/lib/ceph/osd/ceph-1

停止故障OSD

systemctl status ceph-osd@1.service

虽然osd.1的服务已停止,然而他任然被标记为IN(集群中)状态。只要他的状态还是IN,Ceph集群就不会为他触发数据恢复。默认情况下,ceph集群需要5分钟来将一个DOWN状态的磁盘标记为OUT状态,然后开始数据恢复。我们可以手工将故障OSD标记为OUT。一旦该OSD被标记为OUT,ceph集群会为该OSD上的PG启动恢复过程。

  • 当某个PG对应的OSD set中有一个OSD被标记为down时(假如是Primary被标记为down,则某个Replica会成为新的Primary,并处理所有读写 object请求),则该PG处于active+degraded状态,也就是当前PG有效的副本数是N-1。
  • 过了5秒之后,假如还是无法连接该OSD,则它被标记为out,Ceph会重新计算PG到OSD set的映射(当有新的OSD加入到集群时,也会重新计算所有PG到OSD set的映射),以此保证PG的有效副本数是N。
#ceph osd out osd.1
#ceph status

删除故障OSD

  • 从ceph CRUSH map中移除

#ceph osd crush rm osd.1 

  • 删除该osd的秘钥

#ceph auth del osd.1

  • 从ceph集群中删除该osd

#ceph osd rm osd.1

拔掉故障盘,插入新磁盘......................


重新组建 RAID

[root@hh-yun-ceph-cinder016-128056 ~]# MegaCli -CfgLdAdd -r0 [0:3] WB Direct -a0  
Adapter 0: Created VD 2  
Adapter 0: Configured the Adapter!!  
Exit Code: 0x00

创建OSD,加入集群

#ceph-deploy disk list ceph-node1
#ceph-deploy disk zap ceph-node2:sdc
#ceph-deploy --overwrite-conf osd create ceph-node1:sdc

一旦OSD加入到集群,ceph会执行回填backfilling操作,他会将PG从第二OSD上移到这个新的OSD上。

参考资料

https://www.ustack.com/blog/ceph_infra/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值