Forum Discussion

Albert_59847's avatar
Albert_59847
Icon for Nimbostratus rankNimbostratus
Mar 14, 2017

How to load balance two ports in one member server in a pool

Hi Guys,

 

How to load balance two ports (ex. 8081 & 8091)in one server in a pool (only one member).See below config in the pool:

 

Example: ltm pool Pool_XXX_8081_8091 { members { 10.68.15.28%10:tproxy { address 10.68.15.28%10 session monitor-enabled state up } 10.68.15.28%10:jamlink { address 10.68.15.28%10 session monitor-enabled state down } } monitor XXX_monitoring service-down-action reselect

 

The virtual server is using port 80, I appreciate any help to solve this issue.

 

Cheers,

 

5 Replies

  • Currently one pool member is down

    10.68.15.28%10:jamlink
    . Make this pool up, connection will start balancing among two node(port).

    • Albert_59847's avatar
      Albert_59847
      Icon for Nimbostratus rankNimbostratus

      Hi Jhaas,

       

      The pool member with port jamlink is administratively down. We put it down due to the application will not work on both ports (8081 & 8091). Since we are in production we disable the services in the server (port 8091). The strange thing is that it shows tproxy (8081) in tmsh while in GUI is 8081. This also shown in 8091 as jamlink. Anyways, I think this is not the issue about the names and port number, what I want is how to load balance the two ports in one server using LTM.

       

      Cheers,

       

    • Samir_Jha_52506's avatar
      Samir_Jha_52506
      Icon for Noctilucent rankNoctilucent

      We put it down due to the application will not work on both ports (8081 & 8091).
      If app doesn't work on both port then how you will balance traffic? Can you bypass lb n directly access back-end server vis browser I.e IP:8089 and check the page if shows something.

      The strange thing is that it shows tproxy (8081) in tmsh while in GUI is 8081. This also shown in 8091 as jamlink

      Its default behaviour not LB issue

    • Albert_59847's avatar
      Albert_59847
      Icon for Nimbostratus rankNimbostratus

      I did bypass and it is working, the request for virtual ip is port 80 and backend server are port 8081 & 8091. The goal is to have both ports working in one server, there must be away to solve this. I know this approach is againts the load balancing principle. It should be two nodes or two member servers in a pool. But due to short of resources in the server side they want two ports to be balance.

       

      Cheers.

       

  • Might help to clarify terminology related to the BIGIP:

    A node is what you may typically refer to as a server. In your example, you have one node (10.68.15.28).

    A pool member is a service, or a server + port. In your example you have two pool members: 10.68.15.28%10:8081 and 10.68.15.28%10:8091

    Note that a node may map to several pool members, and can even do so in the same pool as you are trying to do here.

    By default, BIGIP will list service names for ports (as defined in /etc/services). This can be changed with the command:

    tmsh modify cli global-settings service number

    (Doesn't appear that a service restart is required. Last I looked this up, it was a db variable that required a service restart. Just tested this on 12.1.2.)

    As for your original request, having two pool members associated with the same node in a single pool is perfectly fine and doesn't require anything outside of setting them up as normal pool members. When you say "the application will not work on both ports", do you mean you cannot access the application through the virtual server when both pool members are enabled? Can you be more specific in the error/symptom you are receiving and the testing you have conducted?

    You mentioned that you "did bypass and it is working", so I assume that your client can successfully connect directly to both pool members (both ports on the server). There could be an app-side issue that requires persistence but I can't say without knowing the app.