ceph更换硬盘

文章描述了在一个运行中的Ceph集群中发现健康警告,涉及crasheddaemon、osd状态和crash记录。操作包括检查集群状态、定位故障点、停止服务、移除故障硬盘并更新配置以添加新硬盘。

ceph -s  //检查故障

k8s70132:~$ ceph -s
  cluster:
    id:     d10b3028-b78d-4b23-bacb-ca26c0a35c99
    health: HEALTH_WARN
            1 daemons have recently crashed
 
  services:
    mon: 5 daemons, quorum k8sceph70201,k8sceph70202,k8sceph70203,k8sceph70204,k8sceph70205 (age 4d)
    mgr: k8sceph70204(active, since 11w), standbys: k8sceph70201, k8sceph70205
    mds: cephfs:1 {0=k8sceph70204=up:active} 2 up:standby
    osd: 23 osds: 22 up (since 4d), 22 in (since 4d)
    rgw: 3 daemons active (k8sceph70201, k8sceph70204, k8sceph70205)
 
  task status:
 
  data:
    pools:   11 pools, 281 pgs
    objects: 809.23k objects, 24 GiB
    usage:   159 GiB used, 38 TiB / 38 TiB avail
    pgs:     281 active+clean
 
  io:
    client:   47 KiB/s wr, 0 op/s rd, 2 op/s wr

这里health有告警,查看故障点:

ceph crush ls

k8s70132:~$ ceph crash ls
ID                                                                ENTITY  NEW  
2
### 更换 Ceph 存储系统中故障硬盘的解决方案 在 Ceph 分布式存储系统中,更换故障硬盘是一个常见的维护任务。以下是关于如何处理硬盘故障以及更换硬盘的操作指南。 #### 1. 确认硬盘故障 当硬盘出现故障时,Ceph 的 OSD(对象存储守护进程)可能会进入 `down` 或 `out` 状态。可以使用以下命令检查集群状态并确认问题: ```bash ceph health detail ``` 此命令会显示集群的整体健康状况,并列出任何未正常工作的 OSD[^3]。 #### 2. 查找卡住的 PGs 如果某些 Placement Groups (PGs) 卡住或未能恢复,可以使用以下命令查找卡住的 PGs: ```bash ceph pg dump_stuck stale ceph pg dump_stuck inactive ceph pg dump_stuck unclean ``` 这些命令可以帮助定位可能由于硬盘故障导致的问题 PGs[^2]。 #### 3. 停止故障 OSD 找到对应的故障 OSD 后,停止该 OSD 服务以确保不会对集群造成进一步影响: ```bash systemctl stop ceph-osd@<OSD_ID> ``` 替换 `<OSD_ID>` 为实际的 OSD 编号。 #### 4. 替换故障硬盘 物理替换硬盘是下一步操作。确保新硬盘与原硬盘具有相同的容量或更大。完成硬件替换后,需要初始化新硬盘并重新加入到 Ceph 集群中。 #### 5. 初始化新硬盘 使用以下命令将新硬盘格式化为 Ceph 兼容的存储设备: ```bash ceph-volume lvm create --data /dev/sdX ``` 这里 `/dev/sdX` 是新硬盘的设备路径。此命令会将硬盘初始化为 LVM 格式,并将其标记为 Ceph 使用。 #### 6. 重启 OSD 服务 初始化完成后,启动对应的 OSD 服务: ```bash systemctl start ceph-osd@<OSD_ID> ``` #### 7. 监控恢复过程 硬盘更换后,Ceph 将自动开始数据恢复过程。可以通过以下命令监控恢复进度: ```bash ceph -s ``` 观察 `recovery` 字段,确保数据正在从其他副本重新同步到新硬盘上。根据硬盘大小和网络带宽,恢复时间可能较长。例如,对于 1.2TB 的硬盘,即使读写速度达到 200MB/s 的峰值,也需要接近两小时才能完成同步[^1]。 #### 8. 检查集群健康 恢复完成后,再次检查集群健康状态以确保所有 PGs 处于 `active+clean` 状态: ```bash ceph health ``` --- ### 注意事项 - 如果硬盘故障导致数据丢失,Ceph 会尝试从其他副本中恢复丢失的数据。但如果所有副本都发生故障,则可能需要手动干预来恢复数据[^4]。 - 在更换硬盘期间,建议暂停非必要的写入操作以减少对集群的压力。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值