Turns out, I really messed up when changing the EC profile. Removing the pool did not get rid of it's PGs on the OSDs that have crashed.

To get my OSDs back up I used ceph-objectstore-tool like this:

for PG in $(ceph-objectstore-tool --data-path $DIR --type=bluestore --op=list-pgs |grep '^$POOL_ID'); do ceph-objectstore-tool --data-path $DIR --type=bluestore --op=remove --force --pgid=$PG
done

$DIR is the data path of the crashed OSD.
$POOL_ID is the ID of the pool with the messed up EC profile.

I'm now curious if there is an easier way to do this?

After getting rid of all PGs the OSD were able to start again. Hope this helps someone.

Regards,
Michael


Am 22.06.2020 um 19:46 schrieb Michael Fladischer:
Hi,

a lot of our OSD have crashed a few hours ago because of a failed assertion:

/build/ceph-15.2.3/src/osd/ECUtil.h: 34: FAILED ceph_assert(stripe_width % stripe_size == 0)

Full output here:
https://pastebin.com/D1SXzKsK

All OSDs are on bluestore and run 15.2.3.

I think I messed up when I tried to change an existing EC profile (using --force) for an active EC pool.

I already tried to delete the pool and the EC profile and start the OSDs but they keep crashing with the same assertion.

Is there a way to at least find out what the values are for stripe_width and stripe_size?

Regards,
Michael
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to