[ClusterLabs] Q: placement-strategy=balanced
    Ulrich Windl 
    Ulrich.Windl at rz.uni-regensburg.de
       
    Fri Jan 15 03:36:32 EST 2021
    
    
  
Hi!
The cluster I'm configuring (SLES15 SP2) fenced a node last night. Still unsure what exactly caused the fencing, but looking at the logs I found this "action plan" that lead to fencing:
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos1              ( h18 -> h19 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos2              ( h19 -> h16 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos3              ( h16 -> h18 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos4              ( h18 -> h19 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos1                    ( h18 -> h19 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos2                    ( h19 -> h16 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos3                    ( h16 -> h18 )
Jan 14 20:05:12 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos4                    ( h18 -> h19 )
Those "cron_snap" resources depend on the corresponding xen resources (colocation).
Having 4 resources to be distributed equally to three nodes seems to trigger that problem.
After fencing the action plan was:
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos2              ( h16 -> h19 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Move       prm_cron_snap_test-jeos4              ( h19 -> h16 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Start      prm_cron_snap_test-jeos1              (             h18 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Start      prm_cron_snap_test-jeos3              (             h19 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Recover    prm_xen_test-jeos1                    ( h19 -> h18 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos2                    ( h16 -> h19 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos3                    ( h18 -> h19 )
Jan 14 20:05:26 h19 pacemaker-schedulerd[4803]:  notice:  * Migrate    prm_xen_test-jeos4                    ( h19 -> h16 )
...some more recoivery actions like that...
Currently h18 has two VMs, while the other two nodes have one VM each.
Before having added those "cron_snap" resources, I did not detect such "rebalancing".
The rebalancing was triggered by this ruleset present in every xen resource:
        meta 1: resource-stickiness=0 \
        meta 2: rule 0: date spec hours=7-19 weekdays=1-5 resource-stickiness=1000
At the moment the related scores (crm_simulate -LUs) look like this (filtered and re-ordered):
Original: h16 capacity: utl_ram=231712 utl_cpu=440
Original: h18 capacity: utl_ram=231712 utl_cpu=440
Original: h19 capacity: utl_ram=231712 utl_cpu=440
Remaining: h16 capacity: utl_ram=229664 utl_cpu=420
Remaining: h18 capacity: utl_ram=227616 utl_cpu=400
Remaining: h19 capacity: utl_ram=229664 utl_cpu=420
pcmk__native_allocate: prm_xen_test-jeos1 allocation score on h16: 0
pcmk__native_allocate: prm_xen_test-jeos1 allocation score on h18: 1000
pcmk__native_allocate: prm_xen_test-jeos1 allocation score on h19: -INFINITY
native_assign_node: prm_xen_test-jeos1 utilization on h18: utl_ram=2048 utl_cpu=20
pcmk__native_allocate: prm_xen_test-jeos2 allocation score on h16: 0
pcmk__native_allocate: prm_xen_test-jeos2 allocation score on h18: 1000
pcmk__native_allocate: prm_xen_test-jeos2 allocation score on h19: 0
native_assign_node: prm_xen_test-jeos2 utilization on h18: utl_ram=2048 utl_cpu=20
pcmk__native_allocate: prm_xen_test-jeos3 allocation score on h16: 0
pcmk__native_allocate: prm_xen_test-jeos3 allocation score on h18: 0
pcmk__native_allocate: prm_xen_test-jeos3 allocation score on h19: 1000
native_assign_node: prm_xen_test-jeos3 utilization on h19: utl_ram=2048 utl_cpu=20
pcmk__native_allocate: prm_xen_test-jeos4 allocation score on h16: 1000
pcmk__native_allocate: prm_xen_test-jeos4 allocation score on h18: 0
pcmk__native_allocate: prm_xen_test-jeos4 allocation score on h19: 0
native_assign_node: prm_xen_test-jeos4 utilization on h16: utl_ram=2048 utl_cpu=20
Does that ring-shifting of resources look like a bug in pacemaker?
Regards,
Ulrich
    
    
More information about the Users
mailing list