Hello Wackamole Users,
I am using Wackamole to maintain a virtual IP on 2 machines. I am
using the latest CVS code as of today.
Both machines use identical wackamole.conf configurations (below).
One machine is running RH7.3 while the other is running RH9.
I have no problems with the RH7 box. Howerver, if the RH9 box has the
virtual IP and I issue a wackatrl -f command __on the RH7 box__,
wackamole exits on the RH9 box with the following message in the log file:
Jan 9 12:10:03 jedi wackamole[23444]: DOWN:
eth0:1:10.10.10.25/255.255.255.255
Note: I get the same behaviour if I kill the process on the RH7 box
(i.e. RH9 has the IP, I kill the wackamole process on the RH7 box and
wackamole process exits on the RH9 box).
If I run "wackamole -d" in the forground, the problem goes away and
everything works as expected. If I reverse the machines (i.e. mess
with the RH9 box while the RH7 box has the IP) everything works fine.
The only other thing that might be of interest, I see the folloing error
when wacamole starts up on both machines and connects to spread:
Jan 9 12:09:47 jedi wackamole[23444]: 867 No such interface
The RH9 box has 2.4.20-XXX kernal while the RH7 box has a 2.4.18-xxx kernal.
Here is my wackamole.conf (identical for both machines):
--------------------------------------------------------------------------------------------------------------------------------------------
# The Spread daemon we are going to connect to. It should be on the
local box
Spread = 4803
SpreadRetryInterval = 5s
# The group name
Group = wack1
# Named socket for online control
Control = /var/run/wack.it
# Denote the interface we prefer to have
#prefer eth0:10.3.4.5/8
#prefer { eth0:10.2.3.4/8 eth1:192.168.10.23/24 }
# In most cases, I just don't care. Let wackamole decide.
Prefer None
#Prefer { eth0:10.10.10.25/32 }
# List all the virtual interfaces (ALL of them)
VirtualInterfaces {
# The following two lines have the same effect
# en0:192.168.1.2/24
{ eth0:10.10.10.25/32 }
# This is how you say 2 or more IPs are to be treated as a single
# "set" or "virtual interface". If wackamole decides that this
# machine will manage it, you are ensured to get ALL the ips in the
# set.
# { en1:10.0.0.1/8 en0:192.168.35.64/26 }
}
# Collect and broadcast the IPs in our ARP table every so often
Arp-Cache = 90s
# List who we will notify
# Here the netblock (/24 or /28) can be deceptive. It is NOT a
netmask
# for a single IP. It is how one will describe that they want to
# notify ALL IPs in a segment.
Notify {
# Let's notify our router:
eth0:10.10.10.1/32
# Notify out DB server
eth1:10.0.0.4/32
# 10.0.0.0 -> 10.0.0.255, but only 128 notifications/sec
eth0:10.10.10.0/24 throttle 128
# Wackamole shares arp-cache across machines, this says to
# notify every IP address in the aggregate shared arp-cache.
arp-cache
}
balance {
# This field is the maximum number of IP addresses that will move
# from one wackamole to another during a round of balancing.
AcquisitionsPerRound = all
# Time interval in each balancing round.
interval = 4s
}
# How long it takes us to mature
mature = 5s
--------------------------------------------------------------------------------------------------------------------------------------------
Thanks,
-Rama
I am using Wackamole to maintain a virtual IP on 2 machines. I am
using the latest CVS code as of today.
Both machines use identical wackamole.conf configurations (below).
One machine is running RH7.3 while the other is running RH9.
I have no problems with the RH7 box. Howerver, if the RH9 box has the
virtual IP and I issue a wackatrl -f command __on the RH7 box__,
wackamole exits on the RH9 box with the following message in the log file:
Jan 9 12:10:03 jedi wackamole[23444]: DOWN:
eth0:1:10.10.10.25/255.255.255.255
Note: I get the same behaviour if I kill the process on the RH7 box
(i.e. RH9 has the IP, I kill the wackamole process on the RH7 box and
wackamole process exits on the RH9 box).
If I run "wackamole -d" in the forground, the problem goes away and
everything works as expected. If I reverse the machines (i.e. mess
with the RH9 box while the RH7 box has the IP) everything works fine.
The only other thing that might be of interest, I see the folloing error
when wacamole starts up on both machines and connects to spread:
Jan 9 12:09:47 jedi wackamole[23444]: 867 No such interface
The RH9 box has 2.4.20-XXX kernal while the RH7 box has a 2.4.18-xxx kernal.
Here is my wackamole.conf (identical for both machines):
--------------------------------------------------------------------------------------------------------------------------------------------
# The Spread daemon we are going to connect to. It should be on the
local box
Spread = 4803
SpreadRetryInterval = 5s
# The group name
Group = wack1
# Named socket for online control
Control = /var/run/wack.it
# Denote the interface we prefer to have
#prefer eth0:10.3.4.5/8
#prefer { eth0:10.2.3.4/8 eth1:192.168.10.23/24 }
# In most cases, I just don't care. Let wackamole decide.
Prefer None
#Prefer { eth0:10.10.10.25/32 }
# List all the virtual interfaces (ALL of them)
VirtualInterfaces {
# The following two lines have the same effect
# en0:192.168.1.2/24
{ eth0:10.10.10.25/32 }
# This is how you say 2 or more IPs are to be treated as a single
# "set" or "virtual interface". If wackamole decides that this
# machine will manage it, you are ensured to get ALL the ips in the
# set.
# { en1:10.0.0.1/8 en0:192.168.35.64/26 }
}
# Collect and broadcast the IPs in our ARP table every so often
Arp-Cache = 90s
# List who we will notify
# Here the netblock (/24 or /28) can be deceptive. It is NOT a
netmask
# for a single IP. It is how one will describe that they want to
# notify ALL IPs in a segment.
Notify {
# Let's notify our router:
eth0:10.10.10.1/32
# Notify out DB server
eth1:10.0.0.4/32
# 10.0.0.0 -> 10.0.0.255, but only 128 notifications/sec
eth0:10.10.10.0/24 throttle 128
# Wackamole shares arp-cache across machines, this says to
# notify every IP address in the aggregate shared arp-cache.
arp-cache
}
balance {
# This field is the maximum number of IP addresses that will move
# from one wackamole to another during a round of balancing.
AcquisitionsPerRound = all
# Time interval in each balancing round.
interval = 4s
}
# How long it takes us to mature
mature = 5s
--------------------------------------------------------------------------------------------------------------------------------------------
Thanks,
-Rama