Server clusters are, by definition, more
complicated than Network Load Balancing clusters, both in the way they
handle applications and in the way they handle the application data.
When designing a server cluster implementation, you still must evaluate
your organization’s high-availability needs, but you must do so in
light of a server cluster’s greater deployment cost and greater
capabilities.
1. Designing a Server Cluster Deployment
Server clusters are intended to provide advanced
failover capabilities for stateful applications, particularly database
and e-mail servers. Because the data files maintained by these
applications change frequently, it is not practical for individual
servers in a cluster to maintain their own individual copies of the
data files. If this were the case, the servers would have to
immediately propagate changes that clients make to their data files to
the other servers, so that the server could present a unified data set
to all clients at all times.
As a result,
server clusters are based on a shared data storage solution. The
cluster stores the files containing the databases or e-mail stores on a
drive array (typically using RAID or some other data availability
technique) that is connected to all the servers in the cluster.
Therefore, all the application’s clients, no matter which server in the
cluster they connect to, are working with the same data files, as shown
in Figure 1.

The
shared data store adds significantly to the cost of building a server
cluster, especially if you plan to create a geographically dispersed
cluster. Unlike geographically dispersed NLB clusters, which are
usually separate clusters unified by an external technology, such as
round robin DNS, the hosts in server clusters must be connected to the
central data store, even when the servers are in different cities. This
means that you must construct a SAN connecting the various sites, as
well as a standard WAN. When considering a deployment of this type of
cluster, you must decide whether the impact of having your applications
offline justifies the expense of building the required hardware
infrastructure.
2. Planning a Server Cluster Hardware Configuration
The
computers running Windows Server 2003 that you use to build a server
cluster must all use the same processor architecture, meaning that you
cannot mix 32-bit and 64-bit systems in the same cluster. Each server
in the cluster must have at least one standard network connection
giving it access to the other cluster servers and to the client
computers that use the cluster’s services. For maximum availability,
having two network interface adapters in each computer is preferable,
one providing the connection to the client network, and one connecting
to a network dedicated to communications between the servers in the
cluster.
In
addition to standard network connections, each server must have a
separate connection to the shared storage device. Windows Server 2003
supports three types of storage connections: Small Computer System
Interface (SCSI) and two types of Fibre Channel, as discussed in the
following sections.
Using SCSI
SCSI
is a bus architecture used to connect storage devices and other
peripherals to personal computers. SCSI implementations typically take
the form of a host adapter in the computer and a number of internal or
external devices that you connect to the card, using appropriate SCSI
cables. In a shared SCSI configuration, however, you use multiple host
adapters, one for each server in the cluster, and connect the adapters
and the storage devices to a single bus, as shown in Figure 2.

