Ok, understood, thanks !
So if I try to run the balancer in the current compat mode, should this define the weight-set also for the new OSDs ?
But if I try to create a balancer plan, I get an error [*] (while it worked before adding the new OSDs).
[*]
[root@c-mon-01 balancer]# ceph balancer status
{
"active": false,
"plans": [],
"mode": "crush-compat"
}
[root@c-mon-01 balancer]# ceph balancer optimize plan-xyz
Error EINVAL: Traceback (most recent call last):
File "/usr/lib64/ceph/mgr/balancer/module.py", line 335, in handle_command
r, detail = self.optimize(plan)
File "/usr/lib64/ceph/mgr/balancer/module.py", line 659, in optimize
return self.do_crush_compat(plan)
File "/usr/lib64/ceph/mgr/balancer/module.py", line 798, in do_crush_compat
weight = best_ws[osd]
KeyError: (19,)
[root@c-mon-01 balancer]#
On Thu, Mar 14, 2019 at 7:34 AM Konstantin Shalygin <k0ste@xxxxxxxx> wrote:
On 3/14/19 1:11 PM, Massimo Sgaravatto wrote:
> Thanks
>
> I will try to set the weight-set for the new OSDs
>
> But I am wondering what I did wrong to be in such scenario.
You don't. You just use legacy. But why? Jewel clients? Old kernels?
>
> Is it normal that a new created OSD has no weight-set defined ?
Of course.
> Who is supposed to initially set the weight-set for a OSD ?
Balancer by compat mode.
k
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com