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  # 再调回原值

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

相关推荐
韭菜张师傅6 小时前
CephFS存储池详解与命名规范:Rocky 9.6 + Ceph 17.2.9环境实践
ceph
韭菜张师傅6 小时前
Ceph MON 命令详解
ceph
韭菜张师傅4 天前
Ceph环境完全重置指南:彻底清理集群环境
java·网络·ceph
韭菜张师傅4 天前
Ceph Quincy版本在线安装实战:打造Kubernetes高性能存储集群
ceph·容器·kubernetes
JNU freshman4 天前
Ceph 18(Reef)生产级调优手册
网络·ceph
lisanmengmeng24 天前
ceph 中的OSD
ceph
lisanmengmeng1 个月前
CEPH的基本结构
ceph
lisanmengmeng1 个月前
ceph一些命令
ceph
lisanmengmeng1 个月前
cephadm 17.2.5安装部署 (二)
linux·运维·服务器·ceph