The
SCSI host adapter is the component responsible for receiving device
access requests from the computer and feeding them to the appropriate
devices on the SCSI bus. Although you can use SCSI devices on any
personal computer by installing a host adapter card, SCSI is usually
associated with servers because it can handle requests for multiple
devices more efficiently than other interfaces.
When
the Integrated Drive Electronics (IDE) devices used in most PC
workstations receive an access request from the computer’s host
adapter, the device processes the request and sends a response to the
adapter. The adapter remains idle until it receives the response from
that device. Only when that response arrives can the adapter send the
next request. SCSI host adapters, by contrast, can send requests to
many different devices in succession, without having to wait for the
results of each one. Therefore, SCSI is better for servers that must
handle large numbers of disk access requests.
Many
personal computers marketed as servers have an integrated SCSI host
adapter. If the computers you use for your cluster servers do not
already have SCSI adapters, you must purchase and install a SCSI host
adapter card for each one.
|
Because
of the limitations of the SCSI architecture, Windows Server 2003
supports only two-node clusters using SCSI, and only with the 32-bit
version of Windows Server 2003, Enterprise Edition. SCSI is not
supported on Windows Server 2003, Datacenter Edition. SCSI hubs are
also not supported. In addition, you cannot use SCSI for a
geographically dispersed cluster, as the maximum length for a SCSI bus
is 25 meters.
SCSI
is designed to support multiple devices and multiple device types on a
single bus. The original SCSI standard supported up to eight devices
(including the SCSI host adapter), while some newer versions of the
standard can support up to 16. For the SCSI adapter to communicate with
each device individually, you must configure each device on the bus
with a unique SCSI ID. SCSI IDs range from 0 to 7 on the standard bus,
and SCSI host adapters traditionally use ID 7. When you create a shared
SCSI bus for your server cluster, you must modify the SCSI ID of one of
the host adapters on the bus so that both are not using the same ID. The
other requirement for all SCSI buses is that both ends of the bus be
terminated so that the signals generated by the SCSI devices do not
reflect back in the other direction and interfere with new signals. A
terminator uses resistors to remove the electrical signals from the
cable. You must have appropriate terminators installed at the ends of
your shared SCSI bus, and Microsoft recommends physical terminating
devices rather than the termination circuits built into many SCSI
devices. |
|
Using Fibre Channel
Fibre
Channel is a high-speed serial networking technology that was
originally conceived as a general purpose networking solution, but
which has instead been adopted primarily for connections between
computers and storage devices. Unlike SCSI, which is a parallel
signaling technology, Fibre Channel uses serial signaling, which
enables it to transmit over much longer distances. Fibre Channel
devices can transmit data at speeds up to 100 megabytes per second
using full duplex communications, which means that the devices can transmit at full speed in both directions simultaneously.
Off the Record
The
nonstandard spelling of the word “fibre” in Fibre Channel is
deliberate. The designers of the technology want to avoid confusion
with the term “fiber optic,” because Fibre Channel connections can use
copper-based as well as fiber-optic cable as a network medium. |
The
most common method for implementing a Fibre Channel storage solution on
a server cluster is to install a Fibre Channel host adapter in each
cluster server and then use them to connect the computers to one or
more external storage devices. The storage devices are typically
self-contained drive arrays or NAS devices, using RAID to provide high
data availability.
Windows Server 2003
supports two types of Fibre Channel topologies for connecting cluster
servers to storage devices: Fibre Channel arbitrated loop (FC-AL) and
Fibre Channel switched fabric (FC-SW).
Fibre Channel Arbitrated Loop
In
the context of Windows Server 2003 server clusters, a Fibre Channel
arbitrated loop is a ring topology that connects cluster servers with a
collection of storage devices, as shown in Figure 3.
The total number of devices in an arbitrated loop is limited to 126,
but Windows Server 2003 limits the number of servers in an arbitrated
loop cluster to two.

A
Fibre Channel arbitrated loop is a shared network medium, which is one
reason for the two-server limit. Data packets transmitted by one device
on the loop might have to pass through other devices to reach their
destinations, which lowers the overall bandwidth available to the
individual devices. Compared to switched fabric, arbitrated loop is a
relatively inexpensive clustering hardware technology that enables
administrators to easily expand their storage capacity (although not
the number of cluster nodes).
Fibre Channel Switched Fabric
The
only shared storage solution supported by Windows Server 2003 that is
suitable for server clusters of more than two nodes is the Fibre
Channel switched fabric network. FC-SW is similar in configuration to a
switched Ethernet network, in which each device is connected to a
switch, as shown in Figure 4.
Switching enables any device on the network to establish a direct,
dedicated connection to any other device. There is no shared network
medium as in FC-AL; the full bandwidth of the network is available to
all communications.

An
FC-SW network that is wholly dedicated to giving servers access to data
storage devices is a type of SAN. Building a SAN to service your server
cluster provides the greatest possible amount of flexibility and
scalability. You can add nodes to the cluster by installing additional
servers and connecting them to the SAN, or you can expand the cluster’s
shared storage capacity by installing additional drives or drive
arrays. You can also build a geographically dispersed server cluster by
extending the SAN to locations in other cities.