CTDB IP takeover/failover tunables - do you use them?

Hvisage hvjunk at gmail.com
Wed Apr 19 10:18:10 UTC 2017


Martin Schwenke wrote
> I'm currently hacking on CTDB's IP takeover/failover code.  For Samba
> 4.6, I would like to rationalise the IP takeover-related tunable
> parameters.
> 
> I would like to know if there are any users who set the values of these
> tunables to non-default values.  The tunables in question are:
> 
> ..snip..
> 
>    NoIPTakeover
>        Default: 0
> 
>        When set to 1, ctdb will not allow IP addresses to be failed over
> onto
>        this node. Any IP addresses that the node currently hosts will
> remain
>        on the node but no new IP addresses can be failed over to the node.
> 
> In particular, I would like to know if anyone has a use case where they
> set any of these variables to different values on different nodes.  This
> only really matters for the last 2 (NoIPHostOnAllDisabled,
> NoIPTakeover), since the value on the recovery master is just used for
> the other 2.  If you do this, can you please explain why?  :-)

Sorry late reply, only saw this as I was implementing GlusterFS and first
had to battle SystemD..

My case:
glusterfs volume replica 3 arbiter1 NodeA NodeB NodeC

NodeA - volume VM on HyperVisorA in DC1 - prefer to have 10.0.1.1 on NodeA
NodeB - volume VM on HyperVisorB in DC2 - prefer to have 10.0.2.2 on NodeB
NodeC - Arbiter VM in the "cloud".
ClientA1, ClientA2 -VMs on HyperVisorA
ClientB1, ClientB2 - VMs on HypervisorB

I don't want NodeC to have the public IP, as it means a performance issue,
and when it's the only one available, ctdb would in any case be "down".


> There are also 2 tunables to choose the algorithm used to calculate the
> IP address layout:
> 
>    DeterministicIPs
>        Default: 0
> 
>        When set to 1, ctdb will try to keep public IP addresses locked to
>        specific nodes as far as possible. This makes it easier for
> debugging
>        since you can know that as long as all nodes are healthy public IP
> X
>        will always be hosted by node Y.

Here my "use case" is that I want that to have ClientA1 & ClientA2 talk to
NodeA, and ClientB1 & ClientB2 talk to NodeB. The data is mostly reads, just
we need/want the uploads to be "stable", so I could point ClientB1 &
ClientB2 to 10.0.2.2 and ClientA1 & clientA2 to 10.0.1.1 and have the best
network performances.

I'm still looking/reading-docs as to how "deterministically" know that
10.0.2.2 should be on NodeB & 10.0.1.1. should be on NodeA in the
normal/stable case?

HEndrik Visage



--
View this message in context: http://samba.2283325.n4.nabble.com/CTDB-IP-takeover-failover-tunables-do-you-use-them-tp4710809p4717633.html
Sent from the Samba - samba-technical mailing list archive at Nabble.com.



More information about the samba-technical mailing list