Distributed data access solutions like web farms and ERP applications require reliability, stability, and high availability. Designing a distributed data access solution is the process of determining what applications and services within a network are mission-critical and building an infrastructure to support applications that are distributed across an enterprise to provide reliability and availability. Windows 2000 includes tools like network load balancing (NLB), component load balancing (CLB), DFS to create a good distributed data solution. It also offers multi-protocol support.
Distributed data access solutions must be protected from hard- and software failures and must provide the capability to balance the load across several different servers while making access to services provided by the cluster transparent to the user.
Load balancing is the process of distributing client requests for an application or service across multiple servers to prevents servers from being overloaded. Windows 2000 Advanced Server and Datacenter Server includes the Network Load Balancing service, which let machines form a cluster of machines (virtual server) offering applications or services that respond as a single host to all incoming requests. NLB is installed as a service from the network control panel applet. The NLB service provides :
| Load balancing. (e.g web services, terminal services, streaming media, vpn's etc.) | |
| Scalability by the ability to add machines to the NLB cluster. | |
| High availability and automatic recovery from single machine failures. |
Facts about NLB :
| A Windows 2000 advanced server/datacenter server license is required for each machine on the NLB cluster. | |
| Hardware requirements for NLB are the same as advanced server/datacenter server. | |
| Not all applications can run on a NLB environment. | |
| NLB and Clustering Service can be combined but they cannot run on the same server. | |
| NLB does not work on a layer 3 network switch. | |
| NLB does not work with token ring but works with FDDI or gigabit Ethernet. | |
| All NLB host must use TCP/IP (fixed ip address) and be on the same subnet. | |
| Servers within the cluster use a dedicated ip address and a primary ip address. The dedicated ip address is the specific address of the server, the primary address is the address of the cluster. All traffic send to other addresses than the dedicated address is load-balanced. The dedicated address is always added first, so it is the reply address for data send from the server. | |
| The mac address that is derived from the cluster's primary ip address, is mapped to a cluster interfaces of the host. This assures that all hosts within the cluster receive the data. The MAC address of outgoing data is modified to prevent problems with layer 2 switches. | |
| NLB supports up the 32 hosts offering the same application. The hardware does not have to be the same but the hosts must be connected to the same subnet. | |
| Network Load Balancing hosts can run in mixed clusters with hosts running the Windows NT Load Balancing Service (WLBS) under Windows NT 4.0. |
NLB hosts receive every request from the applications as they all have the same mac address. After this they decide, based on port rules, whether or not the request is handled. This is arranged by the WLBS.SYS driver which acts as an interface between the network adapter driver and the TCP/IP stack.
While the servers in the cluster are running, they exchange 'heartbeat' message which tell if the servers are still available or offline for a specific reason. If a server within the NLB cluster is not available, the cluster goes into convergence mode to remove the server from the cluster and reloads the data to the other available servers. When the server is available again, the cluster will dynamically recognize the machine and integrate it back into the cluster.
Enter the ip address of the NLB farm, its subnet mask and the DNS name.
Enter the priority of the host, it's dedicated ip address (the address of the server itself) and its subnet mask. The priority of the host is used to determine it's priority for the ports that are NOT load balanced in the NLB farm. A machine in a farm gets a host priority in the range of 1 to 32. The host with the lowest number has the highest priority and is called the default host. This host handles all traffic for the virtual ip address that is not intended to be load-balanced. (no port rule assigned) If the default host is not available, the host with the next-lowest host priority will be selected.
A port rule describes which traffic (port) should be load balanced and how the load should be distributed. You can specify a percentage of the load that each server in the farm should receive (multiple-host) or select Use handling priority (single-host). Handling priority overrules the host priority and distributes the data to a single hosts with the highest handling priority. For each port rule, you can also set the affinity if you use multiple-host balancing. This affinity sets the relationship between the client's ip address (or class c subnet) and one of the hosts in the cluster. This is needed if for example web sessions are created on the cluster. In this case, the client every time needs a session with the same server to prevent session problems. You can set the following affinity levels :
| None. The clients are distributed equally across the members of the cluster. No sessions will be maintained. | |
| Single. The state is managed for a single ip address. If you first did connect to the second server in the cluster, you session will be distributed to that same server in the session when you connect again. | |
| Class C. All clients in a subnet will be reconnected to the same server in the cluster each time they connect to it. |
By default a port rule of multiple-hosts balancing with single affinity is set for all ports. (0-65,535)
You can use the remote control program wlbs.exe to remotely query the status of cluster and manage them. You can, for example, stop and start the cluster or parts of the cluster or block new sessions to servers within the cluster via the 'wlbs drain all' option.
Microsoft Clustering Service gives the ability to group independent servers into logical clusters, working together to provide services for the same application while providing the image of a single machine to the client. Four machines can be configured as one logical group, sharing disk space and providing access to an application through one logical ip address. The main reason to implement clustering is fail over, although load balancing is another advantage.
There are three types of cluster configuration :
| Single mode. In this mode there is only one server so no fail over is available. This option can be choosen for administrative reason (usage of MS Cluster snap-in) or when testing a new service. | |
| Dedicated secondary mode. In this mode the cluster contains resource groups that are associations of dependent resources that fail over together in the event of a failure. Each resource group represents a virtual server that can provide services to clients and include a network name, a disk resource, and an ip address. To each resource group you can apply fail over policies to set how the resource group behaves when a failure occurs. In this mode, the first server provides all the applications and services to clients, while the second server is idle until a failure occurs. This model can be used when a cluster is built to provide a single application or service, or when different hardware (fast/slow server) is used to build the cluster. | |
| Distributed server. In this model both servers in the cluster are responsible for servicing clients. Each server provides fail over for the other server. |
Keep in mind that Windows 2000 Clustering does not support all hardware. Check the Windows 2000 hardware clustering compatibility list before building a cluster server. Items that should be watched are :
| Systems must be Intel I386 based. | |
| At least 256 mb memory is required. | |
| Network Interface Cards must have a PCI bus. Cluster servers only support TCP/IP, NLB cannot be implemented on a cluster server. | |
| Systems must share a SCSI bus for disk storage. | |
| Disks within a shared SCSI bus must be NTFS basic disks. Removable storage, reparse points, EFS and mounted volumes are not supported, | |
| Use hardware RAID systems, software RAID is not supported. | |
| Shared storage should contain one disk partition for each application supported on the cluster. Another partition is required for the quorum resource. This partition is used by the cluster service to communicate changes to the cluster configuration to all nodes within the cluster. It contains the cluster registry and the cluster transaction log. | |
| Nodes in a cluster must belong to the same domain. If the cluster servers are domain controllers, the active directory should be stored on the local disks. If the cluster servers are member server, make sure the domain controllers are always available for validation. | |
| Active
directory and terminal servers cannot be clustered. |
Windows 2000
supports various protocols to connect to other systems. Think of tcp/ip, ipx/spx,
NetBEUI, Appletalk etc. For more info about this see summary
networking protocols.
You can use SNA server 4.0 or host integration server, to create a gateway
between Windows client/servers and IBM AS/400 and mainframe services.
Functions of SNA/Host integration servers servers are : (see Microsoft's SNA server 4.0 Features at a glance and Host integration server features overview)
| OLE DB providers for AS/400 and VSAM. | |
| OLE DB and ODBC driver for DB2. | |
| COM transaction integrator for CICS and IMS. (integration with Microsoft Transaction Server) | |
| Messaging interface between IBM MQ series and Microsoft Message Queue Server. | |
| Shared folders gateway. Access AS/400 shared folders. | |
| Host print service. | |
| AFTP file transfer service and FTP-AFTP gateway service. | |
| VSAM file transfer server. Copy mainframe files to an NT server. | |
| PU passthrough. | |
| SNA session level compression and data encryption. | |
| TN3270 and TN5250 emulation. | |
| Hot fail over and load balancing. Up to 15 SNA servers can be defined for fail over and LU load balancing. These servers are than in a subdomain. Each of these subdomains must contain a primary server (that contains the primary copy of the configuration), and can contain backup- (backup of the configuration) and member servers. To provide scalability and reduce replication traffic, create a subdomain for every site when using a distributed model. | |
| Single sign-on and password synchronization. | |
| Integration with Microsoft commerce server and Microsoft Bizztalk server. | |
| Host-to-intranet and Host-to-internet application development options. | |
| Windows 2000 integration. E.g. Active Directory, COM+, MMC, WMI and VPN's. |
The following types of communication can be used with the mainframe and AS/400 environment :
| Synchronous
Data Link Control. SDLC is not a peer-to-peer protocol like X25
or frame Relay with a maximum speed of 19.200 bps. An SDLC network
contains a primary station that controls all communications, and one or
more secondary stations. Where multiple secondary stations are connected
to a single primary, this is called a multipoint or multidrop network. | |
| X.25.
X.25 is a packet switched data network protocol that exchanges data as
well as control information between user devices (hosts), called
Data Terminal Equipment (DTE) and network nodes, called Data Circuit
Terminating Equipment (DCE). X.25 provides a connection-oriented
technology for transmission over highly-error prone facilities, which were
more common when it was first introduced. Error checking is performed at
each node, which make the throughput low. The maximum speed of X.25 is
19.200 bps. | |
| Source-Routed Token Ring/The source-route bridging. This algorithm was developed by IBM to bridge between local-area networks. Source Routing places a virtual bridge between two network segments so that traffic between the two segments is considered local to the same segment. This is often used on token ring networks to bridge SNA dependent segments. |
There are three models to deploy SNA servers :
| Branch deployment model. Each location that needs access to the host system is provided with an SNA server. This offers decentralized support and a spread of the network load. Traffic between the client on the local network will be on the local network, while SDLC or X25 connections will be between the SNA server and the host. Using this solution, you can use an already existing SDLC or X25 infrastructure. | |
| Centralized deployment model. In this model, the SNA server is placed near the host. This means that the major part of the network traffic (client to SNA server) will be in the default protocol. The last part of the connection (SNA server to host) can be front-end processor (ethernet, token ring, fddi, sdlc or x.25) or a direct connection like Ethernet, Token Ring, FDDI, Bus & Tag or Escon channel attachment when connecting to a mainframe. SDLC, 802.2/DLC, X.25, Twinax or frame relay can be used to connect the SNA server to an AS/400. The centralized deployment model require less routing of the SDLC or X.25 protocol and can use the current IP or IPX infrastructure. | |
| Distributed deployment model. This model is a combination of the branch- and centralized deployment model. SNA servers are installed nearby the host and in the various branches. The SNA servers in the branches are configured to use distributed link services to connect to the SNA servers nearby the host. |
Last update: 12 January 2003