[ClusterLabs] Entire Group stop on stopping of single Resource (Jan Pokorn?)

jaspal singla jaspal.singla at gmail.com
Tue Aug 23 11:46:16 EDT 2016


Thanks,
Jaspal Singla

On Mon, Aug 22, 2016 at 7:42 PM, <users-request at clusterlabs.org> wrote:

> Send Users mailing list submissions to
>         users at clusterlabs.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://clusterlabs.org/mailman/listinfo/users
> or, via email, send a message with subject or body 'help' to
>         users-request at clusterlabs.org
>
> You can reach the person managing the list at
>         users-owner at clusterlabs.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Users digest..."
>
>
> Today's Topics:
>
>    1. Re: Mysql slave did not start replication after failure, and
>       read-only IP also remained active on the much outdated slave
>       (Attila Megyeri)
>    2. Re: Entire Group stop on stopping of single Resource (Jan Pokorn?)
>    3. Re: Mysql slave did not start replication after failure, and
>       read-only IP also remained active on the much outdated slave
>       (Ken Gaillot)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 22 Aug 2016 14:24:28 +0200
> From: Attila Megyeri <amegyeri at minerva-soft.com>
> To: Cluster Labs - All topics related to open-source clustering
>         welcomed        <users at clusterlabs.org>
> Subject: Re: [ClusterLabs] Mysql slave did not start replication after
>         failure, and read-only IP also remained active on the much outdated
>         slave
> Message-ID:
>         <DA9AC973EEA03848B46F36E07B947E0403E5393E9922 at DESRV05.
> minerva-soft.local>
>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Andrei,
>
> I waited several hours, and nothing happened.
>
> I assume that the RA does not treat this case properly. Mysql was running,
> but the "show slave status" command returned something that the RA was not
> prepared to parse, and instead of reporting a non-readable attribute, it
> returned some generic error, that did not stop the server.
>
> Rgds,
> Attila
>
>
> -----Original Message-----
> From: Andrei Borzenkov [mailto:arvidjaar at gmail.com]
> Sent: Monday, August 22, 2016 11:42 AM
> To: Cluster Labs - All topics related to open-source clustering welcomed <
> users at clusterlabs.org>
> Subject: Re: [ClusterLabs] Mysql slave did not start replication after
> failure, and read-only IP also remained active on the much outdated slave
>
> On Mon, Aug 22, 2016 at 12:18 PM, Attila Megyeri
> <amegyeri at minerva-soft.com> wrote:
> > Dear community,
> >
> >
> >
> > A few days ago we had an issue in our Mysql M/S replication cluster.
> >
> > We have a one R/W Master, and a one RO Slave setup. RO VIP is supposed
> to be
> > running on the slave if it is not too much behind the master, and if any
> > error occurs, RO VIP is moved to the master.
> >
> >
> >
> > Something happened with the slave Mysql (some disk issue, still
> > investigating), but the problem is, that the slave VIP remained on the
> slave
> > device, even though the slave process was not running, and the server was
> > much outdated.
> >
> >
> >
> > During the issue the following log entries appeared (just an extract as
> it
> > would be too long):
> >
> >
> >
> >
> >
> > Aug 20 02:04:07 ctdb1 corosync[1056]:   [MAIN  ] Corosync main process
> was
> > not scheduled for 14088.5488 ms (threshold is 4000.0000 ms). Consider
> token
> > timeout increase.
> >
> > Aug 20 02:04:07 ctdb1 corosync[1056]:   [TOTEM ] A processor failed,
> forming
> > new configuration.
> >
> > Aug 20 02:04:34 ctdb1 corosync[1056]:   [MAIN  ] Corosync main process
> was
> > not scheduled for 27065.2559 ms (threshold is 4000.0000 ms). Consider
> token
> > timeout increase.
> >
> > Aug 20 02:04:34 ctdb1 corosync[1056]:   [TOTEM ] A new membership
> (xxx:6720)
> > was formed. Members left: 168362243 168362281 168362282 168362301
> 168362302
> > 168362311 168362312 1
> >
> > Aug 20 02:04:34 ctdb1 corosync[1056]:   [TOTEM ] A new membership
> (xxx:6724)
> > was formed. Members
> >
> > ..
> >
> > Aug 20 02:13:28 ctdb1 corosync[1056]:   [MAIN  ] Completed service
> > synchronization, ready to provide service.
> >
> > ..
> >
> > Aug 20 02:13:29 ctdb1 attrd[1584]:   notice: attrd_trigger_update:
> Sending
> > flush op to all hosts for: readable (1)
> >
> > ?
> >
> > Aug 20 02:13:32 ctdb1 mysql(db-mysql)[10492]: INFO: post-demote
> notification
> > for ctdb1
> >
> > Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-master)[10490]: INFO: IP status = ok,
> > IP_CIP=
> >
> > Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-ip-master_stop_0 (call=371, rc=0, cib-update=179, confirmed=true) ok
> >
> > Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO: Adding inet
> address
> > xxx/24 with broadcast address xxxx to device eth0
> >
> > Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO: Bringing device
> > eth0 up
> >
> > Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO:
> > /usr/lib/heartbeat/send_arp -i 200 -r 5 -p
> > /usr/var/run/resource-agents/send_arp-xxx eth0 xxx auto not_used
> not_used
> >
> > Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-ip-slave_start_0 (call=377, rc=0, cib-update=180, confirmed=true) ok
> >
> > Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-ip-slave_monitor_20000 (call=380, rc=0, cib-update=181,
> confirmed=false)
> > ok
> >
> > Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-mysql_notify_0 (call=374, rc=0, cib-update=0, confirmed=true) ok
> >
> > Aug 20 02:13:32 ctdb1 attrd[1584]:   notice: attrd_trigger_update:
> Sending
> > flush op to all hosts for: master-db-mysql (1)
> >
> > Aug 20 02:13:32 ctdb1 attrd[1584]:   notice: attrd_perform_update: Sent
> > update 1622: master-db-mysql=1
> >
> > Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-mysql_demote_0 (call=384, rc=0, cib-update=182, confirmed=true) ok
> >
> > Aug 20 02:13:33 ctdb1 mysql(db-mysql)[11160]: INFO: Ignoring post-demote
> > notification for my own demotion.
> >
> > Aug 20 02:13:33 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-mysql_notify_0 (call=387, rc=0, cib-update=0, confirmed=true) ok
> >
> > Aug 20 02:13:33 ctdb1 mysql(db-mysql)[11185]: ERROR: check_slave invoked
> on
> > an instance that is not a replication slave.
> >
> > Aug 20 02:13:33 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> > db-mysql_monitor_7000 (call=390, rc=0, cib-update=183, confirmed=false)
> ok
> >
> > Aug 20 02:13:33 ctdb1 ntpd[1560]: Listen normally on 16 eth0 xxxx. UDP
> 123
> >
> > Aug 20 02:13:33 ctdb1 ntpd[1560]: Deleting interface #12 eth0, xxx#123,
> > interface stats: received=0, sent=0, dropped=0, active_time=2637334 secs
> >
> > Aug 20 02:13:33 ctdb1 ntpd[1560]: peers refreshed
> >
> > Aug 20 02:13:33 ctdb1 ntpd[1560]: new interface(s) found: waking up
> resolver
> >
> > Aug 20 02:13:40 ctdb1 mysql(db-mysql)[11224]: ERROR: check_slave invoked
> on
> > an instance that is not a replication slave.
> >
> > Aug 20 02:13:47 ctdb1 mysql(db-mysql)[11263]: ERROR: check_slave invoked
> on
> > an instance that is not a replication slave.
> >
> >
> >
> > And from this time, the last two lines repeat every 7 seconds (mysql
> > monitoring interval)
> >
> >
> >
> >
> >
> > The expected behavior was that the slave (RO) VIP should have been moved
> to
> > the master, as the secondary db was outdated.
> >
> > Unfortunately I cannot recall what crm_mon was showing when the issue was
> > present, but I am sure that the RA did not handle the situation properly.
> >
> >
> >
> > Placing the slave node into standby and the online resolved the issue
> > immediately (Slave started to sync, and in  a few minutes it catched up
> the
> > master).
> >
> >
> >
> >
> >
> > Here is the relevant config from the configuration:
> >
> >
> >
> >
> >
> > primitive db-ip-master ocf:heartbeat:IPaddr2 \
> >
> >                 params lvs_support="true" ip="XXX" cidr_netmask="24"
> > broadcast="XXX" \
> >
> >                 op start interval="0" timeout="20s" on-fail="restart" \
> >
> >                 op monitor interval="20s" timeout="20s" \
> >
> >                 op stop interval="0" timeout="20s" on-fail="block"
> >
> >
> >
> > primitive db-ip-slave ocf:heartbeat:IPaddr2 \
> >
> >                 params lvs_support="true" ip="XXX" cidr_netmask="24"
> > broadcast="XXX" \
> >
> >                 op start interval="0" timeout="20s" on-fail="restart" \
> >
> >                 op monitor interval="20s" timeout="20s" \
> >
> >                 op stop interval="0" timeout="20s" on-fail="block" \
> >
> >                 meta target-role="Started"
> >
> >
> >
> > primitive db-mysql ocf:heartbeat:mysql \
> >
> >                 params binary="/usr/bin/mysqld_safe"
> > config="/etc/mysql/my.cnf" datadir="/var/lib/mysql" user="mysql"
> > pid="/var/run/mysqld/mysqld.pid" socket="/var/run/mysqld/mysqld.sock"
> > test_passwd="XXX" test_table="XXX" test_user="XXX" replication_user="XXX"
> > replication_passwd="XXX" additional_parameters="--skip-slave-start" \
> >
> >                 op start interval="0" timeout="240s" on-fail="restart" \
> >
> >                 op stop interval="0" timeout="120s" on-fail="block" \
> >
> >                 op monitor interval="7" timeout="30s" on-fail="restart"
> > OCF_CHECK_LEVEL="1" \
> >
> >                 op promote interval="0" timeout="120" on-fail="restart" \
> >
> >                 op demote interval="0" timeout="120" on-fail="block"
> >
> >
> >
> > ms mysql db-mysql \
> >
> >                 meta notify="true" master-max="1" clone-max="2"
> > target-role="Started" is-managed="true"
> >
> >
> >
> > location db-ip-m-1 db-ip-master 0: ctdb1
> >
> > location db-ip-m-2 db-ip-master 0: ctdb2
> >
> > location db-ip-s-1 db-ip-slave 0: ctdb1
> >
> > location db-ip-s-2 db-ip-slave 0: ctdb2
> >
> > location db-ip-s-readable db-ip-slave \
> >
> >                 rule $id="rule-no-reader-slave" -inf: readable lt 1
> >
>
> How long did you wait? Conditions are reevaluated every
> cluster-recheck-interval which is 15 minutes by default.
>
> > location db-mysql-loc-1 mysql 100: ctdb1
> >
> > location db-mysql-loc-2 mysql 100: ctdb2
> >
> >
> >
> > colocation db-ip-slave-master -50: db-ip-slave db-ip-master
> >
> > colocation db-ip-with-master inf: db-ip-master mysql:Master
> >
> > colocation db-slave-on-db inf: db-ip-slave mysql
> >
> > order master-after-db inf: mysql db-ip-master
> >
> > order slave-after-db inf: mysql db-ip-slave
> >
> >
> >
> > property $id="cib-bootstrap-options" \
> >
> >                 dc-version="1.1.10-42f2063" \
> >
> >                 cluster-infrastructure="corosync" \
> >
> >                 symmetric-cluster="false" \
> >
> >                 cluster-recheck-interval="2m" \
> >
> >                 no-quorum-policy="stop" \
> >
> >                 stop-orphan-resources="false" \
> >
> >                 start-failure-is-fatal="false" \
> >
> >                 maintenance-mode="false"
> >
> > property $id="mysql_replication" \
> >
> >                 db-mysql_REPL_INFO="ctdb2|mysql-bin.002928|107"
> >
> > rsc_defaults $id="rsc-options" \
> >
> >                 resource-stickiness="0"
> >
> >
> >
> >
> >
> >
> >
> > Do you have any hints what could have gone wrong, and how we could avoid
> > such issues in the future?
> >
> >
> >
> > Versions:
> >
> > Ubuntu Trusty Tahr
> >
> > Pacemaker 1.1.10
> >
> > Corosync 2.3.3
> >
> > Resource agents 3.9.3
> >
> >
> >
> >
> >
> > Thanks a lot in advance,
> >
> >
> >
> > Attila
> >
> >
> >
> >
> > _______________________________________________
> > Users mailing list: Users at clusterlabs.org
> > http://clusterlabs.org/mailman/listinfo/users
> >
> > Project Home: http://www.clusterlabs.org
> > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> > Bugs: http://bugs.clusterlabs.org
> >
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org
>
> ------------------------------
>
> Message: 2
> Date: Mon, 22 Aug 2016 15:32:03 +0200
> From: Jan Pokorn? <jpokorny at redhat.com>
> To: Cluster Labs - All topics related to open-source clustering
>         welcomed        <users at clusterlabs.org>
> Subject: Re: [ClusterLabs] Entire Group stop on stopping of single
>         Resource
> Message-ID: <20160822133203.GO15835 at redhat.com>
> Content-Type: text/plain; charset="us-ascii"
>
>
Hi John,

