4. Creating an NLB Cluster
To create a new NLB cluster, use the Network Load Balancing Manager and follow the instructions shown next.
From the Administrative Tools folder, open the Network Load Balancing Manager. The main screen is shown in Figure 5.
From the Cluster menu, select New.
The Cluster Parameters screen appears, as shown in Figure 6.
Here, you specify the name of the cluster and the IP address
information by which other computers will address the cluster. Enter the
IP address, subnet mask, and full Internet name (i.e., the canonical
DNS name). Also choose unicast or multicast mode, as discussed in the
previous section. Click Next to continue.
Enabling
remote control of your cluster—meaning being able to load the NLB
Manager client on other systems and connect remotely to the cluster—is
not recommended because it is a large security risk. Avoid this unless
absolutely necessary, and use other tools such as Terminal Services or
Remote Desktop. |
|
The Cluster IP Addresses screen appears, as shown in Figure 7.
Here, enter any additional IP addresses the cluster might need. You
might want this for specific applications, but it's not required for a
standard setup. Click Next when you've finished, or if there are no
other IP addresses by which this cluster will be known.
The Port Rules screen appears, as shown in Figure 8. Enter and configure any port rules you'd like, as discussed in the previous section, and then click Next when you're done.
The Connect screen appears, as shown in Figure 9.
Here, enter the IP address or DNS name of the host that will be added
to the cluster first. Then click Connect. The list in the white box at
the bottom of the screen will be populated with the network interfaces
available for creating a cluster. Click the public interface, and click
Next.
The Host Parameters screen appears, as seen in Figure 10.
On this screen, enter the priority for the host of the cluster, the
dedicated IP that you'll use to connect to this specific member node,
and the initial state of this host when you first boot up Windows Server
2003. Click Finish to complete the process.
The NLB cluster is created, and the first node is configured and added to the cluster.
5. Adding Other Nodes to the Cluster
Chances are good that you
want to add another machine to the cluster to take advantage of load
balancing. To add a new node to an existing cluster, use the following
procedure:
From the Administrative Tools menu, open the Network Load Balancing Manager console.
In
the left pane, right-click the cluster to which you'd like to add a
node, and then select Add Host to Cluster from the pop-up context menu.
The
Connect screen appears. Type in the DNS name or the IP address of the
host to join to the cluster. Click the Connect button to populate the
list of network interfaces on that host, and then select the card that
will host public traffic and click Next.
The
Host Parameters screen appears. Enter the appropriate priority of the
host (a setting which allows you to specify which machine should get the
largest number of requests—useful if you have two machines in a cluster
and one is more powerful than the other), the dedicated IP address of
this member of the cluster, and the initial state of the potential
member node when Windows Server 2003 first boots. You can set the
initial state to Started, Stopped, or Suspended.
Click Finish to complete the procedure.
The node is then added
to the selected NLB cluster. You can tell the process is finished when
the node's status, as indicated within the Network Load Balancing
Manager console, says "Converged."
6. Removing Nodes from the Cluster
For various reasons,
you might need to remove a joined node from the cluster—to perform
system maintenance, for example, or to replace the node with a newer,
fresher, more powerful machine. You must remove an NLB cluster member
gracefully. To do so, follow these steps:
From the Administrative Tools menu, open the Network Load Balancing Manager console.
Right-click Network Load Balancing Clusters in the left pane, and from the pop-up context menu, select Connect to Existing.
Enter
the host to connect to, and then click Connect. Then, at the bottom of
the Connect screen, select the cluster on the host, and click Next.
Finally,
back in the console, right-click the node you want to remove in the
left pane, and select Delete Host from the pop-up context menu.
This removes the node.
If you are only
upgrading a node of the cluster and don't want to permanently remove a
node from a cluster, you can use a couple of techniques to gradually
reduce traffic to the host and then make it available for upgrading. The
first is to perform a drainstop
on the cluster host to be upgraded. Drainstopping prevents new clients
from accessing the cluster while allowing existing clients to continue
until they have completed their current operations. After all current
clients have finished their operations, cluster operations on that node
cease.
To perform a drainstop, follow these steps:
Open a command-line window.
From the command line, type wlbs drainstop <IP Address>:<hostID>,
replacing the variable with the cluster IP address and the HostID with
the unique number set in the Host Parameters tab in NLB properties.
For example, if my cluster was located at 192.168.0.14 and I wanted to upgrade node 2, I would enter the following command:
Wlbs drainstop 192.168.0.14:2
In addition, you can
configure the Default state of the Initial host state to Stopped as you
learned in the previous section. This way, that particular node cannot
rejoin the cluster during the upgrade process. Then you can verify your
upgrade was completed smoothly before the cluster is rejoined and
clients begin accessing it.
7. Performance Optimization
NLB clusters often
have problems with switches. Switches differ from hubs in that data
transmission among client computers connected to a hub is
point-to-point: the switch keeps a cache of the MAC address of all
machines and sends traffic directly to its endpoint, whereas hubs simply
broadcast all data to all connected machines and those machines must
pick up their own data. However, switches work against NLB clusters
because every packet of data sent to the cluster passes through all the
ports on the switch to which members of the cluster are attached because
all cluster members share the same IP address, as you've already
learned. Obviously, this can be a problem.
To avert this problem, you can choose from a few workarounds:
Use a premium
hub to connect the NICs of all cluster members, and then use the uplink
feature on the hub to link the hub to the switch.
Enable unicast mode as opposed to multicast mode. Remember, you need to make this change on all members of the cluster.
If
possible, have all hosts on the same subnet, and then connect them to
an isolated switch or configure them to connect in a single VLAN if you
have that capability.
Disable
the source MAC masking feature in the Registry. The source MAC masking
feature is used to change the MAC address of traffic originating from
the cluster from the individual cluster node's MAC address to the MAC
address of the server. In multicast mode in switching environments, this
can flood switching ports, so disabling this feature will work around
that problem. Change the Registry value of:
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\MaskSourceMAC
from 1 to 0. Restart all mllembers of the cluster after making this change.