ceph 状态码
ceph 状态码报错解决
-
undersized
The placement group has fewer copies than the configured pool replication level.
副本数大于节点数,增加节点可以解决为了满足HA的要求,OSD需要分散在不同的节点上,这里拷贝数量为3,则需要有三个OSD节点来承载这些OSD,如果三个OSD分布在两个OSD节点上,则依然可能会出现”active+undersized”的状态。
这与默认的CRUSH failure域相结合,可以确保复制副本或擦除代码碎片在主机之间分离,单个主机故障不会影响可用性。 -
对象貌似也有这个报错。
degraded
Ceph has not replicated some objects in the placement group the correct number of times yet. -
调整了pgs
不得不说对ceph不了解的新手,一步一个坑,增加了两个节点,报错变成了
health: HEALTH_WARN
too few PGs per OSD (24 < min 30)pgs为64,因为是3副本的配置,所以当有8个osd的时候,每个osd上均分了64/8 *3=24个pgs,也就是出现了如上的错误 小于最小配置30个
于是调整pgs大小,调完了以后又报错了, pg_num 和 pgp_num数量不一致 - - ! -
health: HEALTH_WARN
1 pools have pg_num > pgp_num需要注意, pg_num只能增加, 不能缩小.
所以需要把两个都修改了,这里我设置成128
ceph osd pool set mypool pg_num 128
ceph osd pool set mypool pgp_num 128
然后报错消失。 -
测试版本, m版
rdb 块存储删除数据,不会被真正删除,而是被标记, 空间并不会被释放
ceph-rbd在客户端配置时候,mount命令添加参数(-o discard),可以从客户端和ceph集群删除同步;
文件系统删除文件后,空间会被释放。 -
ceph报错application not enabled on 1 pool(s)
ceph health
ceph health detail 看一下具体是哪个报错,然后指定提示的命令,改成自己的pool, appname就是你pool的类型
ceph osd pool application enable helloceph rbd