Module 8: Concepts of a Network Load Balancing Cluster
Overview Network Load Balancing Concepts Application and Service Environment Network Load Balancing Functionality Network Load Balancing Architecture
Network Load Balancing Concepts Comparing Network Load Balancing Solutions Network Load Balancing
Comparing Network Load Balancing Solutions Round robin DNS Easy to Install Yes Hardware Requirements ____ Single Point of Failure Easily Scalable High Performance Hardware Dispatch Limited NLB Fault Tolerance No
Network Load Balancing Cluster with up to 32 hosts Round Robin DNS Static group MyRRDNSWeb IN A 10.10.10.12 MyRRDNSWeb IN A 10.10.10.11 MyRRDNSWeb IN A 10.10.10.10 MyNLBWeb IN A 10.10.20.10 10.10.10.12 10.10.20.11 10.10.20.10 1 2 3 5 DNS Server 6 4 IP: 10.10.10.12 IP: 10.10.10.11 IP: 10.10.10.10 IP: 10.10.20.10
Application and Service Environment IIS Web site image Virtual IP: 10.10.10.10 Web server TCP(80) HTTPS TCP(443) Port Rules define which ports the cluster will service Affinity sets all client connections to a single host Client TCP Session (Get) Next client TCP Session (HTTPS)
Applications and Services Compatible Network Load Balancing Applications and Services Use TCP connections or UDP data streams Support client updateable data stores Support maintenance of client session state Incompatible Network Load Balancing Applications and Services Bind to or reference computer names Hold files exclusively and continuously open
Network Load Balancing Functionality Balancing Client Connections Supporting Multiple Client Connections Cluster Convergence Network Load Balancing for High Availability Network Load Balancing for Scalability Scaling Network Load Balancing Clusters
Balancing Client Connections Even Balance Load to virtual IP distributed evenly across hosts 1/3 Priority Based 1 2 3 All load to virtual IP distributed to highest priority host Manual Balance 30% 60% 10% Load to virtual IP distributed based on manual configuration
Supporting Multiple Client Connections Virtual IP: 10.10.10.10 Initial Client TCP session Initial client request distributed according to Network Load Balancing configuration Subsequent client requests distributed according to Network Load Balancing configuration Even balance without affinity with affinity Subsequent client requests accepted by the same server for that client IP address
Cluster Convergence Load balance 1/3 each Server B Fails Convergence Server B Joins Load Balance 1/3 each Virtual IP: 10.10.10.10 A B C Even balance
Network Load Balancing for High Availability Load All on Host 1 Server 1 Fails Convergence Load All on Server 2 Virtual IP: 10.10.10.10 Priority 1 2 3 N-1 Failover Load balance 1/3 each Server B Fails Load Balance ½ each A B C Even balance
Network Load Balancing for Scalability Virtual IP: 10.10.10.10 CPUs Memory Disk NIC Network Load Balancing Cluster Scale up Add more resources to a server Scale out Add more servers to the cluster
Scaling Network Load Balancing Clusters Cluster 2 with up to 32 hosts 10.10.10.10 10.10.20.10 10.10.20.10 10.10.10.10 1 2 3 6 DNS Server 5 4 Virtual IP: 10.10.20.10 Cluster 1 with up to 32 hosts Query DNS for MybigWeb DNS resolves to list of IPs Client selects first in list Creates session with server DNS rotates list for each query which statically load balances incoming requests DNS resolves to list of IP’s MybigWeb IN A 10.10.10.10 MybigWeb IN A 10.10.20.10
Network Load Balancing Architecture Network Load Balancing Driver Architecture Network Load Balancing Topology Selecting an IP Transmission Mode Network Load Balancing Addressing Port Rules Affinity
Network Load Balancing Driver Architecture Cluster Host Server Application Wlbs.exe Windows 2000 Kernel TCP/IP Network Load Balancing Driver Network Adapter Driver Cluster Network Adapter LAN
Network Load Balancing Topology Cluster with 3 hosts Hub or switch Router Virtual IP: 10.10.10.10 Single Subnet Multicast or Unicast Common MAC address Driver configuration Inbound traffic Outbound traffic and Inbound to dedicated IP
Selecting an IP Transmission Mode Adapters Single Multiple Mode Unicast Multicast MAC Advantage Simple Medium Performance Best Balance Disadvantage Low peer performance Complex None Complex Network Configuration
Network Load Balancing Addressing Cluster with 3 hosts Virtual IP: 10.10.10.10 Single Subnet Multicast or Unicast Common MAC address Example Clients access DNS to resolve IP address Clients ARP to resolve IP to MAC All cluster hosts reply to ARP Client Syn to start TCP connection Server Asyn for selected cluster host Client ASyn Note: All client traffic arrives at all hosts for virtual IP Algorithm selected host replies Traffic to dedicated IP can be the same MAC address Hub or switch
Port Rules Port Rules Filtering Modes Load Weighting Priority
Load balancing granularity Affinity Affinity Load balancing granularity Algorithm hashes on Used for None Individual TCP connections Single All connections originating from the same source Class C All connections originating from the same Class C address space Source IP address and port Source IP address Source IP address with Class C mask applied to it Most applications Session support, SSL and multi-connection protocols (ex: FTP, PPTP, etc.) Property handling sessions for users residing behind scaling proxy arrays
Lab A: Planning an Installation
Review Network Load Balancing Concepts Application and Service Environment Network Load Balancing Functionality Network Load Balancing Architecture
Network Load Balancing Driver Architecture TCP/IP Holds Port rules for all inbound traffic NLB Driver Network Adapter Driver Assigns Common Virtual IP and MAC address Virtual IP: 10.10.10.10 MAC: 02-BF-10-10-10-10 Cluster Network Adapter Adapter can be Ethernet, Gigabit Ethernet or FDDI All Virtual IP traffic will be filtered by NLB rules