[ClusterLabs] spread out resources
Ferenc Wágner
wferi at niif.hu
Sat Apr 2 10:28:43 CEST 2016
Ken Gaillot <kgaillot at redhat.com> writes:
> On 03/30/2016 08:37 PM, Ferenc Wágner wrote:
>
>> I've got a couple of resources (A, B, C, D, ... more than cluster nodes)
>> that I want to spread out to different nodes as much as possible. They
>> are all the same, there's no distinguished one amongst them. I tried
>>
>> <rsc_colocation id="cl-test-spread" score="-50">
>> <resource_set id="cl-test-spread-set" sequential="false">
>> <resource_ref id="A"/>
>> <resource_ref id="B"/>
>> <resource_ref id="C"/>
>> <resource_ref id="D"/>
>> </resource_set>
>> <resource_set id-ref="cl-test-spread-set"/>
>> </rsc_colocation>
>>
>> But crm_simulate did not finish with the above in the CIB.
>> What's a good way to get this working?
>
> Per the docs, "A colocated set with sequential=false makes sense only if
> there is another set in the constraint. Otherwise, the constraint has no
> effect." Using sequential=false would allow another set to depend on all
> these resources, without them depending on each other.
That was the very idea behind the above colocation constraint: it
contains the same group twice. Yeah, it's somewhat contrived, but I had
no other idea with any chance of success. And this one failed as well.
> I haven't actually tried resource sets with negative scores, so I'm not
> sure what happens there. With sequential=true, I'd guess that each
> resource would avoid the resource listed before it, but not necessarily
> any of the others.
Probably, but that isn't what I'm after.
> By default, pacemaker does spread things out as evenly as possible, so I
> don't think anything special is needed.
Yes, but only on the scale of all resources. And I've also got a
hundred independent ones, which wash out this global spreading effect if
you consider only a select handful.
> If you want more control over the assignment, you can look into
> placement strategies:
We use balanced placement to account for the different memory
requirements of the various resources globally. It would be possible to
introduce a new, artifical utilization "dimension" for each resource
group we want to spread independently, but this doesn't sound very
compelling. For sets of two resources, a simple negative colocation
constraint works very well; it'd be a pity if it wasn't possible to
extend this concept to larger sets.
--
Thanks,
Feri
More information about the Users
mailing list