Microsoft Load Balancing and Clusterin
Microsoft Load Balancing and
Clustering
Outline
• Introduction
• Load balancing
• Clustering
Introduction
• Server cluster is used to provide failover support
for applications and services.
• A Server cluster can consist of several nodes
(computers).
• Each node is attached to one or more cluster
storage devices.
• Cluster storage devices allow different servers to
share the same data, and by reading this data
provide failover for resources.
Introduction
• Load balancing is used to scale the system
as the client requests are increased
• It is suitable for static data which can be
copied to several load balancing servers
• Each server is autonomous which means
they don’t share any state information
Cluster Farm
• A farm is a group of servers that run similar
services, but do not typically share data.
• They are called a farm because they handle
whatever requests are passed out to them using
identical copies of data that is stored locally.
• Because they use identical copies of data (rather
than sharing data), members of a farm operate
autonomously and are also referred to as clones.
• Front-end Web servers running Internet Information
Services (IIS) and using NLB are an example of a
farm.
Cluster Pack
• A pack is a group of servers that operate together and share partitioned
data.
• They are called a pack because they work together to manage and
maintain services.
• Because members of a pack share access to partitioned data, they have
unique operations modes and usually access the shared data on disk
drives to which all members of the pack are connected.
• An example of a pack is a database Server cluster running SQL Server
2000 and a server cluster with partitioned database views. Members of
the pack share access to the data and have a unique chunk of data or
logic that they handle, rather than handling all data requests.
• In a 4-node SQL Server cluster:
–
–
–
–
Database Server 1 may handle accounts that begin with A-F.
Database Server 2 may handle accounts that begin with G-M.
Database Server 3 may handle accounts that begin with N-S.
Database Server 4 may handle accounts that begin with T-Z.
Server configurations
• Server clusters can be setup using many different
configurations.
• Servers can be either active or passive, and
different servers can be configured to take over the
failed resources of another server.
• Failover can take several minutes, depending on
the configuration and the application being used,
but is designed to be transparent to the end-user.
Windows Clustering
Clients
The Big Picture
Network Load
Balancing
Cluster Service
1
2
3
4
…
32
IIS Web Server
or other IP based services
Data Servers
SQL, Exchange, File
Clustering – more detailed picture
Windows Clustering:
Addressing Concerns
•
Scalability
– Scale Up
– Scale Out
•
High Availability
– 99.9% Uptime
•
Manageability
– Remote
– UI and Command line
Windows Clustering
Vocabulary
•
•
•
•
MSCS – Server clusters provide failover of resources
representing services, applications and base system
features between the servers in the Cluster.
NLB – (WLBS) Network Load Balancing clusters
distribute client requests or TCP/IP network traffic among
many servers in the Cluster.
Cluster – A group of independent computers that work
together to run a common set of applications and provide
the image of a single system to the client and application.
Nodes or Hosts – Each system in a cluster configuration.
Server Clusters
Physical design
Client PCs
Public network
Private network
(heartbeats, status, control)
Cluster servers
Multi-initiator SCSI or
SCSI over Fibre Channel
RAID disk sets
Server Clusters
Recommended Environments
•
•
•
•
•
•
Microsoft SQL Server™ 6.5 & 7.0
Microsoft Exchange 5.5
File shares
Printer shares
Other cluster-aware applications & services
Typical uses are for data that changes frequently and
cannot be easily replicated.
Network Load Balancing
•
•
•
Logical Design
•
No single point of failure
Internet/
No performance
intranet
•
bottleneck
No additional hardware
NLB Virtual
needed
IP Address
Grow incrementally as
demand increases
Up to 32 nodes in a cluster
IP Address
NLB Host
NLB Host
NLB Host
NLB Host
NLB Host
Handle both planned and unplanned server downtime
transparently
Configuring NLB with two network
adapters
•
1. Assign appropriate IP addresses to each NIC, placing the NICs in separate
subnets. Rename the first NIC “Public“ and the second to “NLB“, do this for each machine.
•Node2 o "Public" NIC
* IP address: 10.10.10.12
* Subnet: 255.255.255.0
* Gateway: 10.10.10.1
• o "NLB" NIC
* DNS: as appropriate
* IP address: 192.168.1.1
•
* Subnet: 255.255.255.0
* Gateway: N/A
o "NLB" NIC
* DNS: N/A
* IP address: 192.168.1.2
* Subnet: 255.255.255.0
2. On the "Public" NICs, click "Advanced" and add an additional IP address
* Gateway:
as the Virtual IP Address which clients will connect to from
the PublicN/A
network (i.e. - 10.10.10.169)
* DNS: N/A
•
•
* Node1 –
o "Public" NIC
* IP address: 10.10.10.11
* Subnet: 255.255.255.0
* Gateway: 10.10.10.1
* DNS: as appropriate
Infrastructure Scaling
Clustering on different Windows
versions
Architecting Multi-node Clusters
Multiple Sites and Geographically
Dispersed Clusters
Cluster models
• Single node server clusters can be configured with, or without,
external cluster storage devices. For single node clusters
without an external cluster storage device, the local disk is
configured as the cluster storage device.
• Single quorum device server clusters have two or more nodes
and are configured so that every node is attached to one or
more cluster storage devices. The cluster configuration data is
stored on a single cluster storage device.
• Majority node set server clusters have two or more nodes but
the nodes may or may not be attached to one or more cluster
storage devices. The cluster configuration data is stored on
multiple disks across the cluster and the Cluster service makes
sure that this data is kept consistent across the different disks.
Cluster application types
• Cluster-unaware applications. These types of applications do not
interact with the server cluster at all but can still fail over. Failure
detection is limited. The Cluster service protects these applications
mainly against hardware failures.
• Cluster-aware applications. These types of applications are
characterized by superior failure detection. The Cluster service can
protect these applications not only against hardware but also against
software failures.
• Cluster management applications. These types of applications, which
include Cluster Administrator and Cluster.exe, allow administrators to
manage and configure clusters.
• Custom resource types. Resource types provide customized cluster
management and instrumentation for applications, services, and
devices.
Server cluster components
References
• Microsoft.com
Clustering
Outline
• Introduction
• Load balancing
• Clustering
Introduction
• Server cluster is used to provide failover support
for applications and services.
• A Server cluster can consist of several nodes
(computers).
• Each node is attached to one or more cluster
storage devices.
• Cluster storage devices allow different servers to
share the same data, and by reading this data
provide failover for resources.
Introduction
• Load balancing is used to scale the system
as the client requests are increased
• It is suitable for static data which can be
copied to several load balancing servers
• Each server is autonomous which means
they don’t share any state information
Cluster Farm
• A farm is a group of servers that run similar
services, but do not typically share data.
• They are called a farm because they handle
whatever requests are passed out to them using
identical copies of data that is stored locally.
• Because they use identical copies of data (rather
than sharing data), members of a farm operate
autonomously and are also referred to as clones.
• Front-end Web servers running Internet Information
Services (IIS) and using NLB are an example of a
farm.
Cluster Pack
• A pack is a group of servers that operate together and share partitioned
data.
• They are called a pack because they work together to manage and
maintain services.
• Because members of a pack share access to partitioned data, they have
unique operations modes and usually access the shared data on disk
drives to which all members of the pack are connected.
• An example of a pack is a database Server cluster running SQL Server
2000 and a server cluster with partitioned database views. Members of
the pack share access to the data and have a unique chunk of data or
logic that they handle, rather than handling all data requests.
• In a 4-node SQL Server cluster:
–
–
–
–
Database Server 1 may handle accounts that begin with A-F.
Database Server 2 may handle accounts that begin with G-M.
Database Server 3 may handle accounts that begin with N-S.
Database Server 4 may handle accounts that begin with T-Z.
Server configurations
• Server clusters can be setup using many different
configurations.
• Servers can be either active or passive, and
different servers can be configured to take over the
failed resources of another server.
• Failover can take several minutes, depending on
the configuration and the application being used,
but is designed to be transparent to the end-user.
Windows Clustering
Clients
The Big Picture
Network Load
Balancing
Cluster Service
1
2
3
4
…
32
IIS Web Server
or other IP based services
Data Servers
SQL, Exchange, File
Clustering – more detailed picture
Windows Clustering:
Addressing Concerns
•
Scalability
– Scale Up
– Scale Out
•
High Availability
– 99.9% Uptime
•
Manageability
– Remote
– UI and Command line
Windows Clustering
Vocabulary
•
•
•
•
MSCS – Server clusters provide failover of resources
representing services, applications and base system
features between the servers in the Cluster.
NLB – (WLBS) Network Load Balancing clusters
distribute client requests or TCP/IP network traffic among
many servers in the Cluster.
Cluster – A group of independent computers that work
together to run a common set of applications and provide
the image of a single system to the client and application.
Nodes or Hosts – Each system in a cluster configuration.
Server Clusters
Physical design
Client PCs
Public network
Private network
(heartbeats, status, control)
Cluster servers
Multi-initiator SCSI or
SCSI over Fibre Channel
RAID disk sets
Server Clusters
Recommended Environments
•
•
•
•
•
•
Microsoft SQL Server™ 6.5 & 7.0
Microsoft Exchange 5.5
File shares
Printer shares
Other cluster-aware applications & services
Typical uses are for data that changes frequently and
cannot be easily replicated.
Network Load Balancing
•
•
•
Logical Design
•
No single point of failure
Internet/
No performance
intranet
•
bottleneck
No additional hardware
NLB Virtual
needed
IP Address
Grow incrementally as
demand increases
Up to 32 nodes in a cluster
IP Address
NLB Host
NLB Host
NLB Host
NLB Host
NLB Host
Handle both planned and unplanned server downtime
transparently
Configuring NLB with two network
adapters
•
1. Assign appropriate IP addresses to each NIC, placing the NICs in separate
subnets. Rename the first NIC “Public“ and the second to “NLB“, do this for each machine.
•Node2 o "Public" NIC
* IP address: 10.10.10.12
* Subnet: 255.255.255.0
* Gateway: 10.10.10.1
• o "NLB" NIC
* DNS: as appropriate
* IP address: 192.168.1.1
•
* Subnet: 255.255.255.0
* Gateway: N/A
o "NLB" NIC
* DNS: N/A
* IP address: 192.168.1.2
* Subnet: 255.255.255.0
2. On the "Public" NICs, click "Advanced" and add an additional IP address
* Gateway:
as the Virtual IP Address which clients will connect to from
the PublicN/A
network (i.e. - 10.10.10.169)
* DNS: N/A
•
•
* Node1 –
o "Public" NIC
* IP address: 10.10.10.11
* Subnet: 255.255.255.0
* Gateway: 10.10.10.1
* DNS: as appropriate
Infrastructure Scaling
Clustering on different Windows
versions
Architecting Multi-node Clusters
Multiple Sites and Geographically
Dispersed Clusters
Cluster models
• Single node server clusters can be configured with, or without,
external cluster storage devices. For single node clusters
without an external cluster storage device, the local disk is
configured as the cluster storage device.
• Single quorum device server clusters have two or more nodes
and are configured so that every node is attached to one or
more cluster storage devices. The cluster configuration data is
stored on a single cluster storage device.
• Majority node set server clusters have two or more nodes but
the nodes may or may not be attached to one or more cluster
storage devices. The cluster configuration data is stored on
multiple disks across the cluster and the Cluster service makes
sure that this data is kept consistent across the different disks.
Cluster application types
• Cluster-unaware applications. These types of applications do not
interact with the server cluster at all but can still fail over. Failure
detection is limited. The Cluster service protects these applications
mainly against hardware failures.
• Cluster-aware applications. These types of applications are
characterized by superior failure detection. The Cluster service can
protect these applications not only against hardware but also against
software failures.
• Cluster management applications. These types of applications, which
include Cluster Administrator and Cluster.exe, allow administrators to
manage and configure clusters.
• Custom resource types. Resource types provide customized cluster
management and instrumentation for applications, services, and
devices.
Server cluster components
References
• Microsoft.com