Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-12 Thread Roger Zhou



On 8/12/19 9:24 PM, Klaus Wenninger wrote:

[...]

> If you shutdown solely pacemaker one-by-one on all nodes
> and these shutdowns are considered graceful then you are
> not gonna experience any reboots (e.g. 3 node cluster).

While revisit what you said, then run `systemctl stop pacemaker` one by one.

At this point corosync is still running on all nodes. ( NOTE: make sure 
no "StopWhenUnneded=yes" in corosync.service to get hijacked when 
stopping pacemaker. )


> Afterwards you can shutdown corosync one-by-one as well
> without experiencing reboots as without the cib-connection
> sbd isn't gonna check for quorum anymore (all resources
> down so no need to reboot in case of quorum-loss - extra
> care has to be taken care of with unmanaged resources but
> that isn't particular with sbd).
> 

Then, `systemctl stop corosync` one by one. Nice! disk-less sbd does 
play the trick as above. All nodes stay!

Thanks,
Roger

___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/


Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-12 Thread Yan Gao


On 8/12/19 3:24 PM, Klaus Wenninger wrote:
> On 8/12/19 2:30 PM, Yan Gao wrote:
>> Hi Klaus,
>>
>> On 8/12/19 1:39 PM, Klaus Wenninger wrote:
>>> On 8/9/19 9:06 PM, Yan Gao wrote:
 On 8/9/19 6:40 PM, Andrei Borzenkov wrote:
> 09.08.2019 16:34, Yan Gao пишет:
>> Hi,
>>
>> With disk-less sbd,  it's fine to stop cluster service from the cluster
>> nodes all at the same time.
>>
>> But if to stop the nodes one by one, for example with a 3-node cluster,
>> after stopping the 2nd node, the only remaining node resets itself with:
>>
> That is sort of documented in SBD manual page:
>
> --><--
> However, while the cluster is in such a degraded state, it can
> neither successfully fence nor be shutdown cleanly (as taking the
> cluster below the quorum threshold will immediately cause all remaining
> nodes to self-fence).
> --><--
>
> SBD in shared-nothing mode is basically always in such degraded state
> and cannot tolerate loss of quorum.
 Well, the context here is it loses quorum *expectedly* since the other
 nodes gracefully shut down.

>> Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug:
>> notify_parent: Not notifying parent: state transient (2)
>> Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug:
>> notify_parent: Notifying parent: healthy
>> Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child:
>> Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 
>> 0)
>>
>> I can think of the way to manipulate quorum with last_man_standing and
>> potentially also auto_tie_breaker, not to mention
>> last_man_standing_window would also be a factor... But is there a better
>> solution?
>>
> Lack of cluster wide shutdown mode was mentioned more than once on this
> list. I guess the only workaround is to use higher level tools which
> basically simply try to stop cluster on all nodes at once. It is still
> susceptible to race condition.
 Gracefully stopping nodes one by one on purpose is still a reasonable
 need though ...
>>> If you do the teardown as e.g. pcs is doing it - first tear down
>>> pacemaker-instances and then corosync/sbd - it is at
>>> least possible to tear down the pacemaker-instances one-by one
>>> without risking a reboot due to quorum-loss.
>>> With kind of current sbd having in
>>> -
>>> https://github.com/ClusterLabs/sbd/commit/824fe834c67fb7bae7feb87607381f9fa8fa2945
>>> -
>>> https://github.com/ClusterLabs/sbd/commit/79b778debfee5b4ab2d099b2bfc7385f45597f70
>>> -
>>> https://github.com/ClusterLabs/sbd/commit/a716a8ddd3df615009bcff3bd96dd9ae64cb5f68
>>> this should be pretty robust although we are still thinking
>>> (probably together with some heartbeat to pacemakerd
>>> that assures pacemakerd is checking liveness of sub-daemons
>>> properly) of having a cleaner way to detect graceful
>>> pacemaker-shutdown.
>> These are all good improvements, thanks!
>>
>> But in this case the remaining node is not shutting down yet, or it's
>> intentionally not being shut down :-) Loss of quorum is as expected, so
>> is following no-quorum-policy, but self-reset is probably too much?
> Hmm ... not sure if I can follow ...
> If you shutdown solely pacemaker one-by-one on all nodes
> and these shutdowns are considered graceful then you are
> not gonna experience any reboots (e.g. 3 node cluster).
> Afterwards you can shutdown corosync one-by-one as well
> without experiencing reboots as without the cib-connection
> sbd isn't gonna check for quorum anymore (all resources
> down so no need to reboot in case of quorum-loss - extra
> care has to be taken care of with unmanaged resources but
> that isn't particular with sbd).
I meant if users would like shut down only 2 out of 3 nodes in the 
cluster and keep the last one online and alive, it's simply not possible 
for now, although the loss of quorum is expected.

