Windows Server 2008 R2 Failover Clustering and Network Load Balancing October 25 th 2009
3 Agenda Introduction to Clustering What is cluster Why use cluster Cluster common terminology What is High Availability Hardware / Software Requirements Cluster Validations / Cluster Creations. Introduction to WNLB Overview of Network Load Balancing Clusters Configuring a Network Load Balancing Cluster Maintaining a Network Load Balancing Cluster
4 What Are Clusters? A cluster is a group of computers and storage devices that work together and that you can access as a single system The individual computers in a cluster act together to provide: Distribution of processing load Automatic recovery from failure of one or more components in the cluster
5 Discussion: Why Use Clusters? Can you realize a return on investment when you deploy an expensive cluster? What issues might you encounter when network services are not available? Which services would you make highly available?
Clustering Terminology TermDescription NodeA server that participates in a cluster ResourceA device or service hosted on a cluster and accessed directly or indirectly by the application or end user Failover clustering An highly available clustering type with resources owned by a single server at a time Load balancingA clustering type that distributes processing across a number of nodes Fault tolerantA key component of clusters that withstands problems in hardware or software while continuing to operate Planned downtime The amount of time an application is unavailable due to an update or other maintenance Unplanned downtime The critical amount of time an application is unavailable due to a component failure
7 What is High Availability? The world is now a 24/7 global marketplace Systems must be online or customers are lost Goal of high availability (HA) is to keep systems, applications, services, , databases, files & printers readily available Every business now has high availability needs Uptime PercentageMaximum downtime per year minutes minutes hours days
8 Why is HA Important? Server downtime is unavoidable Keep your business running and competitive Servers may go offline due to Maintenance Upgrade Software or Hardware Update Hot Fix, Security Patch Accident Power Outage Disasters Start planning now!
9 Introduction to Failover Clustering Introduction to Clustering What is cluster Why use cluster Cluster common terminology What is High Availability Hardware / Software Requirements Cluster Validations / Cluster Creations. Introduction to WNLB Overview of Network Load Balancing Clusters Configuring a Network Load Balancing Cluster Maintaining a Network Load Balancing Cluster
10 Failover Clustering 2+ machines (nodes) Redundancy everywhere Storage, NICs, HBAs, MPIO, etc. “Shared” storage accessible by all nodes 1 node will host a HA application Application writes data to storage
11 Failover Clustering Nodes monitor health of other nodes If that node fails, health monitoring will cause a “failover” of the resource Another node starts the application and reads the last saved information from the storage Clients experience a slight interruption in service
12 What is a Failover Cluster? Public Shared Storage
13 Terminology Changes Beta R2
14 Software Requirements Clustering comes as an in-box feature on: Windows Server 2008 & R2 Datacenter Windows Server 2008 & R2 Enterprise Windows Server 2008 & R2 for IA-64 Microsoft Hyper-V Server 2008 R2 Windows Unified Data Storage Server Enterprise Architecture: x64: up to 16 nodes x86: up to 8 nodes IA64: up to 8 nodes
15 Building Your Cluster 2 or more computers (nodes) 2 NICs + dedicated storage adapter 3 rd NIC for iSCSI HBA 3 Networks Public Private (heartbeat) Storage / iSCSI Shared Storage OS, Service or Application
16 Mix And Match Hardware You can use any hardware configuration if It passes Validate Each component has a “Certified for Windows Server 2008” logo Servers, Storage, HBAs, MPIO, DSMs, etc… It’s that simple! Connect your Windows Server 2008 logo’d hardware Pass every test in Validate It is now supported! If you make a change, just re-run Validate Details:
17 Clustering Storage SCSI-3 SPC-3 compliant SCSI Commands SCSI-3 SPC-3 compliant SCSI Commands Persistent Reservations (PRs) Persistent Reservations (PRs) Parallel-SCSI deprecated in 2008 Parallel-SCSI deprecated in 2008 Multipath IO (MPIO) recommended Multipath IO (MPIO) recommended Basic GPT and MBR disks supported Basic GPT and MBR disks supported Fibre Channel Fibre Channel iSCSI SAS Windows Server 2008/R2 Supported Shared Bus Types:
18 Networking Key clustering component Public network – clients Private network – cluster communication Storage network – nodes access “shared” storage Multiple networks for added redundancy Integrated with new TCP/IP Stack Full IPv6 Support DHCP Support for IPv4 and IPv6 Resources Nodes can reside in different subnets
19 Introduction to Failover Clustering Introduction to Clustering What is cluster Why use cluster Cluster common terminology What is High Availability Hardware / Software Requirements Cluster Validations / Cluster Creations. Introduction to WNLB Overview of Network Load Balancing Clusters Configuring a Network Load Balancing Cluster Maintaining a Network Load Balancing Cluster
20 Validating a Cluster For Microsoft support, cluster must pass the built-in Validate a Cluster Configuration (Validate) test Run during configuration and/or after deployment Best practices analyzed if run on configured cluster Series of end-to-end tests on all cluster components Configuration info for support and documentation Networking issues Troubleshoot in-production clusters More information
21 Validate Inventories Same OS version which supports clustering Same Hotfix and Service Pack level OS Binary Consistency CPU architecture Memory information Architecture Domain membership and role Analysis of unsigned drivers Configuration PnP device inventory HBAs and NICs Devices
22 Validate Verifies Inter-node communication SCSI compatibility with Persistent Reservations Infrastructure Multiple NIC’s per server Shared disks accessible from all machines and uniquely identifiable Hardware Each NIC has different IP address on a dissimilar subnet Software Network and Disk I/O latencies Failover simulation Functionality
24 WS03 – Cluster Creation
25 WS08 & R2 – Cluster Creation
27 Windows Network Load Balancing (WNLB) Overview of Network Load Balancing Clusters Configuring a Network Load Balancing Cluster Maintaining a Network Load Balancing Cluster
28 What Is Network Load Balancing (NLB)? NLB: Enables high availability and scalability for Internet server-based applications Enables high availability and scalability for Internet server-based applications Enables clients to access two or more servers using a single IP address Enables clients to access two or more servers using a single IP address Requires all servers in the NLB cluster to be running the same server applications with the same configuration
29 How NLB Works When using NLB: All servers in an NLB cluster are accessible by using a single (virtual) IP address All servers in an NLB cluster are accessible by using a single (virtual) IP address Client requests are distributed across available servers in the NLB cluster based on a common algorithm All servers monitor each other through heartbeat messages All servers monitor each other through heartbeat messages If a server fails to send heartbeat messages for 5 seconds, the other servers automatically converge and redistribute the client connections across the available servers
30 How Network Load Balancing Clusters Work LAN (Ethernet) NLB host + IIS server Clients NLB Web server cluster NLB host + IIS server
31 Using Failover Clusters with Network Load Balancing Clients NLB Web servers Failover cluster database server
32 Microsoft® Windows Server® 2008 NLB Features Network connectivity with support for: - IPv6 - Network Driver Interface Specification (NDIS) Multiple dedicated IP addresses per node Support for up to 32 computers per cluster Denial of service attack and timer starvation protection Support for rolling upgrades from Windows Server 2003 Network Load Balancing Manager
33 NLB Deployment Requirements To deploy network load balancing: Configure one or more network cards on all servers in the cluster Configure DNS to resolve the shared IP address Install and configure the same applications on all hosts in the cluster Deploy servers with similar hardware or plan for variations in load balancing Install the Network Load Balancing feature
35 Considerations for Configuring NLB Clusters and Hosts When configuring an NLB cluster, you should consider whether: Each server will host the same number of client connections Each server will host the same number of client connections The client will connect to the same server for all connections The cluster will operate the same way for all applications The cluster will operate the same way for all applications Your network switches support unicast or multicast operations
Comparing Unicast and Multicast NLB Cluster Operation Modes The cluster operation mode is used to ensure that all cluster hosts receive all incoming client requests sent to the virtual IP address assigned to the cluster The cluster operation mode is used to ensure that all cluster hosts receive all incoming client requests sent to the virtual IP address assigned to the cluster MethodDescription Unicast All cluster hosts share an identical unicast media access control (MAC) address The outgoing MAC address is modified, based on the cluster host’s priority setting, to prevent switches from discovering that all cluster hosts have the same MAC address Multicast Each cluster host retains the original adapter MAC address The adapter is assigned a multicast MAC address, which is shared by all cluster hosts
Options for Configuring Host Parameters ParameterDescription Priority Specifies a unique ID for each host Used to assign one server to handle all network traffic not covered by a port rule IP address Must be unique in the cluster Subnet mask Must be the same for all hosts Initial host state Specifies whether NLB will start and whether the host will immediately join the cluster
38 What Are Port Rules? Port rules are policies that define how to direct client requests to cluster hosts A default port rule applies to all protocols Port rules are policies that define how to direct client requests to cluster hosts A default port rule applies to all protocols Port rules define: The cluster IP address where the port rule is applied The cluster IP address where the port rule is applied Port range and protocol (TCP, UDP, or both) Port range and protocol (TCP, UDP, or both) Filtering for multiple hosts with affinity or single host Filtering for multiple hosts with affinity or single host Load weight The option to disable a port range
39 What Is Affinity? Affinity is a configuration option that you use to distribute incoming client connections Affinity options include: None: Allows multiple connections from the same client IP address to be handled by different cluster hosts Single: Specifies that NLB direct multiple requests from the same client IP address to the same cluster host Single: Specifies that NLB direct multiple requests from the same client IP address to the same cluster host Network: Specifies that NLB directs multiple requests from the same IPv4 Class C or IPv6 network address range to the same cluster host Network: Specifies that NLB directs multiple requests from the same IPv4 Class C or IPv6 network address range to the same cluster host
40 Resources Cluster Team Blog: Cluster Information Portal: Cluster Information Portal: Clustering Technical Resources: Clustering Forum (2008): Clustering Forum (2008): US/winserverClustering/threads/ US/winserverClustering/threads/ Clustering Forum (2008 R2): US/windowsserver2008r2highavailability/threads/ US/windowsserver2008r2highavailability/threads/ US/windowsserver2008r2highavailability/threads/ Clustering Newsgroup: Clustering Newsgroup: us/default.mspx?dg=microsoft.public.windows.server.clustering us/default.mspx?dg=microsoft.public.windows.server.clustering Failover Clustering Deployment Guide: us/library/dd aspxhttp://technet.microsoft.com/en- us/library/dd aspx TechNet: Configure a Service or Application for High Availability: TechNet: Installing a Failover Cluster: us/library/cc aspxhttp://technet.microsoft.com/en- us/library/cc aspx TechNet: Creating a Failover Cluster: us/library/cc aspxhttp://technet.microsoft.com/en- us/library/cc aspx Webcast: TechNet Webcast: Build High-Availability Infrastructures with Windows Server 2008 Failover ClusteringTechNet Webcast: Build High-Availability Infrastructures with Windows Server 2008 Failover Clustering
41
42