Thanks for replying. Please find the in-line answers:


> On 19/08/16 23:09 +0530, jaspal singla wrote:
> > I have an resource group (ctm_service) comprise of various resources. Now
> > the requirement is when one of its resource stops for soem time (10-20)
> > seconds, I want entire group will be stopped.
>
> Note that if resource is stopped _just_ for this period (in seconds)
> while monitor is set to a bigger value (30 s), pacemaker may miss the
> resource being intermittently stopped.
>

original config has stop interval of 5s and the resource does get stopped
but here I want to achieve that - If any of the resource stops, all other
resources configured along with that resource would also be stopped. Is
their a way for such setting? Can I use on-fail=standby on group so that if
any of the resource gets stop, rest of the resources would also gets
stopped?



>
> > Is it possible to achieve this in pacemaker. Please help!
>
> Just for clarification, do you mean stopped completely within the
> cluster and not just on the node the group was running when one of
> its resources stopped?
>

Just stopped completely on that node. We have separate scripts which takes
care of switching over to other node but for that entire resources on the
serving nodes has to be stopped. Is thier any way? Please suggest.



> >  Resource Group: ctm_service
> >      FSCheck
> > (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/FsCheckAgent.py):
> >        (target-role:Stopped) Stopped
> >      NTW_IF     (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/
> NtwIFAgent.py):
> >  (target-role:Stopped) Stopped
> >      CTM_RSYNC  (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/
> RsyncAgent.py):
> >  (target-role:Stopped) Stopped
> >      REPL_IF    (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/ODG_
> IFAgent.py):
> > (target-role:Stopped) Stopped
> >      ORACLE_REPLICATOR
> > (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/ODG_ReplicatorAgent.py):
> > (target-role:Stopped) Stopped
> >      CTM_SID    (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/
> OracleAgent.py):
> > (target-role:Stopped) Stopped
> >      CTM_SRV    (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/
> CtmAgent.py):
> >    (target-role:Stopped) Stopped
> >      CTM_APACHE (lsb:../../..//cisco/PrimeOpticalServer/HA/bin/
> ApacheAgent.py):
> > (target-role:Stopped) Stopped
> > ____________________________________________________________
> > _________________
> >
> >
> > This is resource and resource group properties:
> >
> > ____________________________________________________________
> > ___________________
> >
> > pcs -f cib.xml.geo resource create FSCheck lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/FsCheckAgent.py op monitor
> id=FSCheck-OP-monitor
> > name=monitor interval=30s
> > pcs -f cib.xml.geo resource create NTW_IF lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/NtwIFAgent.py op monitor
> id=NtwIFAgent-OP-monitor
> > name=monitor interval=30s
> > pcs -f cib.xml.geo resource create CTM_RSYNC lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/RsyncAgent.py op monitor
> id=CTM_RSYNC-OP-monitor
> > name=monitor interval=30s on-fail=ignore stop id=CTM_RSYNC-OP-stop
> > interval=0 on-fail=stop
> > pcs -f cib.xml.geo resource create REPL_IF lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/ODG_IFAgent.py op monitor
> id=REPL_IF-OP-monitor
> > name=monitor interval=30 on-fail=ignore stop id=REPL_IF-OP-stop
> interval=0
> > on-fail=stop
> > pcs -f cib.xml.geo resource create ORACLE_REPLICATOR lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/ODG_ReplicatorAgent.py op monitor
> > id=ORACLE_REPLICATOR-OP-monitor name=monitor interval=30s on-fail=ignore
> > stop id=ORACLE_REPLICATOR-OP-stop interval=0 on-fail=stop
> > pcs -f cib.xml.geo resource create CTM_SID lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/OracleAgent.py op monitor
> id=CTM_SID-OP-monitor
> > name=monitor interval=30s
> > pcs -f cib.xml.geo resource create CTM_SRV lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/CtmAgent.py op monitor id=CTM_SRV-OP-monitor
> > name=monitor interval=30s
> > pcs -f cib.xml.geo resource create CTM_APACHE lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/ApacheAgent.py op monitor
> > id=CTM_APACHE-OP-monitor name=monitor interval=30s
> > pcs -f cib.xml.geo resource create CTM_HEARTBEAT lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/HeartBeat.py op monitor
> > id=CTM_HEARTBEAT-OP-monitor name=monitor interval=30s
> > pcs -f cib.xml.geo resource create FLASHBACK  lsb:../../..//cisco/
> > PrimeOpticalServer/HA/bin/FlashBackMonitor.py op monitor
> > id=FLASHBACK-OP-monitor name=monitor interval=30s
> >
> >
> > pcs -f cib.xml.geo resource group add ctm_service FSCheck NTW_IF
> CTM_RSYNC
> > REPL_IF ORACLE_REPLICATOR CTM_SID CTM_SRV CTM_APACHE
> >
> > pcs -f cib.xml.geo resource meta ctm_service migration-threshold=1
> > failure-timeout=10 target-role=stopped
>
> Why do you have target-role=stopped (should preferably be title-cased
> "Stopped") here/is that only for the test purposes?  I ask as it may
> intefere with any subsequent modifications.
>
>
I don't want pacemaker should be able to start the resources by their won
configured under "ctm_service" group. We manually perform that operation.