Regards,
   Yan
___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-12 Thread Klaus Wenninger
On 8/12/19 2:30 PM, Yan Gao wrote:
> Hi Klaus,
>
> On 8/12/19 1:39 PM, Klaus Wenninger wrote:
>> On 8/9/19 9:06 PM, Yan Gao wrote:
>>> On 8/9/19 6:40 PM, Andrei Borzenkov wrote:
 09.08.2019 16:34, Yan Gao пишет:
> Hi,
>
> With disk-less sbd,  it's fine to stop cluster service from the cluster
> nodes all at the same time.
>
> But if to stop the nodes one by one, for example with a 3-node cluster,
> after stopping the 2nd node, the only remaining node resets itself with:
>
 That is sort of documented in SBD manual page:

 --><--
 However, while the cluster is in such a degraded state, it can
 neither successfully fence nor be shutdown cleanly (as taking the
 cluster below the quorum threshold will immediately cause all remaining
 nodes to self-fence).
 --><--

 SBD in shared-nothing mode is basically always in such degraded state
 and cannot tolerate loss of quorum.
>>> Well, the context here is it loses quorum *expectedly* since the other
>>> nodes gracefully shut down.
>>>
> Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug:
> notify_parent: Not notifying parent: state transient (2)
> Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug:
> notify_parent: Notifying parent: healthy
> Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child:
> Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 
> 0)
>
> I can think of the way to manipulate quorum with last_man_standing and
> potentially also auto_tie_breaker, not to mention
> last_man_standing_window would also be a factor... But is there a better
> solution?
>
 Lack of cluster wide shutdown mode was mentioned more than once on this
 list. I guess the only workaround is to use higher level tools which
 basically simply try to stop cluster on all nodes at once. It is still
 susceptible to race condition.
>>> Gracefully stopping nodes one by one on purpose is still a reasonable
>>> need though ...
>> If you do the teardown as e.g. pcs is doing it - first tear down
>> pacemaker-instances and then corosync/sbd - it is at
>> least possible to tear down the pacemaker-instances one-by one
>> without risking a reboot due to quorum-loss.
>> With kind of current sbd having in
>> - 
>> https://github.com/ClusterLabs/sbd/commit/824fe834c67fb7bae7feb87607381f9fa8fa2945
>> - 
>> https://github.com/ClusterLabs/sbd/commit/79b778debfee5b4ab2d099b2bfc7385f45597f70
>> - 
>> https://github.com/ClusterLabs/sbd/commit/a716a8ddd3df615009bcff3bd96dd9ae64cb5f68
>> this should be pretty robust although we are still thinking
>> (probably together with some heartbeat to pacemakerd
>> that assures pacemakerd is checking liveness of sub-daemons
>> properly) of having a cleaner way to detect graceful
>> pacemaker-shutdown.
> These are all good improvements, thanks!
>
> But in this case the remaining node is not shutting down yet, or it's 
> intentionally not being shut down :-) Loss of quorum is as expected, so 
> is following no-quorum-policy, but self-reset is probably too much?
Hmm ... not sure if I can follow ...
If you shutdown solely pacemaker one-by-one on all nodes
and these shutdowns are considered graceful then you are
not gonna experience any reboots (e.g. 3 node cluster).
Afterwards you can shutdown corosync one-by-one as well
without experiencing reboots as without the cib-connection
sbd isn't gonna check for quorum anymore (all resources
down so no need to reboot in case of quorum-loss - extra
care has to be taken care of with unmanaged resources but
that isn't particular with sbd).

Klaus
>
> Regards,
>Yan

___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-12 Thread Yan Gao
Hi Klaus,

On 8/12/19 1:39 PM, Klaus Wenninger wrote:
> On 8/9/19 9:06 PM, Yan Gao wrote:
>> On 8/9/19 6:40 PM, Andrei Borzenkov wrote:
>>> 09.08.2019 16:34, Yan Gao пишет:
 Hi,

 With disk-less sbd,  it's fine to stop cluster service from the cluster
 nodes all at the same time.

 But if to stop the nodes one by one, for example with a 3-node cluster,
 after stopping the 2nd node, the only remaining node resets itself with:

