<div dir="ltr"><div style="font-size:12.8px"><div>Dear list</div><div><span style="font-size:12.8px">I am quite new to PaceMaker and i am configuring a two node active/active cluster which consist basically on something like this:</span><br style="font-size:12.8px"></div><br></div><div style="font-size:12.8px">My whole configuration is this one:<br><br>Stack: corosync<br>Current DC: pbx2vs3 (version 1.1.13-10.el7_2.2-44eb2dd) - partition with quorum<br>2 nodes and 10 resources configured<br><br>Online: [ pbx1vs3 pbx2vs3 ]<br><br>Full list of resources:<span class="im"><br><br> Clone Set: dlm-clone [dlm]<br>     Started: [ pbx1vs3 pbx2vs3 ]<br> Clone Set: asteriskfs-clone [asteriskfs]<br>     Started: [ pbx1vs3 pbx2vs3 ]<br> Clone Set: asterisk-clone [asterisk]<br>     Started: [ pbx1vs3 pbx2vs3 ]<br></span> fence_pbx2_xvm    (stonith:fence_xvm):    Started pbx2vs3<br> fence_pbx1_xvm    (stonith:fence_xvm):    Started pbx1vs3<span class="im"><br> Clone Set: clvmd-clone [clvmd]<br>     Started: [ pbx1vs3 pbx2vs3 ]<br><br></span>PCSD Status:<br>  pbx1vs3: Online<br>  pbx2vs3: Online<br><br>Daemon Status:<br>  corosync: active/disabled<br>  pacemaker: active/disabled<br>  pcsd: active/enabled<br>[root@pbx1 ~]# pcs config show<br>Cluster Name: asteriskcluster<br>Corosync Nodes:<br> pbx1vs3 pbx2vs3 <br>Pacemaker Nodes:<br> pbx1vs3 pbx2vs3 <br><br>Resources: <br> Clone: dlm-clone<br>  Meta Attrs: clone-max=2 clone-node-max=1 interleave=true <br>  Resource: dlm (class=ocf provider=pacemaker type=controld)<br>   Attributes: allow_stonith_disabled=false <br>   Operations: start interval=0s timeout=90 (dlm-start-interval-0s)<br>               stop interval=0s on-fail=fence (dlm-stop-interval-0s)<br>               monitor interval=60s on-fail=fence (dlm-monitor-interval-60s)<br> Clone: asteriskfs-clone<br>  Meta Attrs: interleave=true clone-max=2 clone-node-max=1 <br>  Resource: asteriskfs (class=ocf provider=heartbeat type=Filesystem)<br>   Attributes: device=/dev/vg_san1/lv_pbx directory=/mnt/asterisk fstype=gfs2 <br>   Operations: start interval=0s timeout=60 (asteriskfs-start-interval-0s)<br>               stop interval=0s on-fail=fence (asteriskfs-stop-interval-0s)<br>               monitor interval=60s on-fail=fence (asteriskfs-monitor-interval-60s)<br> Clone: asterisk-clone<br>  Meta Attrs: interleaved=true sipp_monitor=/root/scripts/haasterisk.sh sipp_binary=/usr/local/src/sipp-3.4.1/bin/sipp globally-unique=false ordered=false interleave=true clone-max=2 clone-node-max=1 notify=true <br>  Resource: asterisk (class=ocf provider=heartbeat type=asterisk)<br>   Attributes: user=root group=root config=/mnt/asterisk/etc/asterisk.conf sipp_monitor=/root/scripts/haasterisk.sh sipp_binary=/usr/local/src/sipp-3.4.1/bin/sipp maxfiles=65535 <br>   Operations: start interval=0s timeout=40s (asterisk-start-interval-0s)<br>               stop interval=0s on-fail=fence (asterisk-stop-interval-0s)<br>               monitor interval=10s (asterisk-monitor-interval-10s)<br> Clone: clvmd-clone<br>  Meta Attrs: clone-max=2 clone-node-max=1 interleave=true <br>  Resource: clvmd (class=ocf provider=heartbeat type=clvm)<br>   Operations: start interval=0s timeout=90 (clvmd-start-interval-0s)<br>               monitor interval=30s on-fail=fence (clvmd-monitor-interval-30s)<br>               stop interval=0s on-fail=fence (clvmd-stop-interval-0s)<br><br>Stonith Devices: <br> Resource: fence_pbx2_xvm (class=stonith type=fence_xvm)<br>  Attributes: port=tegamjg_pbx2 pcmk_host_list=pbx2vs3 <br>  Operations: monitor interval=60s (fence_pbx2_xvm-monitor-interval-60s)<br> Resource: fence_pbx1_xvm (class=stonith type=fence_xvm)<br>  Attributes: port=tegamjg_pbx1 pcmk_host_list=pbx1vs3 <br>  Operations: monitor interval=60s (fence_pbx1_xvm-monitor-interval-60s)<br>Fencing Levels: <br><br>Location Constraints:<br>Ordering Constraints:<br>  start fence_pbx1_xvm then start fence_pbx2_xvm (kind:Mandatory) (id:order-fence_pbx1_xvm-fence_pbx2_xvm-mandatory)<br>  start fence_pbx2_xvm then start dlm-clone (kind:Mandatory) (id:order-fence_pbx2_xvm-dlm-clone-mandatory)<br>  start dlm-clone then start clvmd-clone (kind:Mandatory) (id:order-dlm-clone-clvmd-clone-mandatory)<br>  start clvmd-clone then start asteriskfs-clone (kind:Mandatory) (id:order-clvmd-clone-asteriskfs-clone-mandatory)<br>  start asteriskfs-clone then start asterisk-clone (kind:Mandatory) (id:order-asteriskfs-clone-asterisk-clone-mandatory)<br>Colocation Constraints:<br>  clvmd-clone with dlm-clone (score:INFINITY) (id:colocation-clvmd-clone-dlm-clone-INFINITY)<br>  asteriskfs-clone with clvmd-clone (score:INFINITY) (id:colocation-asteriskfs-clone-clvmd-clone-INFINITY)<br>  asterisk-clone with asteriskfs-clone (score:INFINITY) (id:colocation-asterisk-clone-asteriskfs-clone-INFINITY)<br><br>Resources Defaults:<br> migration-threshold: 2<br> failure-timeout: 10m<br> start-failure-is-fatal: false<br>Operations Defaults:<br> No defaults set<br><br>Cluster Properties:<br> cluster-infrastructure: corosync<br> cluster-name: asteriskcluster<br> dc-version: 1.1.13-10.el7_2.2-44eb2dd<br> have-watchdog: false<br> last-lrm-refresh: 1468598829<br> no-quorum-policy: ignore<br> stonith-action: reboot<br> stonith-enabled: true<br><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">Now my problem is that, for example, when i fence one of the nodes, the other one restarts every clone resource and start them back again, same thing happens when i stop pacemaker and corosync in one node only (pcs cluster stop). That would mean that if i have a problem in one of my Asterisk (for example in DLM resource or CLVMD) that would require fencing right away, for example node pbx2vs3, the other node (pbx1vs3) will restart every service which will drop all my calls in a well functioning node. To be even more general, this happens every time a resource needs stop/start or restart on any node it requires to be done on every node in the cluster.</span><br style="font-size:12.8px"></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">All this leads to a basic question, is this a strict way for clone resources to behave?, is it possible to configure them so they would behave, dare i say, in a more unique way (i know about the option globally-unique but as far as i understand that doesnt do the work). I have been reading about clone resources for a while but there are no many examples about what it cant do.</span><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">There are some meta operations that doesnt make sense, sorry about that, the problem is that i dont know how to delete them with PCSD :). Now, I found something interesting about constraint ordering with clone resources in "Pacemaker Explained" documentation, which describes something like this:<br><i><br>"<constraints><br><rsc_location id="clone-prefers-node1" rsc="apache-clone" node="node1" score="500"/><br><rsc_colocation id="stats-with-clone" rsc="apache-stats" with="apache-clone"/><br><rsc_order id="start-clone-then-stats" first="apache-clone" then="apache-stats"/><br></constraints>"<br><br>"Ordering constraints behave slightly differently for clones. In the example above, apache-stats will<br>wait until all copies of apache-clone that need to be started have done so before being started itself.<br>Only if no copies can be started will apache-stats be prevented from being active. Additionally, the<br>clone will wait for apache-stats to be stopped before stopping itself".<br><br></i></div><div style="font-size:12.8px">I am not sure if that has something to do with it, but i cannot destroy the whole cluster to test it and probably in vain.<br><br></div><div style="font-size:12.8px">Thank you very much. Regards<br><br></div><div style="font-size:12.8px">Alejandro</div>
</div>