Technical Considerations for a Serviceguard Cluster that Spans Multiple IP Subnets, July 2009

16
Updating local system configuration files (e.g.: /etc/hosts) on all involved systems seems to be
cumbersome in a larger environment, but takes immediate effect on the updated computer – client
system. E.g. as soon as /etc/hosts is updated on a system, new name resolution queries will return
the updated information with the new relocatable IP address. Updating local /etc/hosts files seems
practical only in an environment with a limited number of client systems.
Using a name resolution service/system such as:
o Network Information System (NIS)
o Lightweight Directory Access Protocol (LDAP)
o Domain Name System (DNS). This is a widespread method and will be discussed
further below.
Using one of these name-resolution methods provides the advantage of a single point of
administration,; that is, the name-to-IP address mapping only needs to be updated once. However
the new information is not immediately available on all computers due to:
o All servers providing name resolution to client systems need to be synchronized with
the new information. This usually happens implicitly through the expiration of a
timeout attached with name resolution records. E.g. Each DNS resolution record has
a TTL (time to live) attached to it which is controlled by the DNS server owning the
resolution record.
o The TTL parameter is passed down to the client system and can also be used to
determine for how long a client uses a cached name resolution record before asking
its resolver to re-resolve the name again.
To be able to promptly reply with updated resolution information, the TTL parameter
should be set appropriately.
Using an intelligent device to automatically update the mapping between name and IP address
depending on which site (IP address) is available. Here is a list of some companies that offer
devices providing this kind of feature:
o Cisco, F5 Networks, Foundry Networks (now Brocade), NetScaler, Nortel Networks
and others offer devices they describe as “Global Server Load Balancer” (GSLB).
o A more recent product from Cisco called “Global Site Selector” also provides DNS
as an optional feature besides the GSLB functionality.
Second, the actual client program needs to make use of the updated mapping information by re-
resolving the name. For example, with a gethostbyname() call before making a re-connection
request to an application after a cross-subnet failover. Clients should either not cache name resolution
information at all or at least respect the (time to live) TTL value they receive along with name
resolution. Client programs that are not able to re-resolve the domain name during runtime might need
to be restarted to force them to resolve the domain name again.
Dynamic DNS
The command nsupdate can be used to submit Dynamic DNS update requests to a name server. The
DNS server has to be configured to accept dynamic DNS requests. This allows resource records to be
added or removed from a zone without manually editing the zone file. A single update request can
contain requests to add or remove more than one resource record.
Here is an example using nsupdate in interactive mode:
# nsupdate
> update add <domain-name> <TTL-value> <class> <IP-address>
> send
> Ctrl^D
The TTL value specifies, in seconds, how long name resolution should be valid from the point a
DNS client requested it. Setting this number to a high value (e.g. a day) reduces the number of name