Forum Discussion
I think there is a miss understanding in what I'm been asked to accomplish. I understand the pool selection process can be accomplished by standard F5 configuration. What I need to accomplish is:
1.) Client starts NFS or CIFS connection to VIP
2.) VIP selects primary_pool and sends traffic to that pool. 3.) If primary_pool is down:
3.a) Send kill command for all F5 sessions associated with VIP
3.b) Have F5 send command to Secondary storage pool master to kill backend sync jobs
3.c) wait 5 seconds
3.d) Activate write on secondary storage cluster
4.) Send all connections to secondary cluster.
5.) On recovery of primary cluster manual fail back is desired.
The variable I'm using is a flag so globally the traffic across all sessions only have steps 3.a - 3.d performed once on a fail over. Note: Fail over only occurs if the primary storage pool has <2 pool members.
Everything functions but its not optimized. When I use static TCL variables or Global Variables the iRule is demoted from the CMP meaning only 1 of 8 cores is used for these transactions.
- Mar 02, 2015Hi Joshua, your current version of iRule will not interrupt existing connections. Existing connections can be closed by marking poolmembers as "down" (requires setting "Action of service down" in pool config to "Reject"). (And of course be manually deleting from connection table from CLI.) Poolmembers can be marked down by monitor, administratively or by iRule. In my sample iRule I tried to answer your initial question regarding a variable (represented by a table value) which is shared and updated across all TMMs. Thanks, Stephan Thanks, Stephan
- JoshuaMessengerMar 02, 2015Nimbostratuspartially correct. The irule writes to the log and user_alert.conf monitors the log for text. The file looks like: alert TerminateAllConnections "Kill All Connections!!!" { exec command="tmsh -c 'cd /FCS_STORAGE/ ; delete sys connection'" } alert IsilonClusterSyncStop "Kill Cluster Sync!!!" { exec command="tmsh bash /config/ClusterSyncStop.sh" }
- Mar 09, 2015Hi Joshua, haven´t seen your comment yet. Interesting solution to use alertd to delete connection table entries. And 'tmsh delete sys conn' was what I was referring to when saying "manually deleting from connection table". Using it in the context of an administrative partition is indeed new to me. Will check. Thanks for the update as well. Stephan