Dual NICs load balancing, failover, improved security, and throughput
Although they're often overlooked as part of the performance equation, the NICs installed in your servers can have an impact on network throughput and overall performance. For one thing, they represent bottlenecks that can slow the transmission and processing of data across the network. For another, they represent points of failure. If a NIC fails, it could potentially sever an important connection.
One way to lessen the potential for these problems is to install two or more NICs in network servers. Using multiple NICs offers these key benefits:
- Load balancing
- Failover
- Improved throughput
You can also install dual NICs to separate private networks from public networks to improve security.
The question is, how do you make it work?
In our Technical Q&A section, member D Chen asked what software was necessary to install dual NICs to make them work together. Chen was interested in software that would work with 3Com NICs.
“I know Compaq has a utility,” he wrote, “but that doesn’t work with the 3Com cards.”
Here's a look at some of the available solutions.
Options
One possible option to explore, which member Sean Flynn recommended, was IP Metrics’ NIC Express, a software utility that enables network load balancing in Windows NT, 2000, and Linux. A 30-day trial of NIC Express is available for download, and if you decide to purchase it, the price is $395 per copy.
According to IP Metrics, NIC Express can detect faults on the network and reroute traffic as needed, eliminate bottlenecks by distributing traffic among multiple adapters, and work with any hardware in any network environment.
Flynn also feels it’s a good idea to buy cards that come with their own software for accomplishing these tasks, and recommended Adaptec’s ANA-62022.
Many solutions of this kind are hardware specific. Intel, for example, offers a teaming utility for its Pro 100 Intelligent Server adapter to support load balancing and fault tolerance across multiple NICs.
Another similar hardware-specific solution is Cisco Fast EtherChannel, which provides fault tolerance and load balancing between switches, routers, and servers. Fast EtherChannel also offers incremental bandwidth scalability between different network groups. Cisco users can take advantage of the feature to improve performance and reliability.
Windows 2000 Advanced Server
Windows 2000 Advanced Server users have it a little easier. Win2K Advanced Server includes a Network Load Balance (NLB) service that can be activated for the NICs installed in the server. Since Windows is the most prevalent NOS, this would appear to be a good solution for most networks because it’s hardware independent. The catch, of course, is that you must have Win2K Advanced Server or above installed. But if you’re already running Win2K Advanced Server, you don’t have to spend extra money for the necessary utilities to take advantage of using multiple NICs. All you have to do is activate and configure the service, and you’ve got instant load balancing and failover.
Mike, an administrator at a company in the Southeast who is using the NLB service in Win2K Advanced Server, said that the primary benefit of the setup was improved performance. The Microsoft solution, he said, is good for front-end application servers.
“Load balancing Web servers would be one application of the solution.”
Another important benefit of the system is failover. With NLB, the failure of a NIC will not block traffic to and from a server.
“If anything causes the primary to fail, the backup takes over. The most common [occurrence] may be when someone accidentally pulls a cable.”
To improve the performance of a key application used at his company, Mike installed dual NICs in each of the servers hosting the application and configured NLB so that the servers share the workload. As requests for the application come in, NLB distributes the tasks across the servers and NICs to provide the best availability and response time. The dual-NIC setup improves throughput across the servers and provides an additional failover measure.
Configuring NLB
You activate Win2K’s NLB in the network properties window, as show in Figure A. You can then open up the Properties window for NLB and specify the desired settings.
Figure A |
Activating NLB |
You must specify one NIC as primary, with a dedicated, virtual IP address that will be shared by all of the load-balancing NICs. In the Cluster Parameters tab, specify the Primary IP Address and the Full Internet Name (Figure B). The network address is the MAC address of the primary NIC.
Figure B |
NLB properties |
What you end up with is a setup in which a single Internet name points to the virtual IP shared by the load balancers. Whenever users access the specified URL, they are directed to one of the servers depending on availability and rules set up in the NLB configuration.
In the Host parameters tab (Figure C), specify options for the particular host you’re configuring.
Figure C |
Host parameters |
The Priority setting helps determine which host takes over if one of those in the cluster fails. The settings range from 1 to the number of hosts in the cluster, with 1 being the highest priority. Depending on the port rules, the host with the highest priority handles all of the default traffic for the cluster, and if it fails, the host with the next highest priority assumes the role. The port rules, however, have a lot of say in how traffic to the cluster is routed.
The Initial Cluster State parameter determines whether NLB should start with Windows and whether the host joins the cluster. The Dedicated IP Address is the host’s unique IP address used for traffic not associated with the cluster.
Mike pointed out that the port rules setup is a key NLB feature, giving you control over how each port’s cluster traffic is handled.
“For example, you can set traffic rules that say if the primary server has no [active] connections, connect the primary, but if it has one connection, route to the next available server.”
This ensures that the workload for each server in the cluster is manageable.
These traffic-handling rules are configured in the Port Rules tab, shown in Figure D. You can set a port range for the rules and select the protocol governed by the rule.
Figure D |
Port rules |
The Multiple Hosts setting specifies that more than one host in the cluster will handle traffic associated with this port rule. In Mike’s case, the application he needs to balance is set for a particular port, so he set up a port rule that essentially shares the workload for the app across all the servers in the cluster.
The Affinity parameter is another setting that can significantly affect performance. You can set the affinity to Single to prevent double logons, keeping the server from being overloaded.
The Load Weight parameter lets you distribute the workload according to the processing power of the servers in the cluster. If the servers are roughly the same, you can just select Equal.
Good news for the end user
The result of the setup Mike has established for the application running on the server cluster is that the end users see shorter response times and higher availability. The multiple NICs improve throughput to and from the application servers while also providing failover. In this case, the application is a critical component to the work performed at Mike’s company, so using the dual NIC setup coupled with Win2K’s NLB ensures that the application will nearly always be available and that it performs well for the users.
If you’re looking for ways to maximize throughput on your network and provide failover, installing multiple NICs in your servers is a good solution. Depending on the hardware and software installed on your network, a number of options are available, including Cisco’s Fast EtherChannel, IP Metrics’ NIC Express software, and the NLB service available in Win2K Advanced Server. Other vendors may offer similar solutions, so you should check with your hardware manufacturer to find out what options are available to you.