Am 27.09.21 um 22:38 schrieb Josh Baergen:
>> 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.


Hi Josh,


thanks for the update. With the pgremapper run first and then the upmap 
balancer enabled

I ended up with an upmap entry for almost every placement group in a pool. So I 
decided to write a tool which analizes the upmap

entries and put them in a digraph. When I check for circles I found that 
running the upmap balancer alone never seems to create

any kind of circle in the graph (i will have to check the code you mentioned 
[1] if there is any mechanism to avoid that).

Running pgremapper + balancer created circles with sometimes several dozen 
nodes. I would update the docs of the pgremapper

to warn about this fact and guide the users to use undo-upmap to slowly remove 
the upmaps create by cancel-backfill.


It might be a nice addition to pgremapper to add an option to optimze the upmap 
table. When searching for circles you might want to limit

the depth of the DFS otherwise the runtime will be crazy.


Thanks,

Peter



_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to