atomicdog_7107
Feb 07, 2008Nimbostratus
Forced Failover via iRule?
We have an application team that is requesting something odd... and I believe that the only way to set this up is via iRules. Here's the scenario...
We have one physical primary server with 4 JVM instances on it. We have another physical server (on standby) with 4 more JVM instances on it. The request is to load-balance only the 4 instances on the primary server, but when 2 JVM instances (or more) fail health checks on the primary server the load-balancer will fail over completely to the 4 ALSB instances on the secondary server (and kill the remaining sessions to the primary server's instances). They don't want to have both servers running simultaneously.
We've attempted to set this up using server priorities and the 'min active members' setting with a very simple tcp-based health check. Our current configuration is outlined in the following configuration:
pool JVM_UAT_HTTP {
lb method member least conn
min active members 3
monitor all tcp
members
192.168.28.131:http
192.168.28.132:http
192.168.28.133:http
192.168.28.134:http
192.168.28.141:http
priority 2
192.168.28.142:http
priority 2
192.168.28.143:http
priority 2
192.168.28.144:http
priority 2
The problem that we're running in to is this; when the primary server loses 2 of it's JVMs, the BigIP begins to use ALL of the remaining available JVMs (the remaining 2 from the primary server AND the 4 from the secondary server) instead of just using the 4 on the secondary server as requested.
Can this be done via iRules (or even a different configuration)? If so, does anyone have an iRule that I can try?
Thanks for your help!