Backstory:
I have a three node CEPH cluster with 3 disks (one per node). Somehow (to be investigated) two OSDs went down. The third one started backfilling. As the whole cluster became unresponsive, I started checking what the cause might be and found the pool in this state. Since the two OSDs couldn't be restarted, I destroyed them and recreated them. The pool started rebalancing but stopped short of being whole again (at 99.xy%). 4 PGs are "undersized+degraded+remapped+backfill_toofull+peered". I thought that was because, of the three disks, two had reached their limits (at slightly under 90%) while the third one remained over its limit (at 93%) where it had got to backfilling when the other two were down and out.
So, I thought: overall too much data in the pool. Trying to delete some experimental VMs did not change the result (surprisingly). Neither did scrubbing.
Then I had, what I thought, was a stroke of genius: Add another disk on the node where the overly full OSD sits, reweight that one down and watch the data rebalance between the two, bringing the utilization rate of the old one down below its critical threshold.
Well, the rebalancing happened: While the other almost full OSDs didn't change (as planned), the overly full OSD went down to 72% (and the new OSD went up to almost 90 - it is smaller than the other three).
BUT: For some reason I fail to see, that did not change anything with respect to 4 PGs being "undersized+degraded+remapped+backfill_toofull+peered". Which seems to be the cause for the pool being still totally unusable. It did change things for some warning but I would have expected CEPH to take care of the worst problems first.
Since then I have tried to tinker with the weights of the old, previously overly full, OSD and the new one. And it keeps rebalancing but keeps stopping (shorter and shorter but still) short of 100% and the pool remains unresponsive.
Can someone who understands how CEPH works (I don't) please tell me how to get this mess sorted?
Thanks!
I have a three node CEPH cluster with 3 disks (one per node). Somehow (to be investigated) two OSDs went down. The third one started backfilling. As the whole cluster became unresponsive, I started checking what the cause might be and found the pool in this state. Since the two OSDs couldn't be restarted, I destroyed them and recreated them. The pool started rebalancing but stopped short of being whole again (at 99.xy%). 4 PGs are "undersized+degraded+remapped+backfill_toofull+peered". I thought that was because, of the three disks, two had reached their limits (at slightly under 90%) while the third one remained over its limit (at 93%) where it had got to backfilling when the other two were down and out.
So, I thought: overall too much data in the pool. Trying to delete some experimental VMs did not change the result (surprisingly). Neither did scrubbing.
Then I had, what I thought, was a stroke of genius: Add another disk on the node where the overly full OSD sits, reweight that one down and watch the data rebalance between the two, bringing the utilization rate of the old one down below its critical threshold.
Well, the rebalancing happened: While the other almost full OSDs didn't change (as planned), the overly full OSD went down to 72% (and the new OSD went up to almost 90 - it is smaller than the other three).
BUT: For some reason I fail to see, that did not change anything with respect to 4 PGs being "undersized+degraded+remapped+backfill_toofull+peered". Which seems to be the cause for the pool being still totally unusable. It did change things for some warning but I would have expected CEPH to take care of the worst problems first.
Since then I have tried to tinker with the weights of the old, previously overly full, OSD and the new one. And it keeps rebalancing but keeps stopping (shorter and shorter but still) short of 100% and the pool remains unresponsive.
Can someone who understands how CEPH works (I don't) please tell me how to get this mess sorted?
Thanks!