【发布时间】:2023-03-20 07:56:02
【问题描述】:
我最近构建了一个 3 节点 Ceph 集群。每个节点都有七个用于 OSD 的 1TB HDD。我总共有 21 TB 的 Ceph 存储空间。
但是,当我运行工作负载以继续将数据写入Ceph 时,它会变为Err 状态,并且无法再向其写入数据。
ceph -s 的输出为:
cluster:
id: 06ed9d57-c68e-4899-91a6-d72125614a94
health: HEALTH_ERR
1 full osd(s)
4 nearfull osd(s)
7 pool(s) full
services:
mon: 1 daemons, quorum host3
mgr: admin(active), standbys: 06ed9d57-c68e-4899-91a6-d72125614a94
osd: 21 osds: 21 up, 21 in
rgw: 4 daemons active
data:
pools: 7 pools, 1748 pgs
objects: 2.03M objects, 7.34TiB
usage: 14.7TiB used, 4.37TiB / 19.1TiB avail
pgs: 1748 active+clean
根据我的理解,由于还剩下 4.37 TB 空间,Ceph 本身应该注意如何平衡工作负载,并使每个 OSD 不处于full 或nearfull 状态。但是结果出乎我的意料,1 full osd和4 nearfull osd出现了,健康是HEALTH_ERR。
我不能再用hdfs 或s3cmd 访问 Ceph,所以问题来了:
1,关于当前问题的任何解释?
2,我怎样才能从中恢复?直接用 ceph-admin 删除 Ceph 节点上的数据,然后重新启动 Ceph?
【问题讨论】: