Manual Chapter : 3-DNS Reference Guide version 4.2: Load Balancing

Applies To:

Show Versions Show Versions

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

  • 4.2 PTF-10, 4.2 PTF-09, 4.2 PTF-08, 4.2 PTF-07, 4.2 PTF-06, 4.2 PTF-05, 4.2 PTF-04, 4.2 PTF-03, 4.2 PTF-02, 4.2 PTF-01, 4.2.0
Manual Chapter


8

Load Balancing



Working with load balancing modes

The 3-DNS 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, explains the various static and dynamic load balancing modes, and then describes how to configure them.

Understanding load balancing on the 3-DNS

When the 3-DNS 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 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 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 uses load balancing modes in two situations:

  • Load balancing among multiple pools
    The 3-DNS supports multiple pools. Configurations that contain two or more pools use a load balancing mode first to select a pool. Once the 3-DNS selects a pool, the system then uses a load balancing mode to choose a virtual server within the selected pool. If the 3-DNS 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 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 returns the client to standard DNS for resolution.

    Table 8.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 usage

    Load Balancing mode

    Use for pool load balancing

    Use for preferred method

    Use for alternate method

    Use for fallback method

    Completion Rate


    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 supports the following static load balancing modes:

  • Global Availability
  • None
  • Random
  • Ratio
  • Return to DNS
  • Round Robin
  • Static Persist
  • Topology

The 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.

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 is full or 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 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 uses the next available pool. If you do not have multiple pools configured, the 3-DNS 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 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 8.1 shows a sample connection distribution for Ratio mode.

Figure 8.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 8.2 shows a sample of the connection distribution pattern for Round Robin mode.

Figure 8.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 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 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 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 13, 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 7, 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 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 8.3 shows a sample connection distribution pattern for the Completion Rate mode.

Figure 8.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 can collect the kilobytes per second metric. See Configuring host SNMP settings on the 3-DNS, on page 12-7 , for details on the metrics the 3-DNS 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 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 8.4 shows a sample connection distribution for the Packet Rate mode.

Figure 8.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 8.5 shows a sample connection distribution for the Round Trip Times mode.

Figure 8.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 takes into account include:

  • Round trip time
  • Hops
  • Completion rate
  • Packet rate
  • Topology
  • 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 9, 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 load balances using the Random mode among those virtual servers.

In the sample configuration in Figure 8.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 8.6 VS Capacity load balancing mode

Configuring load balancing

This section describes how to configure load balancing on the 3-DNS. 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 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, on page 8-16 .
  • 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, on page 8-11 .

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, 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 in node mode, NameSurfer, a third-party application included with the 3-DNS, 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, on page 8-21 .

Understanding pools

A wide IP contains one or more pool definitions. A pool is a group of virtual servers that the 3-DNS load balances. You can include all types of virtual servers (BIG-IP, EDGE-FX Cache, 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.

To define a wide IP from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  3. Add a wideip statement.

    Place the wideip statement after all server statements and before any topology statement.

  4. Under the wideip statement, enter the wide IP address, port, and name information. Enclose the wide IP name in quotation marks.
  5. Configure any options you want to set (such as the TTL, port list, or QOS coefficients) by entering the appropriate sub-statements.
  6. Define the pool sub-statement. At the minimum, the pool sub-statement should include its name (enclosed in quotation marks) and the virtual servers it contains.
  7. Define the load balancing modes you want to use by entering preferred, alternate, and fallback sub-statements.
  8. Define the IP address, port, and ratio value for each virtual server that you want to include in this pool.

Figure 8.7 shows the correct syntax for the wideip statement.

Figure 8.7 Syntax for the wideip statement

 wideip {    
address <ip_addr>
port <port_number> | <"service name">
persist < yes | no >
persist_ttl <number>
name <"domain_name">
[ alias <"alias_name"> ]
[ ttl <number> ]
[ port_list <port_number> <port_number> ... ]
[ qos_coeff {
rtt <n>
completion_rate <n>
packet_rate <n>
topology <n>
hops <n>
vs_capacity <n>
kbps <n>
} ]
[ pool_lbmode <rr | ratio | ga | random | topology> ]
pool {
name <"pool_name">
[ limit {
kbytes_per_second
pkts_per_second <number>
current_conns <number>
cpu_usage <number>
mem_avail <number>
disk_avail <number>
}]
[ ratio <pool_ratio> ]
[ dynamic_ratio < yes | no > ]
[ rr_ldns < yes | no > ]
[ preferred < completion_rate | ga | hops | kbps | leastconn | packet_rate | qos | random
| ratio | return_to_dns | rr | rtt | topology | null | vs_capacity | static_persist> ]

[ alternate < ga | null | random | ratio | return_to_dns | rr | topology | vs_capacity | static_persist> ]
[ fallback <completion_rate | ga | hops | leastconn | null | packet_rate | qos | random
| ratio | return_to_dns | rr | rtt | topology | vs_capacity | static_persist> ]

address <vs_addr>[:<port>] [ratio <weight>]
address <vs_addr>[:<port>] [ratio <weight>]
address <vs_addr>[:<port>] [ratio <weight>]
...
}
}

Using wildcard characters in wide IP names

The 3-DNS 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 8.8 shows a sample wideip statement. This statement defines a wide IP named mx.wip.domain.com, with an alias of mail.wip.domain.com. The wide IP contains two pools, with pool_1 receiving three times as many requests as pool_2. The 3-DNS 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 cannot resolve the request using the RTT mode, the system distributes requests using the Random load balancing mode. The 3-DNS 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 8.8 Example syntax for defining a wide IP

 wideip {    
address 192.168.102.50
service "smtp"
name "mx.wip.domain.com"
alias "mail.wip.domain.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 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 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 uses when all other pools have reached their thresholds or are unavailable for any reason. The 3-DNS uses the last resort pool only when it tries, unsuccessfully, to load balance to all other configured pools

When your network includes cache appliances hosting 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 8.9 shows an example of a last resort pool definition

Figure 8.9 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
}

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. 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. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  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 8.10 to define global alternate and fallback load balancing methods.

Figure 8.10 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 > ]

[ default_fallback < completion_rate | ga | hops | leastconn | null | packet_rate
| qos | random | ratio | return_to_dns | rr | rtt | topology | static_persist | vs_capacity> ]

}

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

Figure 8.11 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 refreshes the information.

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

TTL values and default settings

Parameter

Description

Default

Server TTL

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

60

Host TTL

Specifies the number of seconds that the 3-DNS 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 considers performance data for the other 3-DNS systems to be valid.

60

Virtual server TTL

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

120

Hops TTL

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

604800 (seven days)

Path TTL

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

2400

Default TTL

Specifies the default number of seconds that the 3-DNS 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 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 8.3 describes each timer value, as well as its default setting.

Time values and default settings

Parameter

Description

Default

Server data refresh

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

20

Host data refresh

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

90

3-DNS data refresh

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

20

Virtual server data refresh

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

30

ECV timer refresh

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

90

Hops data refresh

Specifies the frequency (in seconds) at which the 3-DNS 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 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 queries remote 3-DNS systems 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 with a time server, leave the time tolerance at the default value of 10. In the event that NTP fails, the 3-DNS uses the time_tolerance variable to maintain synchronization.

10

Timer Sync State

Specifies the interval (in seconds) at which the 3-DNS 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 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. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  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 8.12 to define global TTL and timer values.

    Figure 8.12 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_check_pending_q_timeouts <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 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 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 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. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, select Edit 3-DNS Configuration to open the wideip.conf file.
  3. Locate the wideip statement you want to edit.
  4. Add the port_list line as indicated in bold in Figure 8.13 .

    Figure 8.13 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 this example, 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 8.14 Syntax for e-commerce services

 wideip {    
address 192.168.101.70
port 80 // http
port_list 80 443 // e-commerce
name "ssl.wip.domain.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 8.14 , 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 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/messages
    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/messages file on your system. Using the UNIX grep utility, search for 3dnsd (for example, tail -100 /var/log/messages | 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 in node mode, you may want to refer to one of the following BIND resources for help and background information:

    • The O'Reilly & Associates book, DNS and BIND, Third Edition
    • http://www.isc.org/bind.html