Forum Discussion

Jason_Grimme's avatar
Jason_Grimme
Icon for Nimbostratus rankNimbostratus
Nov 29, 2018

DNS Wide-IP load balancing vs pool load balancing

I'm trying to setup a Wide-IP using a combination of global availability load balancing and topology.

 

  • I have a GSLB pool of 2 virtual servers on North America. I want to use Global Availability on this pool, as 1 virtual server is preferred.
  • I have a GSLB pool of 2 virtual servers on Europe. I want to use Topology to select the appropriate virtual server on that pool

I want to use Topology on these 2 pools on the wide IP. I was hoping adding the two pools to the Wide IP and selecting Topology as the load balancing method would send queries from the US to the US pool, then the global availability load balancing would happen with-in that pool. When a query came from Europe, the Wide IP would use the European GSLB pool and then the topology within that pool to provide the IP address.

 

At the moment, when testing from the US, I get IPs of both European and US virtual servers.

 

Is what I'm trying to do even possible? Thanks in advance!

 

5 Replies

  • What topology records have you configured? Have you also tried using the Load Balancing Decision Logs to determine how the BIG-IP DNS system is deciding which pool to select at the wide IP level and then which virtual server to select within that pool? (On the Wide IP, under the Advanced configuration tab, enable all the options for Load Balancing Decision Log. Output should get written to /var/log/gtm.)

     

  • Hi Jason,

     

    Can you share and observe the output of nslookup wideip from the europe systems.If you see the same output (IP) that means it is selecting only one pool out of the 2 always (within the wide IP).

     

    If your nslookup output differs you need to check the configuration. Try nslookup atleast 10 times.

     

    The set up which you have mentioned is always a possibility.

     

    Thanks!

     

  • Thank you crodriguez,

     

    Here are the topology records I have

     

    gtm topology ldns: country NL server: datacenter /Common/EU-UK {
        order 1
    }
    gtm topology ldns: country DE server: datacenter /Common/EU-DE {
        order 2
    }
    gtm topology ldns: country GB server: datacenter /Common/EU-UK {
        order 3
    }
    gtm topology ldns: country SE server: datacenter /Common/EU-UK {
        order 4
    }
    gtm topology ldns: country US server: region /Common/US_Datacenters {
        order 5
    }
    gtm topology ldns: continent EU server: region /Common/EU_Datacenters {
        order 6
    }
    gtm topology ldns: not continent EU server: region /Common/US_Datacenters {
        order 7
    }
    

    I did enable Load Balance Decision Logs, I think on my system (12.1.3.6) they end up on the ltm log, unless I missed something. I configured logging per https://devcentral.f5.com/s/articles/configuring-decision-logging-for-the-f5-big-ip-global-traffic-manager Anywhere here are the entries in the /var/log/ltm....

     

    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 24167 from 173.194.103.7056747: view none: query: dialin.gtm-ext.company.com IN A -EDC (192.168.50.106%0)
    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 24167 from 173.194.103.7056747 [dialin.gtm-ext.company.com A] [topology selected pool (dialin.company.com_europe) - topology score (0) is higher] [topology skipped pool (dialin.company.com) - topology score (0) is not higher] [topology selected pool (dialin.company.com_europe) with the highest topology score (0)] [pool member check succeeded (UCSWEB-EU-UK-EXT:A.B.C.D) - pool member state is available (green)] [QoS selected pool member (UCSWEB-EU-UK-EXT:A.B.C.D) - QoS score (0) is higher] [QoS selected pool member (UCSWEB-EU-UK-EXT:A.B.C.D)] [topology load balancing method failed to select pool member (UCSWEB-EU-UK-EXT:A.B.C.D) - topology score is 0] [failed to select pool member by preferred load balancing method] [pool member check succeeded (UCSWEB-EU-UK-EXT:A.B.C.D) - pool member state is available (green)] [round robin selected pool member (UCSWEB-EU-UK-EXT:A.B.C.D)] [global availability selected pool member (UCSWEB-EU-UK-EXT:A.B.C.D)] 
    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 24167 to 173.194.103.7056747: [NOERROR qr,aa,cd,do] response: dialin.gtm-ext.company.com. 30 IN A A.B.C.D;
    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 34136 from 173.194.103.13450611: view none: query: dialin.gtm-ext.company.com IN A -EDC (192.168.50.106%0)
    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 34136 from 173.194.103.13450611 [dialin.gtm-ext.company.com A] [topology selected pool (dialin.company.com) - topology score (0) is higher] [topology skipped pool (dialin.company.com_europe) - topology score (0) is not higher] [topology selected pool (dialin.company.com) with the highest topology score (0)] [pool member check succeeded (dialin.company.com:E.F.G.H) - pool member state is available (green)] [round robin selected pool member (dialin.company.com:E.F.G.H)] 
    Nov 29 09:47:12 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 34136 to 173.194.103.13450611: [NOERROR qr,aa,cd,do] response: dialin.gtm-ext.company.com. 30 IN A E.F.G.H;
    Nov 29 09:47:13 DC1-N-DMZ-LTM1 info tmm[18558]: 2018-11-29 09:47:12 DC1-N-DMZ-LTM1.company.com qid 25050 from 173.194.103.7040423: view none: query: dialin.gtm-ext.company.com IN AAAA -EDC (192.168.50.106%0)
    
  • Hi Sukesh123456, thanks for the input!

     

    I do in fact get the Europe IP address every time.

     

  • it looks like doing Topology load balancing of pools is not available, per https://support.f5.com/kb/en-us/products/big-ip-dns/manuals/product/bigip-dns-load-balancing-12-1-0/1.htmlunique_203808693.

     

    I guess it makes sense, a pool could be distributed a crossed different regions, etc. I'm assuming I could create a custom iRule to select a pool based on geoip, but man that feels like more work than I want to do.

     

    Anyway, if an idea comes to anyone where it can be simple and shared I'd love to hear it, thanks!