You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rook部署Ceph集群后PG出现inactive、undersized+peered故障如何解决

问题原因

你部署的Ceph集群所有OSD都运行在同一个主机节点storage1-kube-domain-tld上,Ceph默认的CRUSH分布规则要求多副本必须跨不同主机存储,避免单节点故障导致数据丢失。当前4个OSD都属于同一主机,CRUSH算法无法找到足够多的独立主机存放3副本,因此所有PG都无法完成激活流程,卡在undersized+peered状态,且所有PG被集中调度到了同一个OSD上。

修复方案

根据你的部署场景选择对应方案即可:

场景1:单节点测试部署(仅有一台存储节点)

你可以调整CRUSH规则或池副本数适配单节点环境:

  • 方案A:调低池副本数为1(仅适合测试,无数据冗余能力)
    1. 先查询当前池名称:ceph osd pool ls
    2. 调整对应池的副本数:ceph osd pool set <你的池名称> size 1 --yes-i-really-mean-it
  • 方案B:修改CRUSH故障域为OSD级别(保留多副本冗余,可容忍单OSD故障)
    执行以下命令重建默认副本规则:
    ceph osd crush rule rm replicated_rule
    ceph osd crush rule create-replicated replicated_rule default osd
    

场景2:多节点生产部署(有多台存储节点)

你需要排查OSD调度异常问题:

  • 检查Rook的OSD配置文件,确认节点选择器没有限制仅允许在storage1-kube-domain-tld上调度OSD
  • 检查其他存储节点的磁盘是否满足要求:无残留分区/LVM、未被挂载、磁盘权限配置正确
  • 重新部署OSD,确保至少3台存储节点都有可用OSD,满足默认跨主机副本要求
验证

调整完成后等待3-5分钟,执行ceph -s查看集群状态,正常情况下PG会逐步变为active+clean状态,集群健康等级恢复为HEALTH_OK。

内容的提问来源于stack exchange,提问作者roman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:06:04