> P.S. The presented configuration resembles output of clufter, so any
> feedback to be turned into its improvements welcome.
>
> Yea, I am aware that and you helped in the past for clufter setup.

One thing I noticed that - Whenever I add any resource operation through
script (add to temp file and then import to CIB main database), it won't
work.

I am able to see the added resource operation through pcs resource
ctm_service --full command but these are of no use.

I have to manually add all of the resource operations one by one on running
CIB config like this:

pcs resource op add CTM_ARV monitor interval=10s timeout=20s


--
> Jan (Poki)
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: not available
> Type: application/pgp-signature
> Size: 819 bytes
> Desc: not available
> URL: <http://clusterlabs.org/pipermail/users/attachments/
> 20160822/f99b8eff/attachment-0001.sig>
>
>
Please help to let me know if there is any option to put the entire node on
standby, if any of the resource gets stopped.


BR,
JAspal



> ------------------------------
>
> Message: 3
> Date: Mon, 22 Aug 2016 09:11:34 -0500
> From: Ken Gaillot <kgaillot at redhat.com>
> To: users at clusterlabs.org
> Subject: Re: [ClusterLabs] Mysql slave did not start replication after
>         failure, and read-only IP also remained active on the much outdated
>         slave
> Message-ID: <4186e373-38d4-af62-c2b1-589f968c9463 at redhat.com>
> Content-Type: text/plain; charset=utf-8
>
> On 08/22/2016 07:24 AM, Attila Megyeri wrote:
> > Hi Andrei,
> >
> > I waited several hours, and nothing happened.
>
> And actually, we can see from the configuration you provided that
> cluster-recheck-interval is 2 minutes.
>
> I don't see anything about stonith; is it enabled and tested? This looks
> like a situation where stonith would come into play. I know that power
> fencing can be rough on a MySQL database, but perhaps intelligent
> switches with network fencing would be appropriate.
>
> The "Corosync main process was not scheduled" message is the start of
> the trouble. It means the system was overloaded and corosync didn't get
> any CPU time, so it couldn't maintain cluster communication.
>
> Probably the most useful thing would be to upgrade to a recent version
> of corosync+pacemaker+resource-agents. Recent corosync versions run with
> realtime priority, which makes this much less likely.
>
> Other than that, figure out what the load issue was, and try to prevent
> it from recurring.
>
> I'm not familiar enough with the RA to comment on its behavior. If you
> think it's suspect, check the logs during the incident for messages from
> the RA.
>
> > I assume that the RA does not treat this case properly. Mysql was
> running, but the "show slave status" command returned something that the RA
> was not prepared to parse, and instead of reporting a non-readable
> attribute, it returned some generic error, that did not stop the server.
> >
> > Rgds,
> > Attila
> >
> >
> > -----Original Message-----
> > From: Andrei Borzenkov [mailto:arvidjaar at gmail.com]
> > Sent: Monday, August 22, 2016 11:42 AM
> > To: Cluster Labs - All topics related to open-source clustering welcomed
> <users at clusterlabs.org>
> > Subject: Re: [ClusterLabs] Mysql slave did not start replication after
> failure, and read-only IP also remained active on the much outdated slave
> >
> > On Mon, Aug 22, 2016 at 12:18 PM, Attila Megyeri
> > <amegyeri at minerva-soft.com> wrote:
> >> Dear community,
> >>
> >>
> >>
> >> A few days ago we had an issue in our Mysql M/S replication cluster.
> >>
> >> We have a one R/W Master, and a one RO Slave setup. RO VIP is supposed
> to be
> >> running on the slave if it is not too much behind the master, and if any
> >> error occurs, RO VIP is moved to the master.
> >>
> >>
> >>
> >> Something happened with the slave Mysql (some disk issue, still
> >> investigating), but the problem is, that the slave VIP remained on the
> slave
> >> device, even though the slave process was not running, and the server
> was
> >> much outdated.
> >>
> >>
> >>
> >> During the issue the following log entries appeared (just an extract as
> it
> >> would be too long):
> >>
> >>
> >>
> >>
> >>
> >> Aug 20 02:04:07 ctdb1 corosync[1056]:   [MAIN  ] Corosync main process
> was
> >> not scheduled for 14088.5488 ms (threshold is 4000.0000 ms). Consider
> token
> >> timeout increase.
> >>
> >> Aug 20 02:04:07 ctdb1 corosync[1056]:   [TOTEM ] A processor failed,
> forming
> >> new configuration.
> >>
> >> Aug 20 02:04:34 ctdb1 corosync[1056]:   [MAIN  ] Corosync main process
> was
> >> not scheduled for 27065.2559 ms (threshold is 4000.0000 ms). Consider
> token
> >> timeout increase.
> >>
> >> Aug 20 02:04:34 ctdb1 corosync[1056]:   [TOTEM ] A new membership
> (xxx:6720)
> >> was formed. Members left: 168362243 168362281 168362282 168362301
> 168362302
> >> 168362311 168362312 1
> >>
> >> Aug 20 02:04:34 ctdb1 corosync[1056]:   [TOTEM ] A new membership
> (xxx:6724)
> >> was formed. Members
> >>
> >> ..
> >>
> >> Aug 20 02:13:28 ctdb1 corosync[1056]:   [MAIN  ] Completed service
> >> synchronization, ready to provide service.
> >>
> >> ..
> >>
> >> Aug 20 02:13:29 ctdb1 attrd[1584]:   notice: attrd_trigger_update:
> Sending
> >> flush op to all hosts for: readable (1)
> >>
> >> ?
> >>
> >> Aug 20 02:13:32 ctdb1 mysql(db-mysql)[10492]: INFO: post-demote
> notification
> >> for ctdb1
> >>
> >> Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-master)[10490]: INFO: IP status =
> ok,
> >> IP_CIP=
> >>
> >> Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-ip-master_stop_0 (call=371, rc=0, cib-update=179, confirmed=true) ok
> >>
> >> Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO: Adding inet
> address
> >> xxx/24 with broadcast address xxxx to device eth0
> >>
> >> Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO: Bringing device
> >> eth0 up
> >>
> >> Aug 20 02:13:32 ctdb1 IPaddr2(db-ip-slave)[10620]: INFO:
> >> /usr/lib/heartbeat/send_arp -i 200 -r 5 -p
> >> /usr/var/run/resource-agents/send_arp-xxx eth0 xxx auto not_used
> not_used
> >>
> >> Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-ip-slave_start_0 (call=377, rc=0, cib-update=180, confirmed=true) ok
> >>
> >> Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-ip-slave_monitor_20000 (call=380, rc=0, cib-update=181,
> confirmed=false)
> >> ok
> >>
> >> Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-mysql_notify_0 (call=374, rc=0, cib-update=0, confirmed=true) ok
> >>
> >> Aug 20 02:13:32 ctdb1 attrd[1584]:   notice: attrd_trigger_update:
> Sending
> >> flush op to all hosts for: master-db-mysql (1)
> >>
> >> Aug 20 02:13:32 ctdb1 attrd[1584]:   notice: attrd_perform_update: Sent
> >> update 1622: master-db-mysql=1
> >>
> >> Aug 20 02:13:32 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-mysql_demote_0 (call=384, rc=0, cib-update=182, confirmed=true) ok
> >>
> >> Aug 20 02:13:33 ctdb1 mysql(db-mysql)[11160]: INFO: Ignoring post-demote
> >> notification for my own demotion.
> >>
> >> Aug 20 02:13:33 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-mysql_notify_0 (call=387, rc=0, cib-update=0, confirmed=true) ok
> >>
> >> Aug 20 02:13:33 ctdb1 mysql(db-mysql)[11185]: ERROR: check_slave
> invoked on
> >> an instance that is not a replication slave.
> >>
> >> Aug 20 02:13:33 ctdb1 crmd[1586]:   notice: process_lrm_event: LRM
> operation
> >> db-mysql_monitor_7000 (call=390, rc=0, cib-update=183, confirmed=false)
> ok
> >>
> >> Aug 20 02:13:33 ctdb1 ntpd[1560]: Listen normally on 16 eth0 xxxx. UDP
> 123
> >>
> >> Aug 20 02:13:33 ctdb1 ntpd[1560]: Deleting interface #12 eth0, xxx#123,
> >> interface stats: received=0, sent=0, dropped=0, active_time=2637334 secs
> >>
> >> Aug 20 02:13:33 ctdb1 ntpd[1560]: peers refreshed
> >>
> >> Aug 20 02:13:33 ctdb1 ntpd[1560]: new interface(s) found: waking up
> resolver
> >>
> >> Aug 20 02:13:40 ctdb1 mysql(db-mysql)[11224]: ERROR: check_slave
> invoked on
> >> an instance that is not a replication slave.
> >>
> >> Aug 20 02:13:47 ctdb1 mysql(db-mysql)[11263]: ERROR: check_slave
> invoked on
> >> an instance that is not a replication slave.
> >>
> >>
> >>
> >> And from this time, the last two lines repeat every 7 seconds (mysql
> >> monitoring interval)
> >>
> >>
> >>
> >>
> >>
> >> The expected behavior was that the slave (RO) VIP should have been
> moved to
> >> the master, as the secondary db was outdated.
> >>
> >> Unfortunately I cannot recall what crm_mon was showing when the issue
> was
> >> present, but I am sure that the RA did not handle the situation
> properly.
> >>
> >>
> >>
> >> Placing the slave node into standby and the online resolved the issue
> >> immediately (Slave started to sync, and in  a few minutes it catched up
> the
> >> master).
> >>
> >>
> >>
> >>
> >>
> >> Here is the relevant config from the configuration:
> >>
> >>
> >>
> >>
> >>
> >> primitive db-ip-master ocf:heartbeat:IPaddr2 \
> >>
> >>                 params lvs_support="true" ip="XXX" cidr_netmask="24"
> >> broadcast="XXX" \
> >>
> >>                 op start interval="0" timeout="20s" on-fail="restart" \
> >>
> >>                 op monitor interval="20s" timeout="20s" \
> >>
> >>                 op stop interval="0" timeout="20s" on-fail="block"
> >>
> >>
> >>
> >> primitive db-ip-slave ocf:heartbeat:IPaddr2 \
> >>
> >>                 params lvs_support="true" ip="XXX" cidr_netmask="24"
> >> broadcast="XXX" \
> >>
> >>                 op start interval="0" timeout="20s" on-fail="restart" \
> >>
> >>                 op monitor interval="20s" timeout="20s" \
> >>
> >>                 op stop interval="0" timeout="20s" on-fail="block" \
> >>
> >>                 meta target-role="Started"
> >>
> >>
> >>
> >> primitive db-mysql ocf:heartbeat:mysql \
> >>
> >>                 params binary="/usr/bin/mysqld_safe"
> >> config="/etc/mysql/my.cnf" datadir="/var/lib/mysql" user="mysql"
> >> pid="/var/run/mysqld/mysqld.pid" socket="/var/run/mysqld/mysqld.sock"
> >> test_passwd="XXX" test_table="XXX" test_user="XXX"
> replication_user="XXX"
> >> replication_passwd="XXX" additional_parameters="--skip-slave-start" \
> >>
> >>                 op start interval="0" timeout="240s" on-fail="restart" \
> >>
> >>                 op stop interval="0" timeout="120s" on-fail="block" \
> >>
> >>                 op monitor interval="7" timeout="30s" on-fail="restart"
> >> OCF_CHECK_LEVEL="1" \
> >>
> >>                 op promote interval="0" timeout="120" on-fail="restart"
> \
> >>
> >>                 op demote interval="0" timeout="120" on-fail="block"
> >>
> >>
> >>
> >> ms mysql db-mysql \
> >>
> >>                 meta notify="true" master-max="1" clone-max="2"
> >> target-role="Started" is-managed="true"
> >>
> >>
> >>
> >> location db-ip-m-1 db-ip-master 0: ctdb1
> >>
> >> location db-ip-m-2 db-ip-master 0: ctdb2
> >>
> >> location db-ip-s-1 db-ip-slave 0: ctdb1
> >>
> >> location db-ip-s-2 db-ip-slave 0: ctdb2
> >>
> >> location db-ip-s-readable db-ip-slave \
> >>
> >>                 rule $id="rule-no-reader-slave" -inf: readable lt 1
> >>
> >
> > How long did you wait? Conditions are reevaluated every
> > cluster-recheck-interval which is 15 minutes by default.
> >
> >> location db-mysql-loc-1 mysql 100: ctdb1
> >>
> >> location db-mysql-loc-2 mysql 100: ctdb2
> >>
> >>
> >>
> >> colocation db-ip-slave-master -50: db-ip-slave db-ip-master
> >>
> >> colocation db-ip-with-master inf: db-ip-master mysql:Master
> >>
> >> colocation db-slave-on-db inf: db-ip-slave mysql
> >>
> >> order master-after-db inf: mysql db-ip-master
> >>
> >> order slave-after-db inf: mysql db-ip-slave
> >>
> >>
> >>
> >> property $id="cib-bootstrap-options" \
> >>
> >>                 dc-version="1.1.10-42f2063" \
> >>
> >>                 cluster-infrastructure="corosync" \
> >>
> >>                 symmetric-cluster="false" \
> >>
> >>                 cluster-recheck-interval="2m" \
> >>
> >>                 no-quorum-policy="stop" \
> >>
> >>                 stop-orphan-resources="false" \
> >>
> >>                 start-failure-is-fatal="false" \
> >>
> >>                 maintenance-mode="false"
> >>
> >> property $id="mysql_replication" \
> >>
> >>                 db-mysql_REPL_INFO="ctdb2|mysql-bin.002928|107"
> >>
> >> rsc_defaults $id="rsc-options" \
> >>
> >>                 resource-stickiness="0"
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Do you have any hints what could have gone wrong, and how we could avoid
> >> such issues in the future?
> >>
> >>
> >>
> >> Versions:
> >>
> >> Ubuntu Trusty Tahr
> >>
> >> Pacemaker 1.1.10
> >>
> >> Corosync 2.3.3
> >>
> >> Resource agents 3.9.3
> >>
> >>
> >>
> >>
> >>
> >> Thanks a lot in advance,
> >>
> >>
> >>
> >> Attila
>
>
>
> ------------------------------
>
> _______________________________________________
> Users mailing list
> Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
>
>
> End of Users Digest, Vol 19, Issue 41
> *************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clusterlabs.org/pipermail/users/attachments/20160823/550df65b/attachment-0002.html>


More information about the Users mailing list