High Availability Low Dollar Load Balancing



Similar documents
High Availability Low Dollar Clustered Storage

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Scalable Linux Clusters with LVS

Scalable Linux Clusters with LVS

Apache HTTP Server. Load-Balancing with Apache HTTPD 2.2 and later. Erik Abele

ClusterLoad ESX Virtual Appliance quick start guide v6.3

Appliance Quick Start Guide. v7.6

Loadbalancer.org. Loadbalancer.org appliance quick setup guide. v6.6

Introduction to Linux Virtual Server and High Availability

Barracuda Load Balancer Administrator s Guide

How To Build A Virtual Server Cluster In Linux 2003

Linux Virtual Server Clusters

Linux Virtual Server Administration. RHEL5: Linux Virtual Server (LVS)

Deploying the Barracuda Load Balancer with Office Communications Server 2007 R2. Office Communications Server Overview.

EQUELLA. Clustering Configuration Guide. Version 6.2

Creating Web Farms with Linux (Linux High Availability and Scalability)

Twin Peaks Software High Availability and Disaster Recovery Solution For Linux Server

Barracuda Load Balancer Administrator s Guide

Appliance Quick Start Guide. v7.6

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

1. Barracuda Load Balancer - Overview What's New in the Barracuda Load Balancer Barracuda Load Balancer Release Notes

Linux Virtual Server Administration. Linux Virtual Server (LVS) for Red Hat Enterprise Linux 5.2

Load Balancing VMware Horizon View. Deployment Guide

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November Pivotal Software, Inc. All rights reserved.

Linux Virtual Server (LVS) for Red Hat Enterprise Linux 5.0

Deployment Guide Oracle Siebel CRM

Appliance Administration Manual. v6.21

Appliance Administration Manual. v7.2

Availability Digest. Redundant Load Balancing for High Availability July 2013

Server Iron Hands-on Training

Loadbalancer.org Appliance Setup v5.9

How To Balance A Load Balancer On A Server On A Linux (Or Ipa) (Or Ahem) (For Ahem/Netnet) (On A Linux) (Permanent) (Netnet/Netlan) (Un

Barracuda Load Balancer Administrator s Guide

Microsoft Lync 2010 Deployment Guide

Barracuda Load Balancer Administrator s Guide

Load Balancing. Outlook Web Access. Web Mail Using Equalizer

Snapt Redundancy Manual

1. Configuring Apache2 Load Balancer with failover mechanism

Appliance Quick Start Guide v6.21

Introduction. Linux Virtual Server for Scalable Network Services. Linux Virtual Server. 3-tier architecture of LVS. Virtual Server via NAT

VERITAS Cluster Server Traffic Director Option. Product Overview

UNIVERSITY OF OSLO Department of Informatics. Performance Measurement of Web Services Linux Virtual Server. Muhammad Ashfaq Oslo University College

Load Balancing VMware Horizon View. Deployment Guide

Demystify HLB and DNS Load Balancing - Lync 2013 Topology with High Availability (POOLs, DNS LB vs HLB)

Load Balancing Trend Micro InterScan Web Gateway

How To Understand The Role Of The Lib8000 On A Network (Networking) On A Server Cluster (Netware) On An Ipnet (Netrope) On Ubuntu) On Pcode (Netnet)

Smoothwall Web Filter Deployment Guide

Red Hat Cluster Suite Overview. Red Hat Cluster Suite for Red Hat Enterprise Linux 5

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

Microsoft Lync Server Overview

Firewalls. Chien-Chung Shen

Load Balancing McAfee Web Gateway. Deployment Guide

Appliance Administration Manual. v7.5

Load Balancing Bloxx Web Filter. Deployment Guide

Appliance Administration Manual v8.0

TESTING & INTEGRATION GROUP SOLUTION GUIDE

Load Balancing for Microsoft Office Communication Server 2007 Release 2

PowerLink Bandwidth Aggregation Redundant WAN Link and VPN Fail-Over Solutions

Appliance Administration v6.1

Load Balancing Barracuda Web Filter. Deployment Guide

Appliance Administration Manual. v7.6

Load Balancing Microsoft Remote Desktop Services. Deployment Guide

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion

Firewall. IPTables and its use in a realistic scenario. José Bateira ei10133 Pedro Cunha ei05064 Pedro Grilo ei09137 FEUP MIEIC SSIN

SonicOS Enhanced 4.0: NAT Load Balancing

Deployment Guide Microsoft IIS 7.0

