12: Planning and Implementing Server Availability and Scalability

Download Report

Transcript 12: Planning and Implementing Server Availability and Scalability

70-293: MCSE Guide to Planning
a Microsoft Windows Server 2003
Network, Enhanced
Chapter 12:
Planning and Implementing Server
Availability and Scalability
Objectives
• Understand availability and scalability
• Differentiate between server clustering and Network
Load Balancing
• Implement server clustering
• Describe the concepts involved in server clustering
• Describe the concepts involved in Network Load
Balancing
• Implement Network Load Balancing
• Install applications on an NLB cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
2
Availability and Scalability
• Availability: the percentage of time that servers are
providing service on the network
• Scalability: the ability to expand the number of
clients or data that a server can support
• How you implement availability and scalability
depends on whether applications are stateful or
stateless
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
3
Server Availability
• Potential causes of server or service failure
•
•
•
•
•
Hardware failure
Network failure
Administrator mistakes
Operating system crashes
Application crashes
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
4
Server Availability (continued)
• To provide higher server availability, you can use:
•
•
•
•
•
•
•
•
Redundant hardware (e.g., RAID5)
Uninterruptible power supply for temporary power outages
Backup power generator for longer power outages
Redundant paths through the network
Standardized procedures to perform tasks
Fully document the network server configuration
Regularly patched operating systems and applications
Windows Server 2003 clustering to implement server
clusters and Network Load Balancing
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
5
Scalability
• Scalability can be accomplished by:
• Scaling up
• Scaling out
• To scale up, you can:
• Add more RAM
• Add a faster disk subsystem
• Add more processors
• Scaling up can be both limiting and expensive
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
6
Scalability (continued)
• Scaling out uses commonly available hardware rather
than specialized hardware
• Difficult when a single service is running on a server and
you want to scale out
• Network Load Balancing (NLB)
• Best solution for scaling out a single application
• Can distribute the load between multiple servers
• NLB can sense a failed server
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
7
Stateful and Stateless
Applications
• Stateful applications require the server to retain
knowledge about the client accessing the server
• Not well suited to scale out
• Easier to scale up
• Stateless applications do not require the server to
retain knowledge about the client accessing the server
• Well suited to scale out
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
8
Windows Server 2003 Clustering
• Windows Server 2003 provides two clustering
mechanisms to provide availability and scalability:
• Server clusters
• NLB
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
9
Server Clusters
• Provides highly available services
• A service runs on a single server and can be moved to
another server in the cluster (failover)
• Server clusters are available only in Windows Server
2003, Enterprise Edition and Datacenter Edition
• Up to eight nodes are supported in each server cluster
• Server clusters must have a shared storage
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
10
Server Cluster Configurations
• Windows Server 2003 supports:
• Active/Passive
• Consists of two nodes: one hosts services and the other does
not
• N+I failover
• N nodes in the server cluster are active and I nodes are
passive in the server cluster ready to accept failed over
services
• Active/Active
• Consists of two or more nodes, all of which are active
• Single node virtual server
• Consists of only one node. and does not have failover
capability
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
11
Cluster Applications
• To use server clusters, application must be
• An IP-based protocol
• Able to specify where application data is located
• Able to use the clustering API and receive status
notifications and manage the cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
12
Network Load Balancing
• Network Load Balancing (NLB) spreads application
requests from clients among two or more servers
• With NLB, an application is installed on multiple
servers using a virtual IP address
• NLB can spread network requests evenly among the
servers hosting the application or spread network
requests based on a weighting scheme
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
13
An Example of Windows Server
2003 Clustering
• The following example illustrates how both server
clusters and NLB can be used for a Web-based
application designed to explore a computerized web
based database backed school registration system
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
14
An Example of Windows Server
2003 Clustering (continued)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
15
Activity 12-1: Cluster Concepts
• The purpose of this activity is to learn more about
server clusters and NLB
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
16
Installing and Configuring
Server Clusters
• The cluster service is installed automatically as part
of a Windows Server 2003 installation
• To configure a server cluster, you use Cluster
Administrator
• To create new server clusters or
• Add new nodes to an existing server cluster
• New Server Cluster Wizard: creates a new cluster
• After installation, the current state of your cluster is
shown in Cluster Administrator
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
17
Activity 12-2: Installing a Single
Node Virtual Server Cluster
• The purpose of this activity is to create a single node
virtual server cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
18
Server Cluster Concepts
• The various concepts about server clusters include:
•
•
•
•
•
•
Shared disks
Quorum resource
Cluster communication
Resource groups
Failover and failback
Virtual servers
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
19
Shared Disks
• Shared disk: storage that all nodes in a cluster can
access
• Not required when a geographically dispersed server
cluster is configured with an alternate data synchronization
mechanism, or when a server cluster has a single server for
testing purposes
• When shared disks are required use either
• A shared SCSI bus or
• Fibre Channel SAN
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
20
Shared SCSI Bus
• SCSI configuration requirements include
•
•
•
•
An SCSI card that can disable autobus reset
All SCSI devices on the SCSI must have unique SCSI IDs
Proper termination on the SCSI bus
SCSI hard drives that are multi-initiator enabled to support
multiple SCSI cards on the bus
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
21
Shared SCSI Bus (continued)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
22
Fibre Channel
• Fibre Channel is for storage area networks
• Requirements for Fibre Channel shared storage
• Fibre Channel card for each node in the server cluster
• External storage array that supports Fibre Channel
• Fibre Channel switch to connect the nodes to the external
storage array
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
23
Fibre Channel (continued)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
24
Quorum Resource
• Quorum Resource is used by the cluster service
• To store configuration information
• To arbitrate which node owns the cluster
• The location is specified at server cluster creation
• Only one node at a time can own the quorum resource
• First available node becomes the owner
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
25
Cluster Communication
• Nodes in a server cluster communicate with each
other using heartbeat packets
• Heartbeat packets monitor which nodes in the server
cluster are still up and available
• Can be UDP unicast packets or multicast packets
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
26
Resource Groups
• Control of services and applications in a server
cluster is based on resource groups
• Resource group: logical grouping of all required
resources for an application or service to run
• Resources can be disk partitions, IP addresses,
printers, services, and applications
• Resources can be in the following states: online,
offline, online pending, offline pending or failed
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
27
Failover and Failback
• If a server cluster node fails, the resource groups on
that node automatically fail over to another node
• After failover has occurred, failback is possible
• Occurs when the original node hosting a resource group is
available again and the resource group is moved back to the
original node
• Can define whether a resource group fails back
automatically, manually, or not at all
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
28
Virtual Servers
• Virtual server: collection of resources in a resource
group presented by the cluster service
• The node that owns the group responds on its behalf
• Resources in server clusters are always accessed
through a virtual server
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
29
Activity 12-3: Adding a Printer to
a Virtual Server
• The purpose of this activity is to add a printer to a
virtual server
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
30
Activity 12-4: Removing a Server
Cluster Node
• The purpose of this activity is to remove the final
node from a server cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
31
Network Load Balancing
Concepts
• Concepts in NLB include:
•
•
•
•
•
•
•
The NLB driver
Virtual IP addresses
Application requirements
Affinity
Load balancing options
Network communication
Port rules
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
32
NLB Driver
• NLB driver: software responsible for performing
NLB on each host in an NLB cluster
• Operates between the network card driver and the IP
protocol
• Can intercept and filter all incoming IP traffic
• Filtering is required because all hosts in an NLB cluster
share a MAC address that is used for the cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
33
Activity 12-5: Enabling the NLB
Driver
• The purpose of this activity is to enable the NLB
driver
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
34
Virtual IP Address
• Each NLB cluster has a virtual IP address
• The virtual IP address must be
• Unique on the network
• On the same subnet as the hosts in the NLB cluster
• Added as a secondary IP address to a network interface
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
35
Application Requirements
• NLB suitable applications must:
• Must use TCP or UDP
• Data modified by the clients must be synchronized between
hosts in the NLB cluster or stored in a central location, or
affinity must be configured
• Session state information must be stored on client
computers or central location, or affinity must be
configured
• The application must not bind to a computer name
• Applications must not keep files open for writing
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
36
Affinity
• Affinity: responses to requests made originally to one
host in an NLB cluster are directed back to the
original host
• Required for applications that track session state info
• Affinity can be configured in three ways:
• None: affinity is not performed for stateless applications
• Single: affinity based on the source IP address of the client
• Class C: affinity is based on the source network of the
client.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
37
Load Balancing Options
• When hosts are part of an NLB cluster, you can
define how the load is balanced between them:
• Multiple Host and Equal
• NLB cluster distributes load evenly between all hosts in cluster
• Multiple Host and Load weight
• NLB cluster distributes requests based on a load weight
• Single Host
• All requests to the NLB cluster are directed to a single host
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
38
Network Communication
• All hosts in the NLB cluster share a MAC address
• All client requests use the MAC address of the NLB
cluster as the destination MAC address
• Allows all hosts in the NLB cluster to receive packets
addressed to the NLB cluster
• NLB driver loaded on each host accepts or discards
the packet based on an algorithm that takes into
account affinity settings, load weighting, and priority
• NLB clusters can be configured to use either unicast
MAC addresses or multicast MAC addresses
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
39
Unicast
• Unicast is the most common method used for
distributing client requests
• When selected, all hosts in the NLB cluster use the
same unicast MAC address
• Unicast MAC address is used in place of the MAC
address embedded in the network card of each host
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
40
Multicast
• Multicast MAC addresses: prevent the inefficient use
of switches and allow NLB cluster hosts with a single
network to communicate among themselves
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
41
Port Rules
• Port rules
• Control what the NLB driver does with packets
• When hosts in the NLB cluster receive packets from
clients, port rules define what is done with each packet
• Composed of
•
•
•
•
Cluster IP address
Port address range
Protocol
Filtering mode that includes load weight and affinity
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
42
Implementing Network Load
Balancing
• To implement an NLB cluster
• NLB driver must be enabled on all servers that are to be
hosts in the NLB cluster
• Can create a new NLB cluster using Network Load
Balancing Manager (nlbmgr.exe)
• After the first host has created the NLB cluster, others can
join
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
43
Activity 12-6: Installing an NLB
Cluster
• The purpose of this activity is to install an NLB
cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
44
Installing Applications on an
NLB Cluster
• No special procedure to use when installing
applications on an NLB cluster
• Application must be installed on all hosts in cluster
• Microsoft recommends that you automate the process
of application configuration to ensure that all servers
are configured exactly the same
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
45
Activity 12-7: Configuring a Web
Application for Load Balancing
• The purpose of this activity is to configure a Web site
for load balancing
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
46
Activity 12-8: Removing an NLB
Clustered Application
• The purpose of this activity is to remove an NLB
cluster
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
47
Summary
• Availability: percentage of time that servers are
providing service on the network
• Scalability: ability to expand the number of clients or
data that a server can support
• Windows Server 2003 provides two clustering
mechanisms to provide availability and scalability:
server clusters and NLB
• In a server cluster a service runs on a single server
and can be moved to another server (failover)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
48
Summary (continued)
• Network Load Balancing (NLB) spreads application
requests from clients among two or more servers
• NLB Manager is used to implement NLB
• When implementing NLB, Microsoft recommends
that you automate the process of application
configuration to ensure that all servers are configured
exactly the same
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network
49