Forum Discussion
Backup Pool
Hi everyone,
I'd like to create a backup pool that is always available in the event that health checks cause all the members of a pool to be taken offline. I'm trying to avoid any instance of a virtual server or pool becoming completely unavailable due to all the members being offline.
AFAIK, this can only be accomplished via irule?
Is it possible to have the LTM ignore node availability when all members of a pool is down and just send traffic to the pool as if nothing is down?
I'm pretty sure the irule should be fairly simple, the only tricky part is, I'd like to avoid having to use a separate irule for every single virtual server.
Is there a way to grab the name of the virtual server as a variable and insert that as a pool name preceded with 'B'?
For instance if the VS name is web80, the backup pool name would be Bweb80. That way one irule should work for all virtual servers, provided I create the appropriate pool of course. Is this correct?
Any help would be appreciated.
Thanks!!
- nitassEmployeeplease feel free to revise.
[root@ve1023:Active] config b virtual bar list virtual bar { snat automap destination 172.28.65.152:http ip protocol tcp rules myrule profiles { http {} tcp {} } } [root@ve1023:Active] config b rule myrule list rule myrule { when CLIENT_ACCEPTED { log local0. "[IP::client_addr]:[TCP::client_port]" log local0. "\[active_members [virtual name]\] is [active_members [virtual name]]" if {[active_members [virtual name]] < 1} { pool B[virtual name] } } when LB_SELECTED { log local0. "[IP::client_addr]:[TCP::client_port]" log local0. "pool is [LB::server pool]" } when SERVER_CONNECTED { log local0. "[IP::client_addr]:[TCP::client_port] -> [IP::remote_addr]:[TCP::remote_port]" } } [root@ve1023:Active] config b pool bar list pool bar { monitor all fake members 200.200.200.101:http {} } [root@ve1023:Active] config b pool Bbar list pool Bbar { members 200.200.200.102:http {} } [root@ve1023:Active] config b pool bar POOL bar LB METHOD round robin MIN/CUR ACTIVE MEMBERS 0/0 | (cur, max, limit, tot) = (0, 0, 0, 0) | (pkts,bits) in = (0, 0), out = (0, 0) +-> POOL MEMBER bar/200.200.200.101:http inactive,down | session enabled priority 0 ratio 1 | (cur, max, limit, tot) = (0, 0, 0, 0) | (pkts,bits) in = (0, 0), out = (0, 0) | requests (total) = 0 [root@ve1023:Active] config curl -I http://172.28.65.152 HTTP/1.1 200 OK Date: Fri, 11 Nov 2011 01:31:13 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Tue, 08 Nov 2011 12:26:29 GMT ETag: "4183f1-30-47e02740" Accept-Ranges: bytes Content-Length: 48 Connection: close Content-Type: text/html; charset=UTF-8 [root@ve1023:Active] config cat /var/log/ltm Nov 10 17:31:06 local/tmm info tmm[4766]: Rule myrule : 172.28.65.150:38117 Nov 10 17:31:06 local/tmm info tmm[4766]: Rule myrule : [active_members bar] is 0 Nov 10 17:31:06 local/tmm info tmm[4766]: Rule myrule : 172.28.65.150:38117 Nov 10 17:31:06 local/tmm info tmm[4766]: Rule myrule : pool is Bbar Nov 10 17:31:06 local/tmm info tmm[4766]: Rule myrule : 172.28.65.150:38117 -> 200.200.200.102:80
- yammy1688_99834Nimbostratusnitass, thanks that works great!
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