I'm working on configuring a GSLB zone and I have a good question regarding the Ratio load balancing method.
In my setup, I have three virtual servers (three DCs) assigned to a particular pool_list, and the requested load balancing method is a "Ratio" method. (the requested ratio is 100/0/0) My question is what will happen if the health check failed for the VS_1 with 100 ratios? Is the alternate load balancing method will pick up? or VS2 would be a 100 ratio? Also, is there a way to make sure which VS (VS_2 or VS_3) would be the new 100% VS in case VS_1 is not reachable/went down?
VS1_220.127.116.11_443 --> Ratio 100
VS2_18.104.22.168_443 --> Ratio 0
VS3_22.214.171.124_443 --> Ratio 0
I could be totally off with this question.
But, why use a ratio of 0?
Surely that'll make it null? So traffic never goes to it?
What's your expected behaviour?
@PSFletchTheTek Yes, that is expected behavior traffic will never go to VN_2 & VS_3 unless VS_1 fails. This requirement is due to database design in the backend for that service (Active in one Datacenter and Passive in the other two data centers)
Initially I was just as @PSFletchTheTek a bit sceptic as the reason for it, but that makes sense now, thanks for the additional explanation (though I'll give you another way to achieve the same below)
When you configure the ratios as 100/0/0, it will indeed go all to the first pool member and the other two pool members don't get any traffic. If the first pool member were to go down, it then indeed uses the alternate load balancing method to figure out where to send the traffic. If that is configured as Round Robin, it will be split 50/50 between the two remaining pool members. If the alternate load balancing method is set to Global Availability, it will all go to whichever is the next virtual server in the list.
I've just tested this in my lab (as I wasn't 100% sure how the Ratio 0 would work out in practise), and your assessment seems correct indeed. When I disable my first pool member (the one with ratio 100), the alternate load balancing method kicks in.
Saying that, would it be an option to switch to Global Availability load balancing altogether? This will always make it follow the order in which the pool members are in the pool. Initially, all traffic goes to pool member 1, if that one goes down, everything goes to pool member 2 and so on. This is a load balancing method that is often used between Active and Standby systems, and I think your database system may also benefit from it.
More info: https://techdocs.f5.com/en-us/bigip-14-1-0/big-ip-dns-load-balancing-14-1-0/global-server-load-balan...
Hope this helps.
Hey, @AlexBCT I have a good question for you if we use Global Availability as the preferred load balancing method. My question is if the first pool member is marked down(failed), it will indeed go all (100% of traffic) to the second pool member, what will happen if the first pool member recovers (pass the health check, and is marked as healthy)? Is the first pool will take over? or traffic will keep sending to the second pool?
Thanks in advance!
Unless you have persistence configured, it will go back to the first pool member.