Manual Chapter : 3-DNS Reference Guide v4.5: Load Balancing

Applies To:

Show Versions Show Versions

3-DNS Controller versions 1.x - 4.x

  • 4.5.14, 4.5.13, 4.5.12, 4.5.11, 4.5.10
Manual Chapter


2

 

Load Balancing


Working with load balancing modes

The 3-DNS Controller uses load balancing modes to distribute DNS name resolution requests, sent by local DNS servers, to the best available virtual server in your network. This chapter first describes how load balancing works on the 3-DNS Controller, explains the various static and dynamic load balancing modes, and then describes how to configure them.


Understanding load balancing on the 3-DNS Controller

When the 3-DNS Controller receives a name resolution request from a local DNS server, the system uses a load balancing mode to select the best available virtual server from a wide IP pool. Once the 3-DNS Controller selects the virtual server, it constructs the DNS answer and sends the answer back to the requesting client's local DNS server. The DNS answer, or resource record, can be either an A record that contains virtual server IP addresses, or a CNAME record that contains the canonical name for a DNS zone.

The 3-DNS Controller chooses a virtual server from a wide IP pool using either a static load balancing mode, which selects a virtual server based on a pre-defined pattern, or a dynamic load balancing mode, which selects a virtual server based on current performance metrics.

The 3-DNS Controller uses load balancing modes in two situations:

  • Load balancing among multiple pools
    The 3-DNS Controller supports multiple pools. Configurations that contain two or more pools use a load balancing mode first to select a pool. Once the 3-DNS Controller selects a pool, the system then uses a load balancing mode to choose a virtual server within the selected pool. If the 3-DNS Controller does not choose a virtual server in the first pool, it applies the load balancing mode to the next pool, either until it selects the best virtual server to respond to the request, or all the pools are tried.

  • Load balancing within a pool
    Within each pool, you specify three different load balancing modes that the system uses in sequential order: preferred method, alternate method, and fallback method. The preferred method is the first load balancing mode that the 3-DNS Controller uses for load balancing. If the preferred method fails, the system then uses the alternate method for load balancing. If this load balancing mode fails, the system uses the fallback load balancing mode. If the fallback method fails, the 3-DNS Controller returns the client to standard DNS for resolution.

    Table 2.1 shows a complete list of the supported load balancing modes, and indicates where you can use each mode in the 3-DNS configuration. The following sections in this chapter describe how each load balancing mode works.

 

Load Balancing mode

Use for pool load balancing

Use for preferred method

Use for alternate method

Use for fallback method

Completion Rate

 

X

 

X

Drop Packet

 

X

X

X

Explicit IP

 

X

X

X

Global Availability

X

X

X

X

Hops

 

X

 

X

Kilobytes/Second

 

X

 

X

Least Connections

 

X

 

X

None

 

X

X

X

Packet Rate

 

X

X

X

Quality of Service

 

X

 

X

Random

X

X

X

X

Ratio

X

X

X

X

Return to DNS

 

X

X

X

Round Robin

X

X

X

X

Round Trip Time

 

X

 

X

Static Persist

 

X

X

X

Topology

X

X

X

X

VS Capacity

 

X

X

X

 

Using static load balancing modes

Static load balancing modes distribute connections across the network according to predefined patterns, and take server availability into account. The 3-DNS Controller supports the following static load balancing modes:

  • Drop Packet

  • Explicit IP

  • Global Availability

  • None

  • Random

  • Ratio

  • Return to DNS

  • Round Robin

  • Static Persist

  • Topology

The Drop Packet, Explicit IP, None, and Return to DNS load balancing modes are special modes that you can use to skip load balancing under certain conditions. The other static load balancing modes perform true load balancing as described in the following sections.

Drop Packet mode

When you specify the Drop Packet load balancing mode, the 3-DNS Controller does nothing with the packet, and simply drops the request. (Note that a typical LDNS server iteratively queries other authoritative name servers when it times out on a query.) We recommend that you use the Drop Packet load balancing mode only for the fallback method. The 3-DNS Controller uses the fallback method when the preferred and alternate load balancing modes do not provide at least one virtual server to return as an answer to a query.

Explicit IP mode

When you specify the Explicit IP mode, the 3-DNS Controller returns the IP address that you specify as the fallback IP as an answer to the query. Note that the IP address that you specify is not monitored for availability before being returned as an answer. When you use the Explicit IP mode, you can specify a disaster recovery site to return when no load balancing mode returns an available virtual server. We recommend that you use the Explicit IP load balancing mode only for the fallback method. The 3-DNS Controller uses the fallback method when the preferred and alternate load balancing modes do not provide at least one virtual server to return as an answer to a query.