>>> That is sort of documented in SBD manual page:
>>>
>>> --><--
>>> However, while the cluster is in such a degraded state, it can
>>> neither successfully fence nor be shutdown cleanly (as taking the
>>> cluster below the quorum threshold will immediately cause all remaining
>>> nodes to self-fence).
>>> --><--
>>>
>>> SBD in shared-nothing mode is basically always in such degraded state
>>> and cannot tolerate loss of quorum.
>> Well, the context here is it loses quorum *expectedly* since the other
>> nodes gracefully shut down.
>>
>>>
 Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug:
 notify_parent: Not notifying parent: state transient (2)
 Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug:
 notify_parent: Notifying parent: healthy
 Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child:
 Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 0)

 I can think of the way to manipulate quorum with last_man_standing and
 potentially also auto_tie_breaker, not to mention
 last_man_standing_window would also be a factor... But is there a better
 solution?

>>> Lack of cluster wide shutdown mode was mentioned more than once on this
>>> list. I guess the only workaround is to use higher level tools which
>>> basically simply try to stop cluster on all nodes at once. It is still
>>> susceptible to race condition.
>> Gracefully stopping nodes one by one on purpose is still a reasonable
>> need though ...
> If you do the teardown as e.g. pcs is doing it - first tear down
> pacemaker-instances and then corosync/sbd - it is at
> least possible to tear down the pacemaker-instances one-by one
> without risking a reboot due to quorum-loss.
> With kind of current sbd having in
> - 
> https://github.com/ClusterLabs/sbd/commit/824fe834c67fb7bae7feb87607381f9fa8fa2945
> - 
> https://github.com/ClusterLabs/sbd/commit/79b778debfee5b4ab2d099b2bfc7385f45597f70
> - 
> https://github.com/ClusterLabs/sbd/commit/a716a8ddd3df615009bcff3bd96dd9ae64cb5f68
> this should be pretty robust although we are still thinking
> (probably together with some heartbeat to pacemakerd
> that assures pacemakerd is checking liveness of sub-daemons
> properly) of having a cleaner way to detect graceful
> pacemaker-shutdown.
These are all good improvements, thanks!

But in this case the remaining node is not shutting down yet, or it's 
intentionally not being shut down :-) Loss of quorum is as expected, so 
is following no-quorum-policy, but self-reset is probably too much?

Regards,
   Yan
___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-12 Thread Klaus Wenninger
On 8/9/19 9:06 PM, Yan Gao wrote:
> On 8/9/19 6:40 PM, Andrei Borzenkov wrote:
>> 09.08.2019 16:34, Yan Gao пишет:
>>> Hi,
>>>
>>> With disk-less sbd,  it's fine to stop cluster service from the cluster
>>> nodes all at the same time.
>>>
>>> But if to stop the nodes one by one, for example with a 3-node cluster,
>>> after stopping the 2nd node, the only remaining node resets itself with:
>>>
>> That is sort of documented in SBD manual page:
>>
>> --><--
>> However, while the cluster is in such a degraded state, it can
>> neither successfully fence nor be shutdown cleanly (as taking the
>> cluster below the quorum threshold will immediately cause all remaining
>> nodes to self-fence).
>> --><--
>>
>> SBD in shared-nothing mode is basically always in such degraded state
>> and cannot tolerate loss of quorum.
> Well, the context here is it loses quorum *expectedly* since the other 
> nodes gracefully shut down.
>
>>
>>
>>> Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug:
>>> notify_parent: Not notifying parent: state transient (2)
>>> Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug:
>>> notify_parent: Notifying parent: healthy
>>> Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child:
>>> Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 0)
>>>
>>> I can think of the way to manipulate quorum with last_man_standing and
>>> potentially also auto_tie_breaker, not to mention
>>> last_man_standing_window would also be a factor... But is there a better
>>> solution?
>>>
>> Lack of cluster wide shutdown mode was mentioned more than once on this
>> list. I guess the only workaround is to use higher level tools which
>> basically simply try to stop cluster on all nodes at once. It is still
>> susceptible to race condition.
> Gracefully stopping nodes one by one on purpose is still a reasonable 
> need though ...
If you do the teardown as e.g. pcs is doing it - first tear down
pacemaker-instances and then corosync/sbd - it is at
least possible to tear down the pacemaker-instances one-by one
without risking a reboot due to quorum-loss.
With kind of current sbd having in
-
https://github.com/ClusterLabs/sbd/commit/824fe834c67fb7bae7feb87607381f9fa8fa2945
-
https://github.com/ClusterLabs/sbd/commit/79b778debfee5b4ab2d099b2bfc7385f45597f70
-
https://github.com/ClusterLabs/sbd/commit/a716a8ddd3df615009bcff3bd96dd9ae64cb5f68
this should be pretty robust although we are still thinking
(probably together with some heartbeat to pacemakerd
that assures pacemakerd is checking liveness of sub-daemons
properly) of having a cleaner way to detect graceful
pacemaker-shutdown.

