<div dir="auto"><div>Hi - My systems are single core cpu VMs running on azure platform. I am running MySQL on the nodes that do generate high io load. And my bad , I meant to say 'High CPU load detected' logged by crmd and not corosync. Corosync logs messages like 'Corosync main process was not scheduled for.....' kind of messages which inturn makes pacemaker monitor action to fail sometimes. Is increasing token timeout a solution for this or any other ways ?</div><div dir="auto"><br></div><div dir="auto">Thanks for the help</div><div dir="auto">Prasaf<br><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Wed, 22 Aug 2018, 11:55 am Jan Friesse, <<a href="mailto:jfriesse@redhat.com" target="_blank" rel="noreferrer">jfriesse@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Prasad,<br>
<br>
> Thanks Ken and Ulrich. There is definitely high IO on the system with<br>
> sometimes IOWAIT s of upto 90%<br>
> I have come across some previous posts that IOWAIT is also considered as<br>
> CPU load by Corosync. Is this true ? Does having high IO may lead corosync<br>
> complain as in " Corosync main process was not scheduled for..." or "Hi > CPU load detected.." ?<br>
<br>
Yes it can.<br>
<br>
Corosync never logs "Hi CPU load detected...".<br>
<br>
> <br>
> I will surely monitor the system more.<br>
<br>
Is that system VM or physical machine? Because " Corosync main process <br>
was not scheduled for..." is usually happening on VMs where hosts are <br>
highly overloaded.<br>
<br>
Honza<br>
<br>
> <br>
> Thanks for your help.<br>
> Prasad<br>
> <br>
> <br>
> <br>
> On Tue, Aug 21, 2018 at 9:07 PM, Ken Gaillot <<a href="mailto:kgaillot@redhat.com" rel="noreferrer noreferrer" target="_blank">kgaillot@redhat.com</a>> wrote:<br>
> <br>
>> On Tue, 2018-08-21 at 15:29 +0200, Ulrich Windl wrote:<br>
>>>>>> Prasad Nagaraj <<a href="mailto:prasad.nagaraj76@gmail.com" rel="noreferrer noreferrer" target="_blank">prasad.nagaraj76@gmail.com</a>> schrieb am<br>
>>>>>> 21.08.2018 um 11:42 in<br>
>>><br>
>>> Nachricht<br>
>>> <<a href="mailto:CAHbCUJ0zdvpYALCR7tbnGgb8qrZHh8uDjE%2BRsnkoewvmFb8wAg@mail.gmail.com" rel="noreferrer noreferrer" target="_blank">CAHbCUJ0zdvpYALCR7tbnGgb8qrZHh8uDjE+RsnkoewvmFb8wAg@mail.gmail.com</a>>:<br>
>>>> Hi Ken - Thanks for you response.<br>
>>>><br>
>>>> We do have seen messages in other cases like<br>
>>>> corosync [MAIN  ] Corosync main process was not scheduled for<br>
>>>> 17314.4746 ms<br>
>>>> (threshold is 8000.0000 ms). Consider token timeout increase.<br>
>>>> corosync [TOTEM ] A processor failed, forming new configuration.<br>
>>>><br>
>>>> Is this the indication of a failure due to CPU load issues and will<br>
>>>> this<br>
>>>> get resolved if I upgrade to Corosync 2.x series ?<br>
>><br>
>> Yes, most definitely this is a CPU issue. It means corosync isn't<br>
>> getting enough CPU cycles to handle the cluster token before the<br>
>> timeout is reached.<br>
>><br>
>> Upgrading may indeed help, as recent versions ensure that corosync runs<br>
>> with real-time priority in the kernel, and thus are more likely to get<br>
>> CPU time when something of lower priority is consuming all the CPU.<br>
>><br>
>> But of course, there is some underlying problem that should be<br>
>> identified and addressed. Figure out what's maxing out the CPU or I/O.<br>
>> Ulrich's monitoring suggestion is a good start.<br>
>><br>
>>> Hi!<br>
>>><br>
>>> I'd strongly recommend starting monitoring on your nodes, at least<br>
>>> until you know what's going on. The good old UNIX sa (sysstat<br>
>>> package) could be a starting point. I'd monitor CPU idle<br>
>>> specifically. Then go for 100% device utilization, then look for<br>
>>> network bottlenecks...<br>
>>><br>
>>> A new corosync release cannot fix those, most likely.<br>
>>><br>
>>> Regards,<br>
>>> Ulrich<br>
>>><br>
>>>><br>
>>>> In any case, for the current scenario, we did not see any<br>
>>>> scheduling<br>
>>>> related messages.<br>
>>>><br>
>>>> Thanks for your help.<br>
>>>> Prasad<br>
>>>><br>
>>>> On Mon, Aug 20, 2018 at 7:57 PM, Ken Gaillot <<a href="mailto:kgaillot@redhat.com" rel="noreferrer noreferrer" target="_blank">kgaillot@redhat.com</a>><br>
>>>> wrote:<br>
>>>><br>
>>>>> On Sun, 2018-08-19 at 17:35 +0530, Prasad Nagaraj wrote:<br>
>>>>>> Hi:<br>
>>>>>><br>
>>>>>> One of these days, I saw a spurious node loss on my 3-node<br>
>>>>>> corosync<br>
>>>>>> cluster with following logged in the corosync.log of one of the<br>
>>>>>> nodes.<br>
>>>>>><br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] notice: pcmk_peer_update:<br>
>>>>>> Transitional membership event on ring 32: memb=2, new=0, lost=1<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: pcmk_peer_update: memb:<br>
>>>>>> vm02d780875f 67114156<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: pcmk_peer_update: memb:<br>
>>>>>> vmfa2757171f 151000236<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: pcmk_peer_update: lost:<br>
>>>>>> vm728316982d 201331884<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] notice: pcmk_peer_update:<br>
>>>>>> Stable<br>
>>>>>> membership event on ring 32: memb=2, new=0, lost=0<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: pcmk_peer_update: MEMB:<br>
>>>>>> vm02d780875f 67114156<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: pcmk_peer_update: MEMB:<br>
>>>>>> vmfa2757171f 151000236<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info:<br>
>>>>>> ais_mark_unseen_peer_dead:<br>
>>>>>> Node vm728316982d was not seen in the previous transition<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info: update_member: Node<br>
>>>>>> 201331884/vm728316982d is now: lost<br>
>>>>>> Aug 18 12:40:25 corosync [pcmk  ] info:<br>
>>>>>> send_member_notification:<br>
>>>>>> Sending membership update 32 to 3 children<br>
>>>>>> Aug 18 12:40:25 corosync [TOTEM ] A processor joined or left<br>
>>>>>> the<br>
>>>>>> membership and a new membership was formed.<br>
>>>>>> Aug 18 12:40:25 [4544] vmfa2757171f stonith-ng:     info:<br>
>>>>>> plugin_handle_membership:     Membership 32: quorum retained<br>
>>>>>> Aug 18 12:40:25 [4544] vmfa2757171f stonith-ng:   notice:<br>
>>>>>> crm_update_peer_state_iter:   plugin_handle_membership: Node<br>
>>>>>> vm728316982d[201331884] - state is now lost (was member)<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:     info:<br>
>>>>>> plugin_handle_membership:     Membership 32: quorum retained<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:   notice:<br>
>>>>>> crm_update_peer_state_iter:   plugin_handle_membership: Node<br>
>>>>>> vm728316982d[201331884] - state is now lost (was member)<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:     info:<br>
>>>>>> peer_update_callback: vm728316982d is now lost (was member)<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:  warning:<br>
>>>>>> match_down_event:     No match for shutdown action on<br>
>>>>>> vm728316982d<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:   notice:<br>
>>>>>> peer_update_callback: Stonith/shutdown of vm728316982d not<br>
>>>>>> matched<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:     info:<br>
>>>>>> crm_update_peer_join: peer_update_callback: Node<br>
>>>>>> vm728316982d[201331884] - join-6 phase 4 -> 0<br>
>>>>>> Aug 18 12:40:25 [4548] vmfa2757171f       crmd:     info:<br>
>>>>>> abort_transition_graph:       Transition aborted: Node failure<br>
>>>>>> (source=peer_update_callback:240, 1)<br>
>>>>>> Aug 18 12:40:25 [4543] vmfa2757171f        cib:     info:<br>
>>>>>> plugin_handle_membership:     Membership 32: quorum retained<br>
>>>>>> Aug 18 12:40:25 [4543] vmfa2757171f        cib:   notice:<br>
>>>>>> crm_update_peer_state_iter:   plugin_handle_membership: Node<br>
>>>>>> vm728316982d[201331884] - state is now lost (was member)<br>
>>>>>> Aug 18 12:40:25 [4543] vmfa2757171f        cib:   notice:<br>
>>>>>> crm_reap_dead_member: Removing vm728316982d/201331884 from the<br>
>>>>>> membership list<br>
>>>>>> Aug 18 12:40:25 [4543] vmfa2757171f        cib:   notice:<br>
>>>>>> reap_crm_member:      Purged 1 peers with id=201331884 and/or<br>
>>>>>> uname=vm728316982d from the membership cache<br>
>>>>>> Aug 18 12:40:25 [4544] vmfa2757171f stonith-ng:   notice:<br>
>>>>>> crm_reap_dead_member: Removing vm728316982d/201331884 from the<br>
>>>>>> membership list<br>
>>>>>> Aug 18 12:40:25 [4544] vmfa2757171f stonith-ng:   notice:<br>
>>>>>> reap_crm_member:      Purged 1 peers with id=201331884 and/or<br>
>>>>>> uname=vm728316982d from the membership cache<br>
>>>>>><br>
>>>>>> However, within seconds, the node was able to join back.<br>
>>>>>><br>
>>>>>> Aug 18 12:40:34 corosync [pcmk  ] notice: pcmk_peer_update:<br>
>>>>>> Stable<br>
>>>>>> membership event on ring 36: memb=3, new=1, lost=0<br>
>>>>>> Aug 18 12:40:34 corosync [pcmk  ] info: update_member: Node<br>
>>>>>> 201331884/vm728316982d is now: member<br>
>>>>>> Aug 18 12:40:34 corosync [pcmk  ] info: pcmk_peer_update: NEW:<br>
>>>>>> vm728316982d 201331884<br>
>>>>>><br>
>>>>>><br>
>>>>>> But this was enough time for the cluster to get into split<br>
>>>>>> brain kind<br>
>>>>>> of situation with  a resource on the node vm728316982d being<br>
>>>>>> stopped<br>
>>>>>> because of this node loss detection.<br>
>>>>>><br>
>>>>>> Could anyone help whether this could happen due to any<br>
>>>>>> transient<br>
>>>>>> network distortion or so ?<br>
>>>>>> Are there any configuration settings that can be applied in<br>
>>>>>> corosync.conf so that cluster is more resilient to such<br>
>>>>>> temporary<br>
>>>>>> distortions.<br>
>>>>><br>
>>>>> Your corosync sensitivity of 10-second token timeout and 10<br>
>>>>> retransimissions is already very lengthy -- likely the node was<br>
>>>>> already<br>
>>>>> unresponsive for more than 10 seconds before the first message<br>
>>>>> above,<br>
>>>>> so it was more than 18 seconds before it rejoined.<br>
>>>>><br>
>>>>> It's rarely a good idea to change<br>
>>>>> token_retransmits_before_loss_const;<br>
>>>>> changing token is generally enough to deal with transient network<br>
>>>>> unreliability. However 18 seconds is a really long time to raise<br>
>>>>> the<br>
>>>>> token to, and it's uncertain from the information here whether<br>
>>>>> the root<br>
>>>>> cause was networking or something on the host.<br>
>>>>><br>
>>>>> I notice your configuration is corosync 1 with the pacemaker<br>
>>>>> plugin;<br>
>>>>> that is a long-deprecated setup, and corosync 3 is about to come<br>
>>>>> out,<br>
>>>>> so you may want to consider upgrading to at least corosync 2 and<br>
>>>>> a<br>
>>>>> reasonably recent pacemaker. That would give you some reliability<br>
>>>>> improvements, including real-time priority scheduling of<br>
>>>>> corosync,<br>
>>>>> which could have been the issue here if CPU load rather than<br>
>>>>> networking<br>
>>>>> was the root cause.<br>
>>>>><br>
>>>>>><br>
>>>>>> Currently my corosync.conf looks like this :<br>
>>>>>><br>
>>>>>> compatibility: whitetank<br>
>>>>>> totem {<br>
>>>>>>      version: 2<br>
>>>>>>      secauth: on<br>
>>>>>>      threads: 0<br>
>>>>>>      interface {<br>
>>>>>>      member {<br>
>>>>>>              memberaddr: 172.20.0.4<br>
>>>>>>          }<br>
>>>>>> member {<br>
>>>>>>              memberaddr: 172.20.0.9<br>
>>>>>>          }<br>
>>>>>> member {<br>
>>>>>>              memberaddr: 172.20.0.12<br>
>>>>>>          }<br>
>>>>>><br>
>>>>>>      bindnetaddr: 172.20.0.12<br>
>>>>>><br>
>>>>>>      ringnumber: 0<br>
>>>>>>      mcastport: 5405<br>
>>>>>>      ttl: 1<br>
>>>>>>      }<br>
>>>>>>      transport: udpu<br>
>>>>>>      token: 10000<br>
>>>>>>      token_retransmits_before_loss_const: 10<br>
>>>>>> }<br>
>>>>>><br>
>>>>>> logging {<br>
>>>>>>      fileline: off<br>
>>>>>>      to_stderr: yes<br>
>>>>>>      to_logfile: yes<br>
>>>>>>      to_syslog: no<br>
>>>>>>      logfile: /var/log/cluster/corosync.log<br>
>>>>>>      timestamp: on<br>
>>>>>>      logger_subsys {<br>
>>>>>>      subsys: AMF<br>
>>>>>>      debug: off<br>
>>>>>>      }<br>
>>>>>> }<br>
>>>>>> service {<br>
>>>>>>      name: pacemaker<br>
>>>>>>      ver: 1<br>
>>>>>> }<br>
>>>>>> amf {<br>
>>>>>>      mode: disabled<br>
>>>>>> }<br>
>>>>>><br>
>>>>>> Thanks in advance for the help.<br>
>>>>>> Prasad<br>
>>>>>><br>
>>>>>> _______________________________________________<br>
>>>>>> Users mailing list: <a href="mailto:Users@clusterlabs.org" rel="noreferrer noreferrer" target="_blank">Users@clusterlabs.org</a><br>
>>>>>> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
>>>>>><br>
>>>>>> Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
>>>>>> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Sc" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Sc</a><br>
>>>>>> ratch.<br>
>>>>>> pdf<br>
>>>>>> Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
>>>>><br>
>>>>> --<br>
>>>>> Ken Gaillot <<a href="mailto:kgaillot@redhat.com" rel="noreferrer noreferrer" target="_blank">kgaillot@redhat.com</a>><br>
>>>>> _______________________________________________<br>
>>>>> Users mailing list: <a href="mailto:Users@clusterlabs.org" rel="noreferrer noreferrer" target="_blank">Users@clusterlabs.org</a><br>
>>>>> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
>>>>><br>
>>>>> Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
>>>>> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scra" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scra</a><br>
>>>>> tch.pdf<br>
>>>>> Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
>>>>><br>
>>><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> Users mailing list: <a href="mailto:Users@clusterlabs.org" rel="noreferrer noreferrer" target="_blank">Users@clusterlabs.org</a><br>
>>> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
>>><br>
>>> Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
>>> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch</a>.<br>
>>> pdf<br>
>>> Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
>> --<br>
>> Ken Gaillot <<a href="mailto:kgaillot@redhat.com" rel="noreferrer noreferrer" target="_blank">kgaillot@redhat.com</a>><br>
>> _______________________________________________<br>
>> Users mailing list: <a href="mailto:Users@clusterlabs.org" rel="noreferrer noreferrer" target="_blank">Users@clusterlabs.org</a><br>
>> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
>><br>
>> Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
>> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
>> Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
>><br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> Users mailing list: <a href="mailto:Users@clusterlabs.org" rel="noreferrer noreferrer" target="_blank">Users@clusterlabs.org</a><br>
> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
> <br>
> Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
> Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" rel="noreferrer noreferrer noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
> Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
> <br>
<br>
</blockquote></div></div></div>