Global Availability mode

The Global Availability load balancing mode uses the virtual servers included in the pool in the order in which they are listed. For each connection request, this mode starts at the top of the list and sends the connection to the first available virtual server in the list. Only when the current virtual server has reached its limit settings or is otherwise unavailable, does Global Availability mode move to the next virtual server in the list. Over time, the first virtual server in the list receives the most connections and the last virtual server in the list receives the least number of connections.

None mode

The None load balancing mode is a special mode you can use if you want to skip the current load balancing method, or skip to the next pool in a multiple pool configuration. For example, if you set an alternate method to None in a pool, the 3-DNS Controller skips the alternate method and immediately tries the load balancing mode specified as the fallback method. If the fallback method is set to None, and you have multiple pools configured, the 3-DNS Controller uses the next available pool. If you do not have multiple pools configured, the 3-DNS Controller returns the connection request to DNS for resolution.

This mode is most useful for multiple pool configurations. For example, you can temporarily remove a specific pool from service by setting each of the methods (preferred, alternate, and fallback) to None. (Note that you can also disable a pool from the Modify Wide IP Pools screen, in the Configuration utility.) You could also use the mode to limit each pool to a single load balancing mode. For example, you would set the preferred method in each pool to the desired load balancing mode, and then you would set both the alternate and fallback methods to None in each pool. If the preferred method fails, the None mode in both the alternate and fallback methods forces the 3-DNS Controller to go to the next pool for a load balancing answer.

Random mode

The Random load balancing mode sends connections to virtual servers in a random, uniform distribution pattern. The Random mode is useful for certain test configurations.

Ratio mode

The Ratio load balancing mode distributes connections among a pool of virtual servers as a weighted Round Robin. For example, you can configure the Ratio mode to send twice as many connections to a fast, new server, and only half as many connections to an older, slower server.

The Ratio load balancing mode requires that you define a ratio weight for each virtual server in a pool, or for each pool if you are load balancing requests among multiple pools. The default ratio weight for a server or a pool is set to 1.

Figure 2.1 shows a sample connection distribution for Ratio mode.

Figure 2.1 Ratio mode

Return to DNS mode

The Return to DNS mode is another special load balancing mode that you can use to immediately return connection requests to DNS for resolution. This mode is particularly useful if you want to temporarily remove a pool from service, or if you want to limit a pool in a single pool configuration to only one or two load balancing attempts.

Round Robin mode

The Round Robin load balancing mode distributes connections in a circular and sequential pattern among the virtual servers in a pool. Over time, each virtual server receives an equal number of connections.

Figure 2.2 shows a sample of the connection distribution pattern for Round Robin mode.

Figure 2.2 Round Robin mode

Static Persist mode

The Static Persist load balancing mode provides static persistence of local DNS servers to virtual servers; it consistently maps an LDNS IP address to the same available virtual server for the duration of the session. This mode guarantees that certain transactions are routed through a single transaction manager (for example, a BIG-IP system or other server array manager); this is beneficial for transaction-oriented traffic, such as e-commerce shopping carts, online trading, and online banking.

Topology mode

The Topology load balancing mode allows you to direct or restrict traffic flow by adding topology records to a topology statement in the configuration file. When you use the Topology load balancing mode, you can develop proximity-based load balancing. For example, a client request in a particular geographic region can be directed to a data center or server within that same region. The 3-DNS Controller determines the proximity of servers by comparing location information derived from the DNS message to the topology records.

This load balancing mode requires you to do some advanced configuration planning, such as gathering the information you need to define the topology records. The 3-DNS Controller contains an IP classifier that accurately maps local DNS servers, so when you create topology records, you can refer to continents and countries, instead of IP subnets.

See Chapter 3, Topology , for detailed information about working with this and other topology features. For an example configuration using the Topology load balancing mode, see the 3-DNS Administrator Guide, Chapter 6, Configuring a Globally-Distributed Network .


Using dynamic load balancing modes

Dynamic load balancing modes distribute connections to servers that show the best current performance. The performance metrics taken into account depend on the particular dynamic mode you are using.

All dynamic load balancing modes make load balancing decisions based on the metrics collected by the big3d agents running in each data center. The big3d agents collect the information at set intervals that you define when you set the global timer variables. If you want to use the dynamic load balancing modes, you must run one or more big3d agents in each of your data centers, to collect the required metrics.

The 3-DNS Controller supports the following dynamic load balancing modes:

  • Completion Rate

  • Hops

  • Kilobytes/Second

  • Least Connections

  • Packet Rate

  • Round Trip Times (RTT)

  • Quality of Service (QOS)

  • VS Capacity

Completion Rate mode