Klaus
>
> Regards,
>Yan
> ___
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
>
> ClusterLabs home: https://www.clusterlabs.org/

___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-09 Thread Yan Gao
On 8/9/19 6:40 PM, Andrei Borzenkov wrote:
> 09.08.2019 16:34, Yan Gao пишет:
>> Hi,
>>
>> With disk-less sbd,  it's fine to stop cluster service from the cluster
>> nodes all at the same time.
>>
>> But if to stop the nodes one by one, for example with a 3-node cluster,
>> after stopping the 2nd node, the only remaining node resets itself with:
>>
> 
> That is sort of documented in SBD manual page:
> 
> --><--
> However, while the cluster is in such a degraded state, it can
> neither successfully fence nor be shutdown cleanly (as taking the
> cluster below the quorum threshold will immediately cause all remaining
> nodes to self-fence).
> --><--
> 
> SBD in shared-nothing mode is basically always in such degraded state
> and cannot tolerate loss of quorum.
Well, the context here is it loses quorum *expectedly* since the other 
nodes gracefully shut down.

> 
> 
> 
>> Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug:
>> notify_parent: Not notifying parent: state transient (2)
>> Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug:
>> notify_parent: Notifying parent: healthy
>> Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child:
>> Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 0)
>>
>> I can think of the way to manipulate quorum with last_man_standing and
>> potentially also auto_tie_breaker, not to mention
>> last_man_standing_window would also be a factor... But is there a better
>> solution?
>>
> 
> Lack of cluster wide shutdown mode was mentioned more than once on this
> list. I guess the only workaround is to use higher level tools which
> basically simply try to stop cluster on all nodes at once. It is still
> susceptible to race condition.
Gracefully stopping nodes one by one on purpose is still a reasonable 
need though ...

Regards,
   Yan
___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Re: [ClusterLabs] Gracefully stop nodes one by one with disk-less sbd

2019-08-09 Thread Andrei Borzenkov
09.08.2019 16:34, Yan Gao пишет:
> Hi,
> 
> With disk-less sbd,  it's fine to stop cluster service from the cluster 
> nodes all at the same time.
> 
> But if to stop the nodes one by one, for example with a 3-node cluster, 
> after stopping the 2nd node, the only remaining node resets itself with:
> 

That is sort of documented in SBD manual page:

--><--
However, while the cluster is in such a degraded state, it can
neither successfully fence nor be shutdown cleanly (as taking the
cluster below the quorum threshold will immediately cause all remaining
nodes to self-fence).
--><--

SBD in shared-nothing mode is basically always in such degraded state
and cannot tolerate loss of quorum.



> Aug 09 14:30:20 opensuse150-1 sbd[1079]:   pcmk:debug: 
> notify_parent: Not notifying parent: state transient (2)
> Aug 09 14:30:20 opensuse150-1 sbd[1080]:cluster:debug: 
> notify_parent: Notifying parent: healthy
> Aug 09 14:30:20 opensuse150-1 sbd[1078]:  warning: inquisitor_child: 
> Latency: No liveness for 4 s exceeds threshold of 3 s (healthy servants: 0)
> 
> I can think of the way to manipulate quorum with last_man_standing and 
> potentially also auto_tie_breaker, not to mention 
> last_man_standing_window would also be a factor... But is there a better 
> solution?
> 

Lack of cluster wide shutdown mode was mentioned more than once on this
list. I guess the only workaround is to use higher level tools which
basically simply try to stop cluster on all nodes at once. It is still
susceptible to race condition.
___
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/