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

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

相关推荐
胖兔纸212 天前
OpenStack 1.7.2 & Ceph 9.2.1 运维命令
运维·ceph·openstack
seacracker15 天前
Ceph 太重运维成本高?轻量统一存储 PowerFS 对比测评(HPC/AI 场景首选)
运维·人工智能·ceph·ai存储·统一存储
牛奶咖啡1318 天前
CEPH分布式存储应用实践——基于Docker安装部署Ceph分布式存储环境
ceph·安装部署ceph分布式存储·cephv20.2.2·docker中手动部署ceph·cephadm部署ceph·docker部署ceph准备·分布式存储环境部署
查士丁尼·绵1 个月前
centos stream 9离线分层部署cloudstack 4.22高可用集群
ceph·cloudstack
2301_773643621 个月前
ceph镜像
前端·javascript·ceph
2301_773643621 个月前
ceph池
开发语言·ceph·python
2301_773643622 个月前
ceph实践
ceph
2301_773643622 个月前
ceph分布式存储
分布式·ceph
m0_736034852 个月前
ceph分布式存储
分布式·ceph