Forum Discussion
Global load balance between two servers (failover), with no preemption
Hello Group,
We would like to global load balance between two servers (failover), with no preemption. Meaning that the WideIP will resolve always to the same server until that server in question goes down, and regardless of the status of the other server; so we can avoid any flapping issues.
We tried persistence with (Static Persist CIDR IPv4 = 0) but it doesn't cut it, especially if requests are not coming from all the clients at the time of the failover. This causes the persistence table records (of the same wideip) to point to different servers and not to the same one. Not good.
For now I’m using the global availability with fallback to primary pool member and manual resume enabled on the pools. This ensures that every request resolves to the same pool member until it goes down. The down side of this is that we are talking about hundreds of servers. Checking all pool memebers, adn manualy taking them from the manual resume status is over kill. we just don't have the man power for this tidious task, and it opens us to human errors/ issues ..etc. so automating this process is vital to us.
That being said, I would like assistance in enabling all pool members (of a specific pool )that went to a manual resume status using an iRule, when all of them (the pool members of this specific pool) are all in the manual resume status.
Something like:
when DNS_REQUEST {
if { {[active_members Smarts] < 1} } {
set [LB::status pool Smarts member 172.17.187.167 426 up]
set [LB::status pool Smarts member 10.24.180.1 426 up]
}
}
Or
when LB_FAILED {
pool Smarts
set [LB::status pool Smarts member 172.17.187.167 426 up]
set [LB::status pool Smarts member 10.24.180.1 426 up]
}
Not sure about the syntax of the Global Traffic I don’t see many example for GTMs iRules and set [LB::status pool Smarts member ip port up] seems to be ineffective on the GTM irule.
Thank you
- Khamari_2736Nimbostratus
(honestly it was frustrating to not have this feature on the GTMS, and have to reinvent the wheel, for something as simple as enabling/disabling preemption on the pool members)
verify SNMP walk is available
open( SNMPWALK, '-|', $snmpwalk_cmd )
skip green
get pool
construct command
run command
exit(0);
- peter_34412NimbostratusAwesome!!!
- Khamari_2736NimbostratusYou're welcome! Glad that I could help!
- Khamari_2736NimbostratusThis is another version of the perl script, that adds a feature that make sure that the backup server is out-of-the-manual resume at all time.
- Khamari_2736Nimbostratus!/usr/bin/perl
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com