Forum Discussion

Robert_47833's avatar
Robert_47833
Icon for Altostratus rankAltostratus
Jun 15, 2012

one requirement in LB

There are 2 pools:

 

 

pool A

 

member 1,member 2,member3

 

 

pool B

 

member 1,member 2,member 3

 

 

pool B belongs to VIP X

 

 

servers in pool A need to visit VIP X to access to pool B

 

 

 

 

 

here is the requirement:

 

 

there are lots upgrade in pool A and B

 

 

 

1:

 

 

 

when we upgrade member 1 of pool A ,and member1 and 2 of pool B,we want member 1 of pool 1A can only visit member1 and 2 of pool B via VIP x,

 

 

2:after upgrade,we hope pool A can visit pool B via VIP x like before

 

 

thanks in advance

 

 

 

 

 

 

 

 

  • Hi Robbie,

     

     

    I am sure that there are numerous ways to do this, but there are no canned solutions for what you are asking.

     

     

    What have you got so far and what indicators are you planning on using to determine which servers from each group have been upgraded?
  • hello.,Michael

     

    we plan to use some special tag in the payload to determine this is new server which is upgrade

     

    it maybe in HTTP or in other protocol.but use tcp::payload can collect such info
  • How are you going to know to set that? With some sort of process running on the server or the sending application?

     

     

    Then now are you going to know if a server has been upgraded or not before / when a load balancing decision is made?

     

     

    I was thinking something more along the lines of different Data Groups and Pools.

     

     

    Data Groups to differentiate the upgraded and non-upgraded requesting servers (so that no other mechanism would be necessary to determine if a server had or had not been upgraded) and pools to separate the upgraded and non-upgraded (otherwise you would not be able to keep the load equal on a group of servers).
  • ah,Michael.thanks for your reply

     

    it seem datagroup to define the server which is upgraded or not is good

     

     

    I want to know ,if there is 1000 connections to a VIP,then I am trying to update the datagroup(as upgrade continue,server list changes),will it break the current connection?

     

     

    if I update irule,will it break the current connections?

     

     

     

  • Hi Robbie,

     

     

    To answer your specific question, connections won't be reset during a data group update. But the contents of the data group won't be complete while the data group update is being performed.

     

     

    The intention is that the data group should be updated atomically (ie, it will exist wholly as it's currently defined, then a change is made and it will continue to exist wholly as before the change until the full data group is modified). However, there is a bug which means that the data group contents are sequentially deleted and then re-added. If you'd like to see this fixed, please open a case with F5 Support referencing BZ381100.

     

     

    Thanks, Aaron
  • 1:if there are 1000 connections for business,and I am going to update one datagroup which is defined in irule,(1000 connections used this irule),whether it will affect the traffic?

     

     

    2:if I updated irule when there is 1000 connections or one variable in irule,whether it will affect the traffic?