xsky/ceph rbd新建pool后,无法创建新盘

按网上说的创建了新的pool

bash 复制代码
ceph osd pool create kubernetes 128 128 replicated
rbd create --size 1G kubernetes/test-image

新池创建没问题,然而在rbd create --size 1G kubernetes/test-image时卡死了,网上搜了一堆,也没解决

ceph status 正常

ceph health detail 输出一堆的类似如下信息:

复制代码
pg 8.7c1 is stuck inactive for 489.141989, current state creating, last acting []

last acting 列表是空的,意味着目前没有任何一个 OSD 被选为这个 PG 的副本目标。换句话说,Ceph 的 CRUSH 算法无法为这个 PG 计算出应该把数据放在哪几个 OSD 上。

为什么这样呢?

ceph osd pool get kubernetes crush_rule

查看到kubernetes 走的是default树上

重新建一个规则:

sh 复制代码
ceph osd crush rule create-replicated kubernetes-rule \
  7ab5f91009724c85a73d5aedb3ec286a-root \
  host

将pool切换到新规则

bash 复制代码
ceph osd pool set kubernetes crush_rule kubernetes-rule

修改规则后,需要让集群重新计算PG分布:

bash 复制代码
ceph osd pool set kubernetes pgp_num 1024  # 先调小
ceph osd pool set kubernetes pgp_num 2048  # 再调回原值

调小可能很慢,不必等待,不是真的要调整,是要触发规则生效,接着调回原值,再建新盘,你会发现成功的。

相关推荐
珂玥c13 小时前
Ceph集群新增osd
ceph
老wang你好2 天前
Ceph分布式存储系统全解析
ceph
一个行走的民14 天前
分布式系统中 Map 增量(Delta)是否需要持久化
ceph
一个行走的民16 天前
BlueStore 核心原理与关键机制
ceph
奋斗的小青年I18 天前
Proxmox VE Ceph 超融合集群落地实战
windows·ceph·vmware·pve·超融合·proxmox
一个行走的民18 天前
深度剖析 Ceph PG 分裂机制:原理、底层、实操、影响、线上避坑(最全完整版)
ceph·算法
一个行走的民19 天前
Ceph 核心概念精讲:彻底搞懂 PG、PGP、pg_num、pgp_num
ceph
Mr.王8351 个月前
Kubernetes宿主机本地盘池化管理
ceph·云原生·容器·kubernetes
一个行走的民1 个月前
CEPH OSD心跳机制
ceph
一个行走的民1 个月前
Ceph PG 状态详解与线上故障处理
网络·ceph