Forum Discussion

AlexJ's avatar
AlexJ
Icon for Nimbostratus rankNimbostratus
Aug 24, 2011

iRules tables and subtables for connection decisions

Hello all, a newbie here so excuse any ignorance below!!!

 

 

We have a rather odd scenario in that the F5 LTM is sitting in front of some banking systems and the client devices have tcp connections that are always up to the Virtual server (if the connection drops banking transactions may fail).

 

There are two clients and two destination pool members at the moment.

 

 

When both pool members are available and the two clients make their initial connections, the F5 load balances the two tcp connections to both of the pool members (i.e one tcp connection each) using its round robin or least connections method.

 

 

Now the issue is that when maintenance occurs on one of the servers and it is rebooted, the F5 moves the tcp connection over to the only active node in the pool. Even when the other pool member comes up the F5 will never move one of the connections over to it, so the load spread is lost. This means that they will only ever have resiliency rather that horizontal scalability for increased load.

 

 

What I was thinking was if there was some way to build a session table with the src client/dst pool member etc, and for every new piece of client data evaluate whether x pool members are up, how many clients are connected to a pool member and reselect a pool member if more connections are established to it than there are pool members available.

 

 

Any help is much appreciated...

 

 

 

  • AlexJ's avatar
    AlexJ
    Icon for Nimbostratus rankNimbostratus
    Also just to add that the banking transaction is contained within a single packet. We have toyed with the idea of per packet load balancing also but were not sure if that is possible..
  • You might want to check out enabling a OneConnect Profile on that Virtual Server.

     

     

    Rather than persisting a client to a single node, it should spread the transactions evenly across both nodes.

     

     

    http://devcentral.f5.com/wiki/AdvDesignConfig.ONECONNECT.ashx
  • AlexJ's avatar
    AlexJ
    Icon for Nimbostratus rankNimbostratus
    Thanks for the quick reply i will look into that...

     

     

    Will the F5 build a new connection to a pool member after it has been rebooted and the service becomes available again?

     

     

    We need to ensure load is spread after reboots/service starts are initiated even though the client's tcp connection is always up..

     

     

    Regards
  • If you have a monitor on the BIG-IP that is checking the pool members health then whenever the server is brought up from a downed state and the health monitor verifies that the box is accepting connections again it will simply mark that pool member back up and begin load balancing traffic back to it based off the LB method that you have selected.