1、故障现象

wKioL1WkeaXxCpG-AANE3_KouPo128.jpg

上面标记显示 data池已经满了,现在的单份有效数据是1.3T,三份的总共容量是4T左右,并且已经有24个pg出现了inconsistent现象,说明写已经出现了不一致的故障。

2、查看配额

wKioL1WkdZny5YEEAALGsYLPwqA221.jpg


通过上图看,target_bytes(改pool的最大存储容量) 存储容量虽然是10T,但是max_objects(改pool最大允许存储的object个数)比较小是2048000,以每个object 2M的容量计算,2048000个object容量正好是4T,也就是上面出现故障时的总配额。

3、解决方法

把max_objects和target_bytes都设置成尽量大


设置一个池中object的个数(默认以每个object 2M容量计算,设置的这个值的总容量是100T)

[root@B2801-ceph-0 ~]# ceph osd pool set-quota data max_objects 50000000            

set-quota max_objects = 25000000 for pool data 


设置data池的最大存储空间为100T

[root@admin ~]# ceph osd pool set data target_max_bytes 100000000000000

set pool 0 target_max_bytes to 100000000000000


4、data pool full的问题解决,现在的ceph状态