[ClusterLabs] DRBD: both nodes stuck in secondary mode
Kevin THIERRY
kevin.thierry.citlao at gmail.com
Wed Jun 15 08:58:36 UTC 2016
I found out why it didn't work, fail-count for resource httpd was at
INFINITY:
# crm_simulate -sL
[...]
<nvpair id="status-2-fail-count-httpd" name="fail-count-httpd"
value="INFINITY"/>
[...]
To reset the fail-count:
# pcs resource failcount reset httpd
Now it works as expected :)
Next step: configure STONISH !
Thanks again !
Kevin
On 06/15/2016 02:18 PM, Kevin THIERRY wrote:
> Hello !
>
> I wasn't expecting such great explanations, thanks a lot Ken ! Also
> thank you for your example Dimitri ! It solved the issue I had !
>
> I'm still having trouble though: when I make the primary node fail (I
> unplug it), the secondary node starts everything as expected but the
> httpd service. However when I plug back the primary node, all
> resources go back to it and everything works fine, even the httpd
> service.
>
> Starting the httpd server manually on the second node works fine
> (using systemctl). I suspect an issue with the allocation scores but I
> don't know how to solve it.
>
> ################################################
> # grep httpd /var/log/cluster/corosync.log
> ################################################
>
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: warning:
> unpack_rsc_op_failure: Processing failed op start for httpd on
> billing-backup-sync: unknown error (1)
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> native_print: httpd (ocf::heartbeat:apache): Started
> billing-primary-sync
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> get_failcount_full: httpd has failed INFINITY times on
> billing-backup-sync
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: warning:
> common_apply_stickiness: Forcing httpd away from
> billing-backup-sync after 1000000 failures (max=1000000)
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> rsc_merge_weights: vip: Rolling back scores from httpd
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> rsc_merge_weights: drbd:1: Rolling back scores from httpd
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> rsc_merge_weights: drbd-master: Rolling back scores from httpd
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> rsc_merge_weights: fs: Rolling back scores from httpd
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> rsc_merge_weights: pgsql: Rolling back scores from httpd
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: info:
> native_color: Resource http cannot run anywhere
> Jun 15 11:58:27 [27192] laa-billing-backup pengine: notice:
> LogActions: Stop httpd(billing-primary-sync)
> Jun 15 11:58:27 [27193] laa-billing-backup crmd: notice:
> te_rsc_command: Initiating action 54: stop httpd_stop_0 on
> billing-primary-sync
> Jun 15 11:58:29 [27188] laa-billing-backup cib: info:
> cib_perform_op: +
> /cib/status/node_state[@id='1']/lrm[@id='1']/lrm_resources/lrm_resource[@id='httpd']/lrm_rsc_op[@id='httpd_last_0']:
> @operation_key=httpd_stop_0, @operation=stop,
> @transition-key=54:75:0:4fdfd97f-42dd-4f04-bf86-294d300df414,
> @transition-magic=0:0;54:75:0:4fdfd97f-42dd-4f04-bf86-294d300df414,
> @call-id=166, @last-run=1465966707, @last-rc-change=1465966707,
> @exec-time=2118
> Jun 15 11:58:29 [27193] laa-billing-backup crmd: info:
> match_graph_event: Action httpd_stop_0 (54) confirmed on
> billing-primary-sync (rc=0)
> On 06/14/2016 09:30 PM, Ken Gaillot wrote:
>
> ################################################
> # crm_simulate -sL
> ################################################
>
> Current cluster status:
> Online: [ billing-backup-sync billing-primary-sync ]
>
> vip (ocf::heartbeat:IPaddr2): Started billing-primary-sync
> Master/Slave Set: drbd-master [drbd]
> Masters: [ billing-primary-sync ]
> Slaves: [ billing-backup-sync ]
> fs (ocf::heartbeat:Filesystem): Started billing-primary-sync
> pgsql (ocf::heartbeat:pgsql): Started billing-primary-sync
> httpd (ocf::heartbeat:apache): Started billing-primary-sync
> Clone Set: ping-clone [ping]
> Started: [ billing-backup-sync billing-primary-sync ]
>
> Allocation scores:
> native_color: vip allocation score on billing-backup-sync: -INFINITY
> native_color: vip allocation score on billing-primary-sync: 400
> clone_color: drbd-master allocation score on billing-backup-sync: 0
> clone_color: drbd-master allocation score on billing-primary-sync: 300
> clone_color: drbd:0 allocation score on billing-backup-sync: 0
> clone_color: drbd:0 allocation score on billing-primary-sync: 10100
> clone_color: drbd:1 allocation score on billing-backup-sync: 10100
> clone_color: drbd:1 allocation score on billing-primary-sync: 0
> native_color: drbd:0 allocation score on billing-backup-sync: 0
> native_color: drbd:0 allocation score on billing-primary-sync: 10100
> native_color: drbd:1 allocation score on billing-backup-sync: 10100
> native_color: drbd:1 allocation score on billing-primary-sync: -INFINITY
> drbd:0 promotion score on billing-primary-sync: INFINITY
> drbd:1 promotion score on billing-backup-sync: -INFINITY
> native_color: fs allocation score on billing-backup-sync: -INFINITY
> native_color: fs allocation score on billing-primary-sync: 10400
> native_color: pgsql allocation score on billing-backup-sync: -INFINITY
> native_color: pgsql allocation score on billing-primary-sync: 200
> native_color: httpd allocation score on billing-backup-sync: -INFINITY
> native_color: httpd allocation score on billing-primary-sync: 100
> clone_color: ping-clone allocation score on billing-backup-sync: 0
> clone_color: ping-clone allocation score on billing-primary-sync: 0
> clone_color: ping:0 allocation score on billing-backup-sync: 0
> clone_color: ping:0 allocation score on billing-primary-sync: 100
> clone_color: ping:1 allocation score on billing-backup-sync: 100
> clone_color: ping:1 allocation score on billing-primary-sync: 0
> native_color: ping:1 allocation score on billing-backup-sync: 100
> native_color: ping:1 allocation score on billing-primary-sync: 0
> native_color: ping:0 allocation score on billing-backup-sync: -INFINITY
> native_color: ping:0 allocation score on billing-primary-sync: 100
>
> Transition Summary:
>
> ################################################
> # Full config
> ################################################
>
> # VIP
> pcs cluster cib vip_cfg
> pcs -f vip_cfg resource create vip ocf:heartbeat:IPaddr2 \
> ip=10.5.200.30 cidr_netmask=24 op monitor interval=30s
> pcs -f vip_cfg constraint location vip prefers billing-primary=100
> pcs cluster cib-push vip_cfg
>
> # DRBD
> pcs cluster cib drbd_cfg
> pcs -f drbd_cfg resource create drbd ocf:linbit:drbd \
> drbd_resource=drbd0 \
> op monitor interval=29s role="Master" \
> op monitor interval=31s role="Slave"
> pcs -f drbd_cfg resource master drbd-master drbd \
> master-max=1 master-node-max=1 clone-max=2 clone-node-max=1
> notify=true
> pcs -f drbd_cfg constraint location drbd-master prefers
> billing-primary=100
> pcs -f drbd_cfg constraint colocation add master drbd-master with vip
> pcs -f drbd_cfg constraint order start vip then promote drbd-master
> pcs cluster cib-push drbd_cfg
>
> # FS
> pcs cluster cib fs_cfg
> pcs -f fs_cfg resource create fs Filesystem \
> device="/dev/drbd0" directory="/data" fstype="ext4"
> pcs -f fs_cfg constraint location fs prefers billing-primary=100
> pcs -f fs_cfg constraint colocation add fs with drbd-master INFINITY
> with-rsc-role=Master
> pcs -f fs_cfg constraint order promote drbd-master then start fs
> pcs cluster cib-push fs_cfg
>
> # PGSQL
> pcs cluster cib pgsql_cfg
> pcs -f pgsql_cfg resource create pgsql pgsql \
> pgctl="/usr/bin/pg_ctl" \
> psql="/usr/bin/psql" \
> pgdata="/data/pgsql/data/" \
> node_list="billing-primary billing-backup" \
> restart_on_promote='true'
> pcs -f pgsql_cfg constraint location pgsql prefers billing-primary=100
> pcs -f pgsql_cfg constraint colocation add pgsql with fs INFINITY
> pcs -f pgsql_cfg constraint order start fs then start pgsql
> pcs cluster cib-push pgsql_cfg
>
> # HTTPD
> pcs cluster cib httpd_cfg
> pcs -f httpd_cfg resource create httpd ocf:heartbeat:apache \
> configfile=/etc/httpd/conf/httpd.conf \
> statusurl="http://localhost/welcome" \
> op monitor interval=1min
> pcs -f httpd_cfg constraint location httpd prefers billing-primary=100
> pcs -f httpd_cfg constraint colocation add httpd with pgsql INFINITY
> pcs -f httpd_cfg constraint order start pgsql then start httpd
> pcs cluster cib-push httpd_cfg
>
> # PING
> pcs cluster cib ping_cfg
> pcs -f ping_cfg resource create ping ocf:pacemaker:ping dampen=5s
> multiplier=1000 host_list="10.5.200.254" --clone
> pcs -f ping_cfg constraint location vip rule score=-INFINITY pingd lt
> 1 or not_defined pingd
> pcs cluster cib-push ping_cfg
>
More information about the Users
mailing list