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

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

相关推荐
Virtual_human08063 天前
在VMware workstation上,部署3节点ceph测试,及加入openstack
ceph·云计算·openstack·osd·ceph集群
Brandon汐10 天前
从0开始搭建一主两节点k8s集群对接Ceph集群
ceph·容器·kubernetes
泡沫·13 天前
CEPH的基本认识
ceph
2301_7679026414 天前
ceph分布式存储(三)
分布式·ceph
2301_7679026415 天前
ceph分布式存储(一)
分布式·ceph
2301_7679026415 天前
ceph分布式存储(二)
分布式·ceph
FJW02081417 天前
cephadm部署ceph集群以及k8s对接
ceph·容器·kubernetes
韭菜张师傅18 天前
Ceph RBD 命令详解
ceph
韭菜张师傅19 天前
Ceph FS 命令详解
ceph
韭菜张师傅19 天前
Ceph MDS 命令详解
网络·ceph