Hello, after fighting all day trying to maintain drouting polling and binary 
replication of dialogs between two servers, I had to sacrifice drouting polling 
to accommodate dialog replication.

Scenario
2 Opensips Servers as Load Balancers
Corosync/Pacemaker with VIP
Drouting as LB engine
mhomed=1


OSIPS 1 IP: 10.2.0.11
OSIPS 2 IP: 10.2.0.12
VIP: 10.2.0.10


Issue 1: Drouting polling. In order to check the status of down stream opensips 
servers drouting is configured to send options pings to each server. On failure 
it auto disables the server. In order to do this with a VIP config, each host 
must use it's local IP to poll the servers otherwise the standby server won't 
have a socket with which to ping from as the active server will own the VIP.

Issue 2: Opensips must be running to accept dialog updates from the binary 
interface, so you can't simply allow Opensips to start/stop with the IP 
failover or it won't get any dialog updates.

Issue 3: When running in mhomed=1 mode, you are letting the kernel decide which 
IP to use to communicate out. IE, you may get a packet on the VIP: 10.2.0.10 
but the Kernel uses 10.2.0.11 to send the packet. This is the IP that the 
dialog is nailed up on. So if you failover the VIP, the backup server will try 
to process the incoming packets per the dialg out of the 10.2.0.11 interface 
which doesn't exist on server 2 and it fails.


The only thing I could do was to have both servers listen on the VIP with 
non-local bind enabled in linux. Then turn off drouting polling so that the 
standby server wouldn't disable the downstream servers in Drouting. This also 
ensures that the dialogs are nailed up to the 10.2.0.10 IP and when I failover 
the IP, the backup server can process the packets.

I'd like to put in a request to have the drouting (and other similar modules) 
have a configurable polling interface which is separate from the socket it uses 
to send traffic.

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to