Hi,
Is it possible to have cephadm managed containers to repair their
BlueSTore metadata? So to have it perform a ceph-bluestore-tool repair
--path /var/lib/ceph/osd/$osd inside the container? And for that matter,
be able to "compact" (ceph-kvstore-tool bluestore-kv
/var/lib/ceph/osd/ceph-$osd) beforehand (to speed up the repair process
afterwards). This to allow BlueStore to handle per PG OMAP metadata.
I know it's possible to do on the host running the containers, like so:
systemctl stop ceph-fsid@osd.*.service
ceph-volume lvm --activate all
df|grep "/var/lib/ceph/osd"|awk '{print $6}'|cut -d '-' -f 2|sort
-n|xargs -n 1 -P 10 -I OSD ceph-kvstore-tool bluestore-kv
/var/lib/ceph/osd/ceph-OSD compact
for osd in `ls /var/lib/ceph/osd/`; do (ceph-bluestore-tool repair
--path /var/lib/ceph/osd/$osd &);done
for osd in `ls /var/lib/ceph/osd/`; do (ceph-bluestore-tool --path
/var/lib/ceph/osd/$osd --sharding="m(3) p(3,0-12)
O(3,0-13)=block_cache={type=binned_lru} L P" reshard &);done
df|grep "/var/lib/ceph/osd"|awk '{print $6}'|cut -d '-' -f 2|sort
-n|xargs -n 1 -P 10 -I OSD ceph-kvstore-tool bluestore-kv
/var/lib/ceph/osd/ceph-OSD compact
Final check:
ceph-kvstore-tool bluestore-kv /var/lib/ceph/osd/ceph-0 get S per_pool_omap
systemctl stop ceph-osd@$id.service
systemctl disable ceph-osd@$id.service
umount all tmpfs dirs created and mounted by ceph-volume
(/var/lib/ceph/osd/ceph-$id)
systemctl start ceph-fsid@osd.*.service
But it would be way cleaner to be able to do this with cephadm native
tooling.
Please enlighten me ;-)
Gr. Stefan
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx