> I have a question regarding the last step. It seems to me that the ceph balancer is not able to remove the upmaps > created by pgremapper, but instead creates new upmaps to balance the pgs among osds. The balancer will prefer to remove existing upmaps[1], but it's not guaranteed. The upmap has to exist between the source and target OSD already decided on by the balancer in order for this to happen. The reality, though, is that the upmap balancer will need to create many upmap exception table entries to balance any sizable system. Like you, I would prefer to have as few upmap exception table entries as possible in a system (fewer surprises when an OSD fails), but we regularly run systems that have thousands of entries without any discernible impact and haven't had any major operational issues that result from it, except for on really old systems that are just awful to work with in the first place. Josh [1] I think this is the implementation: https://github.com/ceph/ceph/blob/bc8c846b36288ff7ac65005087b0dda0e4b857f4/src/osd/OSDMap.cc#L4794-L4832 _______________________________________________ ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an email to ceph-users-leave@xxxxxxx