next up previous contents
Next: Multiple Routes per Destination Up: Other NAT Techniques Previous: Load Balancing

Backup Systems

Virtual servers can also be used to achieve a higher availability of a service, since the service provided by the virtual server is available as long as any one of the real servers is able to provide it. When the probability of a failure of a single server is p, the probability that a virtual server formed by n real servers fails can be calculated as follows:

p1,...,pn probability of a failure of server n; n is number of servers that provide the virtual service

pNAT: probability of a failure of the NAT-router, which fails independently of the other devices

pvirt: probability of a failure of the virtual server, when the individual servers fail independently of one another

(unimportant formula, can't show in this HTML-version)

Of course, the setup used above for load balancing must be enhanced in order to make changes to the list of servers used by the NAT-router to remap connections to as soon as one of the real servers is no longer available. This, however, does not belong into the NAT-code but can better be controlled on higher layers, even from shell-scripts. There must than be a mechanism to remove servers from the virtual server table. Since there must be an interface to build the virtual server table in the first place anyway it is not hard to add features, so that IPs can be added and removed from a virtual server during run time. With this setup we have combined the two functions load balancing and high availability, using virtual servers, and it is even transparent to all hosts, users and programs using the virtual service.


next up previous contents
Next: Multiple Routes per Destination Up: Other NAT Techniques Previous: Load Balancing
Michael Hasenstein
8/22/1997