[ClusterLabs] Passing and binding to virtual IP in my service

Jorge Fábregas jorge.fabregas at gmail.com
Thu Jan 7 10:42:43 UTC 2016


On 01/07/2016 05:28 AM, Nikhil Utane wrote:
> So my question is, how to pass the virtual IP to my UDPSend OCF agent so
> that it can then bind to the vip? This will ensure that all messages
> initiated by my UDPSend goes from vip.

Hi,

I don't know how ping -I does it (what system call it uses) but I think
you'll have to implement that if you want your program to source
connection from a particular virtual IP.

As far as I know, the way this is usually done these days is by creating
routes.  Something like:

ip route change 192.168.14.0/24 dev eth0 src 192.168.14.4


> Out of curiosity, where is this virtual IP stored in the kernel?
> I expected to see a secondary interface ( for e.g. eth0:1) with the vip
> but it isn't there.

Well, in the old days we used to have a "virtual interface" (eth0:1,
eth0:2 etc) but the proper modern way is to use "virtual addresses"
within a single interface.  The caveat is that you need to use the ip
command to show these virtual addresses (ifconfig is not aware of them):

ip addr show

You'll see there the notion of a primary IP and secondaries.  The system
will initiate connection from the primary by default (unless you specify
a route like the one above).

HTH,
Jorge




More information about the Users mailing list