Apache Tomcat. Tomcat Clustering: Part 2 Load balancing. Mark Thomas, 15 April Pivotal Software, Inc. All rights reserved.

ExamPDF. Higher Quality,Better service!

Linux Virtual Server Tutorial

Load Balancing Microsoft Terminal Services. Deployment Guide

Load Balancing Microsoft Lync 2010 Load Balancing Microsoft Lync Deployment Guide

Deploying the BIG-IP System with Oracle E-Business Suite 11i

Content Switching Module for the Catalyst 6500 and Cisco 7600 Internet Router

Microsoft Internet Information Services (IIS) Deployment Guide

Load Balancing Web Proxies Load Balancing Web Filters Load Balancing Web Gateways. Deployment Guide

Deployment Guide MobileIron Sentry

How To Run A Web Farm On Linux (Ahem) On A Single Computer (For Free) On Your Computer (With A Freebie) On An Ipv4 (For Cheap) Or Ipv2 (For A Free) (For

A High Availability Clusters Model Combined with Load Balancing and Shared Storage Technologies for Web Servers

Red Hat Cluster Suite for Red Hat Enterprise Linux 5.2

Red Hat Enterprise Linux 7 Load Balancer Administration

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

Load Balancing Microsoft Lync Deployment Guide

Load Balancing Sophos Web Gateway. Deployment Guide

Red Hat Enterprise Linux 6 Load Balancer Administration. Load Balancer Add-on for Red Hat Enterprise Linux

Load Balancing Smoothwall Secure Web Gateway

Linux Firewall. Linux workshop #2.

APNIC IPv6 Deployment

Chapter 51 Server Load Balancing

Definition of firewall

DMZ Network Visibility with Wireshark June 15, 2010

White Paper DEPLOYING WDK APPLICATIONS ON WEBLOGIC AND APACHE WEBSERVER CLUSTER CONFIGURED FOR HIGH AVAILABILITY AND LOAD BALANCE

Content. Global Delivery Network: Folders

Set up a Web server cluster in 5 easy steps

Apache Tomcat & Reverse Proxies

Deployment Guide Microsoft Exchange 2013

Transcription:

High Availability Low Dollar Load Balancing Simon Karpen System Architect, VoiceThread skarpen@voicethread.com Via Karpen Internet Systems skarpen@karpeninternet.com These slides are licensed under the Creative Commons Attribution Share-Alike 3.0 license, http://creativecommons.org/licenses/by-sa/3.0/us/

What is Load Balancing Why load balance Overview What services should you load balance What are some common load balancing topologies What are some open source load balancing technologies How would we build a HA configuration out of these technologies How do I IPv6 enable IPv4 services with a single command line on a dual-stack machine

What is Load Balancing Split traffic across two or more servers Many different techniques and topologies Layer 4 or layer 7 Useful for most TCP services Divides traffic using a variety of algorithms (WLC, RR, etc)

Why Load Balance Improve performance Improve redundancy More cost effective scaling o 4-socket machines cost 4x as much as 2-socket More cost effective redundancy o n+1 or n+2 instead of 2n SSL Acceleration Security / IPS / Choke Point

Which Services Without built-in failover More than one infrastructure unit of performance Good: web services, application services Probably not: DNS, inbound SMTP Examples: virtually any web site you visit! Stickiness understand your services

Background - OSI Model Layer 1: Physical (cable, electrical) Layer 2: Datalink (example: Ethernet) Layer 3: Network (example: IP) Layer 4: Transport (example: TCP) Layer 5: Session Layer 6: Presentation Layer 7: Application (example: HTTP)

Topologies Application Proxy Half-NAT Full-NAT Direct Server Return

Application Proxy

Positives Application Proxy o Simplest to setup o Minimal platform dependencies o Minimal changes to other infrastructure o 100% Userspace Negatives o Limited total performance o Hides end user IPs from applications

Full NAT

Half NAT

Full NAT Half and Full NAT o Similar to an application proxy o Destination still doesn t know source IP o All packets still go through the load balancer Half NAT o Destination IP is changed, source IP is not o Allows the application to know the client o All packets still go through the load balancer

Direct Server Return

Direct Server Return Incoming packets pass through the load balancer Outgoing direct to the gateway / client Most scalable Most complex to configure Application servers must all have public application IP, non-arp o via arptables, loopback, etc

Apache mod_proxy_balancer Application (layer 7) proxy for web Runs under any cluster manager Cookie based persistence Apache rewrite, redirect, etc at the load balancer Web (http, https) traffic only SSL offload / SSL issues Anything that runs Apache (even Windows)

Apache mod_proxy_balancer <VirtualHost my.site.com:80> ServerName my.site.com ProxyPass / balancer://mysite/ lbmethod=byrequests ProxyPassReverse / balancer://mysite <Proxy balancer://mysite> BalancerMember http://10.0.0.1/ route=mysite1 BalancerMember http://10.0.0.2/ route=mysite2 </Proxy> ProxyPreserveHost On </VirtualHost>

pen Runs under any cluster manager Simple layer 4 or layer 7 proxy Very simple configuration Moderate traffic Really shines for internal services Already IPv6 ready! Linux, BSD, Solaris

pen Configuration via command line options Use init scripts from web site, or roll your own Init scripts store command line options in pen.cf pen x 6144 c 262144 h H p <pidfile> 192.168.232.20:80 192.168.232.21:80 192.168.232.22:80 pen x 500 c 16384 h p <pidfile> 192.168.232.20:993 192.168.232.23:993 192.168.232.24:993

IPVS / Pulse / Piranha These work together as a system IPVS: load balancing Pulse: cluster manager (lightweight) Piranha: web interface for configuration EL5 version is IPv4 only EL6 version is IPv4 / IPv6 Layer 4, in-kernel, Linux only

IPVS IP Virtual Server, implemented via Netfilter Controlled via ipvsadm Or use a front-end like piranha Supports persistence, many schedulers Command line: ipvsadm A t 192.168.23.20:80 s rr ipvsadm a t 192.168.23.20:80 r 192.168.23.21:80 m Ipvsadm a t 192.168.23.20:80 r 192.168.23.22:80 m

Piranha Graphical configuration interface Manage Pulse and IPVS configuration Web based, some expensive LB use it too Handles half-nat, full-nat and DSR topologies Runs on port 3636, password protected Recommend access via ssh tunnel

Piranha - Pulse Simple, single purpose cluster manager Only supports 2-node active/passive failover Configured via Piranha web interface

Piranha - Pulse Enable the Backup Server for HA

Piranha - Pulse Configure the Redundant IP, Sync options

Piranha Virtual Server Add a virtual server, then Edit its configuration Be sure to make all changes on BOTH hosts!

Piranha Virtual Server

Piranha Real Servers Add two real servers, and prepare to edit

Piranha Real Server Configure both real servers on both hosts

Piranha - Finalize Configure monitoring scripts (write if needed) Activate real servers Activate virtual servers Add non-arp d VIPs on actual real servers (if using DSR) Start pulse (init script) on both servers Test, verify, debug!

Cluster Managers LVS / IPVS fits well with Pulse Pen and Apache are simple, run under virtually any cluster manager Positive experience with Heartbeat Choose based on organizational needs (aka use what your team knows!) Simple services, limited needs from CM

Heartbeat, pen, Apache Apache (on EL5/EL6) has good init scripts Pen init scripts from web site need killall in stop section (otherwise it doesn t work) Run under Heartbeat v1 configuration as a service and an IP Address Apache init scripts ready for Heartbeat v2 / Pacemaker / CRM Pen init scripts will need a rewrite

Minimal ha.cf ucast eth1 192.168.232.10 ucast eth1 192.168.232.11 keepalive 2 warntime 10 deadtime 30 initdead 120 udpport 694 auto_failback on node lb0 node lb1 respawn hacluster /usr/lib64/heartbeat/ipfail

V1 style haresources for Load Balancing lb0 192.168.232.20 pen httpd lb1

IPv6! Bootstrapping problem, you can help! LVS / IPVS supports IPv6 in EL6 but not EL5 Pen supports IPv6 out of the box Apache mod_proxy supports IPv6 Reports mixed on mod_proxy_balancer Could use IPv6 mod_proxy in front of IPv4 mod_proxy_balancer

Easy IPv6 One command line, as promised! Uses pen, mostly cross platform (Linux / Solaris / BSD) Must run on a dual stack box Application must be TCP, not UDP Run under a cluster manager for HA pen <regular options> ipv6addr:svcport ipv4addr:svcport Now you can IPv6 enable your web site!

Final Thoughts Lots of options in terms of software and topology This does not cover global load balancing This can be layered with global LB or ADN Balance performance, cost, complexity Think about organizational and application needs

Questions and resources http://siag.nu/pen/ http://httpd.apache.org/ http://docs.redhat.com/docs/en- US/Red_Hat_Enterprise_Linux/5/htmlsingle/Virtual_Server_Administration/inde x.html http://lbwiki.org/ http://www.linuxvirtualserver.org/