The Completion Rate load balancing mode selects the virtual server that currently maintains the least number of dropped or timed-out packets during a transaction between a data center and the client LDNS.

Figure 2.3 shows a sample connection distribution pattern for the Completion Rate mode.

Figure 2.3 Completion Rate load balancing mode

Hops mode

The Hops load balancing mode is based on the traceroute utility, and tracks the number of intermediate system transitions (router hops) between a client LDNS and each data center. Hops mode selects a virtual server in the data center that has the fewest router hops from the LDNS.

Kilobyte/Second mode

The Kilobytes/Second load balancing mode selects a virtual server that is currently processing the fewest number of kilobytes per second. Note that you can use the Kilobytes/Second mode only with servers for which the 3-DNS Controller can collect the kilobytes per second metric. See Configuring SNMP settings to probe hosts , for details on the metrics the 3-DNS Controller collects.

Least Connections mode

The Least Connections load balancing mode is used for load balancing to virtual servers managed by BIG-IP systems. The Least Connections mode simply selects a virtual server on the BIG-IP system that currently hosts the fewest connections.

Packet Rate mode

The Packet Rate load balancing mode selects a virtual server that is currently processing the fewest number of packets per second.

Figure 2.4 shows a sample connection distribution for the Packet Rate mode.

Figure 2.4 Packet Rate mode

Round Trip Times mode

The Round Trip Times (RTT) load balancing mode selects the virtual server with the fastest measured round trip time between a data center and a client LDNS.

Figure 2.5 shows a sample connection distribution for the Round Trip Times mode.

Figure 2.5 Round Trip Times mode

Quality of Service mode

The Quality of Service load balancing mode uses current performance information to calculate an overall score for each virtual server, and then distributes connections based on each virtual server's score. The performance factors that the 3-DNS Controller takes into account include:

  • Round trip time

  • Hops

  • Completion rate

  • Packet rate

  • Topology

  • Link Capacity

  • VS Capacity

  • Kilobytes/Second

The Quality of Service load balancing mode is a customizable load balancing mode. For simple configurations, you can easily use this load balancing mode with its default settings. For more advanced configurations, you can specify different weights for each performance factor in the equation.

You can also configure the Quality of Service load balancing mode to use the dynamic ratio feature. With the dynamic ratio feature turned on, the Quality of Service mode becomes similar to the Ratio mode, where the connections are distributed in proportion to ratio weights assigned to each virtual server. The ratio weights are based on the QOS scores: the better the score, the higher percentage of connections the virtual server receives.

For details about customizing the Quality of Service mode, see the 3-DNS Administrator Guide, Chapter 8, Working with Quality of Service .

     

VS Capacity mode

The VS Capacity load balancing mode creates a list of the virtual servers, weighted by capacity, then picks one of the virtual servers from the list. The virtual servers with the greatest capacity are picked most often, but over time all virtual servers are returned. If more than one virtual server has the same capacity, then the 3-DNS Controller load balances using the Random mode among those virtual servers.

In the sample configuration in Figure 2.6 , VS 1 would be chosen three times as often as VS 3, and 2/3 as often as VS 2. VS 2 would be chosen twice as often as VS 3. If one of the nodes behind VS 1 became unavailable, then VS 1 and VS 2 would be chosen with about the same frequency, but twice as often as VS 3.

Figure 2.6 VS Capacity load balancing mode

Configuring load balancing

This section describes how to configure load balancing on the 3-DNS Controller. You configure load balancing at the global, wide IP, and pool levels:

  • Global
    At the global level, you can configure default settings for the alternate and fallback load balancing methods. Then, if you do not specify alternate or fallback modes when defining a wide IP, the 3-DNS Controller uses the alternate and fallback methods you have configured at the global level. You can find instructions on how to configure global alternate and fallback methods in Setting global alternate and fallback methods .

  • Wide IP
    When you define a wide IP, and you have multiple pools in your wide IP, you first specify which load balancing mode to use in selecting a pool in the wide IP. Next, you specify which preferred, alternate, and fallback load balancing methods to use in selecting a virtual server within the selected pool. You can find instructions on how to configure these load balancing methods in the section, Defining a wide IP .

Understanding wide IPs

After you configure the BIG-IP systems, EDGE-FX Caches, hosts, and the virtual servers they manage, you need to group the configured virtual servers into wide IPs. A wide IP is a mapping of a fully-qualified domain name (FQDN) to a set of virtual servers that host the domain's content, such as a web site, an e-commerce site, or a CDN.

Before defining the first wide IP, you should do the following:

  • Gather your configuration information for the BIG-IP system, EDGE-FX Cache, and host so you can easily see which virtual servers have the content you want to map to an FQDN. Then you can decide how to group virtual servers into pools.
  • Decide which load balancing modes to use for each pool of virtual servers.

    Note


    When you run the 3-DNS Controller in node mode, NameSurfer, a third-party application included with the 3-DNS Controller, sets up DNS zone files so that wide IP definitions are properly linked to DNS. NameSurfer registers the virtual servers you add to wide IP pools as A records. No action is required on your part, as NameSurfer automatically handles this process. For more information on NameSurfer, see the online help that is included with the application. (To view the NameSurfer application, click NameSurfer in the navigation pane).

     

    There may be situations (for example, e-commerce, and other sites with multiple services) where you need to configure a wide IP so that connections are not sent to a given address unless multiple ports or services are available. You configure this behavior after you define the wide IP. For details, see An example configuration using a port list .

       

    Understanding pools

    A wide IP contains one or more pool definitions. A pool is a group of virtual servers to which the 3-DNS Controller load balances. You can include all types of virtual servers (BIG-IP system, EDGE-FX system, and host) in a pool definition.

    Defining a wide IP

    After you determine which virtual servers you should place in which wide IP pools, you are ready to add the first wide IP to the configuration. Note that you must configure at least one pool in the wide IP, but you may configure any number of pools.

    To define a wide IP using the Configuration utility

    1. In the navigation pane, click Wide IPs.
      The Wide IP List screen opens.

    2. On the toolbar, click Add Wide IP.
      The Add a New Wide IP screen opens.

    3. Add the wide IP settings, and click Next.
      The Configure Load Balancing for New Pool screen opens.

    4. Add the pool settings, and click Next.
      The Select Virtual Servers screen opens.

    5. Check the virtual servers that you want to add to the pool, and click Finish.
      The wide IP is added to your configuration.

    Repeat this process for each wide IP you want to add. For help on defining wide IPs and pools, click Help on the toolbar.

    Note


    For details on configuring a wide IP from the command line, refer to The wideip statement .

     


    Using wildcard characters in wide IP names

    The 3-DNS Controller supports wildcard characters in wide IP names and wide IP aliases. You can use the wildcard characters to simplify your maintenance tasks if you have a large quantity of wide IP names and/or wide IP aliases. The wildcard characters you can use are the question mark ( ? ), and the asterisk ( * ). The guidelines for using the wildcard characters are as follows:

    • The question mark ( ? )

      • You can use the question mark to replace a single character, with the exception of dots ( . ).

      • You can use more than one question mark in a wide IP name or alias.

      • You can use both the question mark and the asterisk in the same wide IP name or alias.

    • The asterisk ( * )

      • You can use the asterisk to replace multiple consecutive characters, with the exception of dots ( . ).

      • You can use more than one asterisk in a wide IP name or alias.

      • You can use both the question mark and the asterisk in the same wide IP name or alias.

    The following examples are all valid uses of the wildcard characters for the wide IP name, www.mydomain.net.

    • ???.mydomain.net

    • www.??domain.net

    • www.my*.net

    • www.??*.net

    • www.my*.*

    • ???.my*.*

    • *.*.net

    • www.*.???

    Note


    There are two important things to keep in mind when you use wildcard characters. First, wildcard characters are not inserted into NameSurfer. Second, if you are using ECV service monitors, they do not scan wide IP names or aliases that contain wildcard characters.

     

    An example of the wideip statement

    Figure 2.7 shows a sample wideip statement. This statement defines a wide IP named mx.wip.siterequest.com, with an alias of mail.wip.siterequest.com. The wide IP contains two pools, with pool_1 receiving three times as many requests as pool_2. The 3-DNS Controller attempts to resolve requests sent to pool_1 using the Round Trip Times (RTT) mode. This mode sends connections to the virtual server in the pool that demonstrates the best round trip time between the virtual server and the client LDNS. If the 3-DNS Controller cannot resolve the request using the RTT mode, the system distributes requests using the Random load balancing mode. The 3-DNS Controller distributes requests at a 2:1 ratio to the two virtual servers defined in pool_2, where the first listed virtual server receives twice as many connections as the second.

    Figure 2.7 Example syntax for defining a wide IP


    wideip {
    address 192.168.102.50
    service "smtp"
    name "mx.wip.siterequest.com"
    alias "mail.wip.siterequest.com"
    pool_lbmode ratio
    pool {
    name "pool_1"
    ratio 3
    preferred rtt
    alternate random
    address 192.168.101.50
    address 192.168.102.50
    address 192.168.103.50
    }
    pool {
    name "pool_2"
    ratio 1
    preferred ratio
    address 192.168.104.50 ratio 2
    address 192.168.105.50 ratio 1
    }
    }
     

    Using the LDNS round robin wide IP attribute

    LDNS round robin is an attribute that you can use in conjunction with any load balancing mode. The LDNS round robin attribute allows the 3-DNS Controller to return a list of available virtual servers, instead of a single virtual server. Certain browsers keep the answer returned by DNS servers. By enabling this attribute, the 3-DNS Controller returns a maximum of 16 virtual servers as the answer to a DNS resolution request. This provides browsers with alternate answers if a virtual server becomes unavailable.

    Using the last resort pool designation

    The last resort pool is an optional setting for a wide IP pool. The wide IP pool that you designate as the last resort pool, in the Configure Load Balancing for New Pool screen, is the virtual server pool that the 3-DNS Controller uses when all other pools have reached their thresholds or are unavailable for any reason. The 3-DNS Controller uses the last resort pool only when it tries, unsuccessfully, to load balance to the virtual servers in all other configured pools.

    When your network includes cache appliances that host content from an origin site, you can designate the origin site as the last resort pool to handle requests if your cache virtual servers have reached their thresholds. You can also use the last resort pool to designate an overflow network so your origin servers remain available if network traffic spikes. You can only designate one last resort pool within a wide IP.

    To designate a last resort pool using the Configuration utility

    1. In the navigation pane, select Wide IPs.
      The Wide IP List screen opens.

    2. From the Pools column, select the pools for the wide IP for which you want to create a last resort pool.
      The Modify Wide IP Pools screen opens.

    3. From the Pool Name column, click the pool that you want to designate as the last resort pool.
      The Modify Load Balancing for [pool name] screen opens.

    4. Check the box next to Last Resort Pool, and click Update.

    To designate a last resort pool from the command line

    In the wideip.conf file, change the last_resort definition from no to yes for the pool that you want to designate as the last resort pool. Figure 2.8 shows an example of a last resort pool definition

    Figure 2.8 Example of a last resort pool definition


    pool {
    name "origin"
    last_resort yes
    preferred kbps
    alternate rr
    fallback return_to_dns
    address 192.168.103.5
    address 192.168.103.6
    address 192.168.103.7
    }
     
    .

    Working with the ECV service monitor

    When you set up an extended content verification (ECV) service monitor for a wide IP, you can monitor not only the availability of a port or service on a server, but also the availability of a specific file on a particular server. An ECV service monitor verifies whether a specific file is available using the HTTP, HTTPS, or FTP network services. You can also specify a search string for the ECV monitor. When you specify a search string, the 3-DNS Controller not only verifies that a file is available, but also that whatever you specify in the search string is in the file.

    An ECV service monitor can help you ensure that clients are getting what they are after, and that they will not get an error, whether they are looking for information, making an online purchase, or uploading software.

    An ECV service monitor works in the following manner: if the node that hosts the requested file responds appropriately to the ECV query, the 3-DNS Controller marks the virtual server where the node resides as up, and the controller sends the client connection request to that virtual server. If the node does not respond as expected to the ECV query, the 3-DNS Controller marks the virtual server where the node resides as down, and the controller does not send connections to that server.

    Note


    For ECV service monitors that use the HTTP protocol, the 3-DNS Controller expects the response packet from the node to contain an HTTP 200 result code. If the controller receives the 200 result code, the controller marks the virtual server as up. The controller marks the virtual server as down when it receives all other HTTP result codes.

     


    Defining ECV service monitors

    You can define ECV service monitors using the Configuration utility, or from the command line. You define ECV monitors for wide IPs only.

    To define ECV service monitors using the Configuration utility

    1. In the navigation pane, click Wide IPs.
      The Wide IP List screen opens.

    2. In the Wide IP column, click the wide IP to which you want to add an ECV service monitor.
      The Modify Wide IP screen opens.

    3. Add the settings for the ECV near the bottom of the screen, and click Update. For more information on the ECV settings, click Help on the toolbar.

    To define ECV service monitors from the command line

    1. To ensure that the configuration files contain the same information as the memory cache, type the following command:

      3ndc dumpdb

    2. Open the wideip.conf file in a text editor (either vi or pico).

    3. Use the syntax shown in Figure 2.9 to define an ECV service monitor. You should place all ECV service monitor statements just before the wide IP pool definitions in the wideip.conf file.

    4. Save and close the file.

    5. Commit the changes to the configuration by typing:

      3ndc reload

    Figure 2.9 Syntax for defining ECV service monitors


    ecv {
    protocol <http | https | ftp>
    filename <"path and file name">
    scan_level <all | first>
    user [ <"user name"> ]
    hashed_password [ <"hashed version of server password"> ]
    search_string "<search string text>"
    }
     

     

    Figure 2.10 shows a sample ECV statement that defines an ECV service monitor in the wideip.conf file.

     

    Figure 2.10 Sample ECV service monitor definition


    ecv {
    protocol http
    filename "/home/user/readme.txt"
    scan_level all
    user "jones"
    hashed_password "22AECCCD9CA9C2CC8B"
    search_string "Configuration Notes"
    }
     

     

    Note


    For details on the ECV options in the wideip.conf file, see ECV sub-statements .

     


    Using the search string option

    With the search string option, you can specify text or characters that you want the ECV monitor to verify within the file. The search string functionality is based on POSIX regular expression matching. Regular expressions are a matching tool for text and characters within a file. When you include a search string in an ECV service monitor, the 3-DNS Controller not only verifies that the file exists, but also that whatever text you type for the search string is available, exactly as you typed it, within the file. The most basic search string options are simply text. For a more advanced search string, you can use the POSIX regular expression characters shown in Table 2.2 .

     


     

    Character

    Description

    ^

    Specifies the start of a line.

    $

    Specifies the end of a line.

    *

    Specifies any number of characters up to the end of a line or a file.

    ?

    Specifies one instance of any character.

    \

    Releases any regular expression interpretation of the following character.

    !

    Implies that if the string is not found, the wide IP status is up. Use at the beginning of the search string.

     

     

    Note


    For more information on working with POSIX regular expressions, refer to the re_format man page. To view the re_format man page, type the following at the command line:

     

    man re_format


    Changing global variables that affect load balancing

    You can configure global variables that affect how load balancing is handled on a global basis for all wide IPs managed by the 3-DNS Controller. You can override these global settings for individual wide IPs as necessary.

    Global variables that affect load balancing fall into two categories:

    • Alternate and fallback load balancing methods

    • TTL (time to live) and timer values

    The default settings for these variables are adequate for most configurations. However, if you want to change any global variable, you should refer to the online help.


    Setting global alternate and fallback methods

    You can configure a load balancing method that all wide IPs can use in the event that their preferred method fails.

    To configure global alternate and fallback load balancing methods using the Configuration utility

    1. In the navigation pane, click System.
      The System - General screen opens.

    2. On the toolbar, click Load Balancing.

    3. In the Default Alternate box, select the load balancing mode to use should a wide IP's preferred method fail.

    4. In the Default Fallback box, specify the load balancing mode to use should the preferred and alternate methods fail.
      If all methods fail, requests are returned to DNS for resolution.

    5. Finish configuring the rest of the settings on the System - Load Balancing screen. (For help on configuring the load balancing settings, click Help on the toolbar.)
      The global load balancing settings are added to your configuration.

    To configure global alternate and fallback load balancing methods from the command line

    1. To ensure that the configuration files contain the same information as the memory cache, type the following command:

      3ndc dumpdb

    2. Open the wideip.conf file in a text editor (either vi or pico).

    3. Locate or add the globals statement. The globals statement should be at the top of the file.

    4. Use the syntax shown in Figure 2.11 to define global alternate and fallback load balancing methods.

    5. Save and close the file.

    6. Commit the changes to the configuration by typing:

      3ndc reload

    Figure 2.11 Configuring global alternate and fallback load balancing modes


    globals {
    [ default_alternate < ga | leastconn | null | packet_rate | random | ratio | return_to_dns | rr | topology | static_persist | vs_capacity | drop_packet | explicit_ip> ]
    [ default_fallback < completion_rate | ga | hops | leastconn | null | packet_rate | qos | random | ratio | return_to_dns | rr | rtt | topology | static_persist | vs_capacity | drop_packet | explicit_ip> ]
    }
     

    Figure 2.12 shows a sample globals statement that defines global load balancing variables.

    Figure 2.12 Sample syntax for setting global load balancing variables


    globals {
    default_alternate leastconn
    default_fallback rr
    }
     

    Understanding TTL and timer values

    Each 3-DNS object has an associated time-to-live (TTL) value. A TTL is the amount of time (measured in seconds) for which metrics information is considered valid. The timer values determine how often the 3-DNS Controller refreshes the information.

    Table 2.3 describes each TTL value, as well as its default setting.

     

    Parameter

    Description

    Default

    Server TTL

    Specifies the number of seconds that the 3-DNS Controller uses BIG-IP system and EDGE-FX Cache metrics information for name resolution and load balancing.

    60

    Host TTL

    Specifies the number of seconds that the 3-DNS Controller uses generic host machine metrics information for name resolution and load balancing.

    240

    3-DNS TTL

    Specifies the number of seconds that the 3-DNS Controller considers performance data for the other 3-DNS Controllers to be valid.

    60

    Virtual server TTL

    Specifies the number of seconds that the 3-DNS Controller uses virtual server information (data acquired about a virtual server from a BIG-IP system, EDGE-FX Cache, or host) for name resolution and load balancing.

    120

    Hops TTL

    Specifies the number of seconds that the 3-DNS Controller considers traceroute data to be valid.

    604800 (seven days)

    Path TTL

    Specifies the number of seconds that the 3-DNS Controller uses path information for name resolution and load balancing.

    2400

    Default TTL

    Specifies the default number of seconds that the 3-DNS Controller considers a wide IP A record to be valid. If you do not specify a wide IP TTL value when defining a wide IP, the wide IP definition uses the default_ttl value.

    30

    Each 3-DNS object also has a timer value. A timer value defines the frequency (measured in seconds) at which the 3-DNS Controller refreshes the metrics information it collects. In most cases, the default values for the TTL and timer parameters are adequate. However, if you make changes to any TTL or timer value, keep in mind that an object's TTL value must be greater than its timer value.

    Table 2.4 describes each timer value, as well as its default setting.

     

    Parameter

    Description

    Default

    Server data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller refreshes BIG-IP system and EDGE-FX system information.

    20

    Host data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller refreshes other host machine information.

    90

    3-DNS data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller retrieves performance data for other 3-DNS Controllers in the sync group.

    20

    Virtual server data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller refreshes virtual server information.

    30

    ECV timer refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller refreshes the ECV monitor.

    90

    Hops data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller retrieves traceroute data (traceroutes between each data center and each local DNS).

    60

    Path data refresh

    Specifies the frequency (in seconds) at which the 3-DNS Controller refreshes path information (for example, round trip time or ping packet completion rate).

    120

    Remote nodes query

    Specifies the frequency (in seconds) at which the 3-DNS Controller queries remote 3-DNS Controllers and BIG-IP systems.

    60

    3-DNS Sync Time Tolerance

    Specifies the number of seconds that one system's time setting is allowed to be out of sync with another system's time setting.

    Note: If you are using NTP to synchronize the time of the 3-DNS Controller with a time server, leave the time tolerance at the default value of 10. In the event that NTP fails, the 3-DNS Controller uses the time_tolerance variable to maintain synchronization.

    10

    Timer Sync State

    Specifies the interval (in seconds) at which the 3-DNS Controller checks to see if it should change states (from Principal to Receiver or from Receiver to Principal).

    30

    Persist Cache

    Specifies the interval (in seconds) at which the 3-DNS Controller archives the paths and metrics data.

    3600

     

    To configure global TTL and timer values using the Configuration utility

    1. In the navigation pane, click System.
      The System - General screen opens.

    2. To configure the default TTL for wide IPs, type a new value in the Default TTL box.

    3. To configure other TTL and timer values, click Timers and Task Intervals on the toolbar.
      The System - Timers & Task Intervals screen opens.

    4. Add the TTL and timer values settings.

    For help on configuring the TTL and timer values settings, click Help on the toolbar.

    To configure global TTL and timer values from the command line

    1. To ensure that the configuration files contain the same information as the memory cache, type the following command:

      3ndc dumpdb

    2. Open the wideip.conf file in a text editor (either vi or pico).

    3. Locate or add the globals statement. The globals statement should be at the top of the file.

    4. Use the syntax shown in Figure 2.13, on page 2-24 , to define global TTL and timer values.

    5. Save and close the file.

    6. Commit the changes to the configuration by typing:

      3ndc reload

    Figure 2.13 Syntax for configuring global TTL and timer values


    globals {
      [ timer_get_3dns_data <number> ]
      [ timer_get_server_data <number> ]
      [ timer_get_host_data <number> ]
      [ timer_get_vs_data <number> ]
      [ timer_get_ecv_data <number> ]
      [ timer_get_path_data <number> ]
      [ timer_get_trace_data <number> ]
      [ timer_check_keep_alive <number> ]
      [ timer_persist_cache <number> ]
      [ timer_sync_state <number> ]
      [ 3dns_ttl <number> ]
      [ server_ttl <number> ]
      [ host_ttl <number> ]
      [ vs_ttl <number> ]
      [ path_ttl <number> ]
      [ trace_ttl <number> ]
      [ default_ttl <number> ]
    }
     

    Setting up load balancing for services that require multiple ports

    Certain types of network traffic, such as FTP traffic or e-commerce traffic, require that more than one port be available in order for the client's requests to be properly handled. When you set up a load balancing configuration, you can define a port list for a wide IP. Before the 3-DNS Controller selects a virtual server to receive a connection, it verifies that the virtual server is up and available to receive connection requests. When the 3-DNS Controller receives a query, all of the ports in the port list must be available for each virtual server in the wide IP. If a virtual server does not have all ports in the port list available, the 3-DNS Controller marks it as unavailable for load balancing.

    To configure multiple ports for a wide IP using the Configuration utility

    1. In the navigation pane, click Wide IPs.

    2. In the Wide IP column, click a wide IP name.
      The Modify Wide IP screen opens.

    3. On the toolbar, click Port List.
      The Wide IP Port List screen opens.

    4. Type a port number in the box or select a service from the list, then click the Add button.

    5. Repeat step 4 for each port or service you need to add, then click Update.
      The port list is added to the wide IP configuration.

    To configure multiple ports for a wide IP from the command line

    1. To ensure that the configuration files contain the same information as the memory cache, type the following command:

      3ndc dumpdb

    2. Open the wideip.conf file in a text editor (either vi or pico).

    3. Locate the wideip statement you want to edit.

    4. Add the port_list line as indicated in bold in Figure 2.14, on page 2-26 .

    5. Save and close the file.

    6. Commit the changes to the configuration by typing:

      3ndc reload

       

      Figure 2.14 Enabling multiple ports with the port_list option


      wideip {
        address <ip_addr>
        port <port_number> | <"service name">
        name <"domain_name">
        [ alias <"alias_name"> ]
        [ ttl <number> ]
        [ port_list <port_number> <port_number> ... ]
        ...
        [ pool_lbmode <rr | ratio | ga | random | topology> ]
        [ pool definitions ...]
       

       

       


    An example configuration using a port list

    In the example shown in Figure 2.15 , you are setting up a site for selling a product on the Internet. This site contains a non-secure area that contains the product catalog, and a secure area for placing orders. You can configure a wide IP so that clients are sent to a virtual server only when both the secure and non-secure ports are available.

    The key entry for this configuration is port_list. The port_list entry specifies that requests can be sent to virtual servers in this pool only if ports 80 (non-secure) and 443 (secure) are available.

     

    Figure 2.15 Syntax for e-commerce services


    wideip {
      address 192.168.101.70
      port 80 // http
      port_list 80 443 // e-commerce
      name "ssl.wip.siterequest.com"
      pool_lbmode rr
      pool {
        name "bigip_pool"
        ratio 2
        preferred qos
        alternate ratio
        address 192.168.101.70 ratio 7
        address 192.168.102.60 ratio 2
      }
      pool {
        name "host_pool"
        ratio 1
        preferred ratio
        address 192.168.104.50 ratio 2
        address 192.168.105.60 ratio 1
      }
    }
     

     

    For every virtual server address in the pool, a virtual server definition must exist for each port in the port list.

    For the syntax example shown in Figure 2.15 , the BIG-IP systems and hosts must have the following virtual servers defined:

    192.168.101.70:80

    192.168.101.70:443

    192.168.102.60:80

    192.168.102.60:443

    192.168.104.50:80

    192.168.104.50:443

    192.168.105.60:80

    192.168.105.60:443


    Troubleshooting manual configuration problems

    Adding a wide IP requires careful planning and use of correct syntax. We recommend using the Configuration utility to create wide IPs and pools so that the correct syntax is generated automatically in the wideip.conf file. However, we have included the following recommendations to make it easier for you to spot and resolve any configuration problems if you choose to create your configuration by editing the wideip.conf file.

    • Configuration utility
      The Configuration utility contains statistics screens that are useful in diagnosing problems, as they provide a snapshot of the 3-DNS Controller network at any given time. To use the statistics screens, expand the Statistics item in the navigation pane, then click either Wide IPs or Summary (and scroll until you see the Wide IP table).
      The Configuration utility also contains the Network Map, which allows you to see the relationships between your data centers, servers, and virtual servers, and the wide IPs and pools you created with the virtual servers. For information on working with the Network Map, click Help on the toolbar.

    • wideip.conf syntax
      If you configure wide IPs from the command line, use the 3dparse utility to verify the wideip.conf syntax before you start 3dnsd. To use the 3dparse utility, type 3dparse on the command line. For details on the 3dparse utility, see the 3dparse man page.

    • /var/log/3dns
      If you encounter an error that you cannot trace, you can view the log file in the Configuration utility, or you can directly open the /var/log/3dns file on your system. Using the UNIX grep utility, search for 3dnsd (for example, tail -100 /var/log/3dns | grep 3dnsd). This log file saves verbose error information, and should contain an explanation of the error.

    • BIND syntax
      If you are setting up the configuration from the command line, and you are running the 3-DNS Controller in node mode, you may want to refer to one of the following BIND resources for help and background information: