Linux on IBM Netfinity Servers



Similar documents
DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

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

Availability Digest. Redundant Load Balancing for High Availability July 2013

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available

ADVANCED NETWORK CONFIGURATION GUIDE

ERserver. iseries. TCP/IP routing and workload balancing

Networking TCP/IP routing and workload balancing

AS/400e. TCP/IP routing and workload balancing

Purpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions

Building a Highly Available and Scalable Web Farm

WAN Traffic Management with PowerLink Pro100

Chapter 1 - Web Server Management and Cluster Topology

Traditionally, a typical SAN topology uses fibre channel switch wiring while a typical NAS topology uses TCP/IP protocol over common networking

Scalable Linux Clusters with LVS

Clustering in Parallels Virtuozzo-Based Systems

How to Choose your Red Hat Enterprise Linux Filesystem

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

Course Description and Outline. IT Essential II: Network Operating Systems V2.0

Cisco Active Network Abstraction Gateway High Availability Solution

LOAD BALANCING IN WEB SERVER

High Availability Essentials

High Performance Cluster Support for NLB on Window

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

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

iseries TCP/IP routing and workload balancing

Building scalable and reliable systems

A Link Load Balancing Solution for Multi-Homed Networks

Using High Availability Technologies Lesson 12

High Availability Server Clustering Solutions

AppDirector Load balancing IBM Websphere and AppXcel

SAN Conceptual and Design Basics

Introduction to Gluster. Versions 3.0.x

Red Hat Cluster Suite for Red Hat Enterprise Linux 5.2

Overview: Load Balancing with the MNLB Feature Set for LocalDirector

Load Balancing & High Availability

Quantum StorNext. Product Brief: Distributed LAN Client

Load Balancing for enetwork Communications Servers

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper

Database Resilience at ISPs. High-Availability. White Paper

Exam : IBM : Iseries Linux Soluton Sales v5r3

Avaya P333R-LB. Load Balancing Stackable Switch. Load Balancing Application Guide

IBM TSM DISASTER RECOVERY BEST PRACTICES WITH EMC DATA DOMAIN DEDUPLICATION STORAGE

IBM Security QRadar SIEM Version High Availability Guide IBM

UPPER LAYER SWITCHING

Load Balancing McAfee Web Gateway. Deployment Guide

Red Hat Global File System for scale-out web services

White Paper. Low Cost High Availability Clustering for the Enterprise. Jointly published by Winchester Systems Inc. and Red Hat Inc.

DEDICATED MANAGED SERVER PROGRAM

Parallels. Clustering in Virtuozzo-Based Systems

High Availability Guide for Distributed Systems

Astaro Deployment Guide High Availability Options Clustering and Hot Standby

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging

SiteCelerate white paper

Everything You Need to Know About Network Failover

Module 12: Microsoft Windows 2000 Clustering. Contents Overview 1 Clustering Business Scenarios 2 Testing Tools 4 Lab Scenario 6 Review 8

EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage

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

PolyServe Understudy QuickStart Guide

IBM Global Technology Services September NAS systems scale out to meet growing storage demand.

IBM Software Information Management. Scaling strategies for mission-critical discovery and navigation applications

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Non-Native Options for High Availability

VERITAS Cluster Server v2.0 Technical Overview

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

WINDOWS SERVER MONITORING

Avaya P330 Load Balancing Manager User Guide

A Guide to WAN Application Delivery for the SME Market

Informix Dynamic Server May Availability Solutions with Informix Dynamic Server 11

VERITAS Backup Exec 9.0 for Windows Servers

Considerations In Developing Firewall Selection Criteria. Adeptech Systems, Inc.

CMPT 471 Networking II

Cloud Based Application Architectures using Smart Computing

Top-Down Network Design

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

Windows Server Failover Clustering April 2010

Every organization has critical data that it can t live without. When a disaster strikes, how long can your business survive without access to its

msuite5 & mdesign Installation Prerequisites

Data Protection with IBM TotalStorage NAS and NSI Double- Take Data Replication Software

Networking Topology For Your System

High Availability with Windows Server 2012 Release Candidate

Disaster Recovery Strategies: Business Continuity through Remote Backup Replication

Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic

CS514: Intermediate Course in Computer Systems

Storage Solutions Overview. Benefits of iscsi Implementation. Abstract

Administrator Guide VMware vcenter Server Heartbeat 6.3 Update 1

Contents. Foreword. Acknowledgments

Quorum DR Report. Top 4 Types of Disasters: 55% Hardware Failure 22% Human Error 18% Software Failure 5% Natural Disasters

INUVIKA TECHNICAL GUIDE

ClusterLoad ESX Virtual Appliance quick start guide v6.3

Implementing Storage Concentrator FailOver Clusters

Virtual PortChannels: Building Networks without Spanning Tree Protocol

FatPipe Networks

High Availability with Postgres Plus Advanced Server. An EnterpriseDB White Paper

Configuring Windows Server Clusters

Chapter 5. Data Communication And Internet Technology

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

Red Hat Cluster Suite

Barracuda Load Balancer Administrator s Guide

SCALABILITY AND AVAILABILITY

Transcription:

Linux on IBM Netfinity Servers A Collection of Papers Introduces Linux high availability solutions Describes systems and network management tools Explores interoperability of Linux solutions Jonathan Follows Dennis Hunter Andreas Thomasch Shawn Walsh ibm.com/redbooks

SG24-5994-00 International Technical Support Organization Linux on IBM Netfinity Servers A Collection of Papers November 2000

Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix A, Special notices on page 103. First Edition (November 2000) This edition applies to IBM Netfinity servers on the Linux operating system. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. HZ8 Building 678 P.O. Box 12195 Research Triangle Park, NC 27709-2195 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 2000. All rights reserved. Note to U.S Government Users Documentation related to restricted rights Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.

Contents Preface....v The team that wrote this redbook....v Commentswelcome... vii Chapter 1. Linux high availability cluster solutions...1 1.1 WhyIBMNetfinityandLinux?...1 1.1.1 Our audience....2 1.2 Linux cluster theory...4 1.3 How does clustering work?....6 1.3.1 Heartbeats......6 1.3.2 Networkingfortherealtraffic...7 1.3.3 Virtualizingtheserver...9 1.3.4 Failoverservice...9 1.3.5 Load balancing...11 1.3.6 Servicesandmonitoring...19 1.3.7 What about the data?...20 1.3.8 Putting it all together....25 1.3.9 Wheretogoformoreinformation...26 1.4 Some questions about clustering....27 1.4.1 Whataresomeviableapplications?...27 1.4.2 IsHAclusteringthesameasfailoverclustering?...27 1.4.3 HowisHAclusteringdifferentfromBeowulfclusters?...27 1.5 ImplementingaLinuxcluster...27 1.5.1 TurboLinux TurboCluster Server 4.0....27 1.5.2 Red Hat High Availability Server 1.0...40 1.6 Otherclusteringsolutions...51 1.6.1 PolyServe s Understudy...52 1.6.2 Resilient Software Facility-1 (RSF-1) from StarFire Technology. 53 1.6.3 Net/Equater.....53 1.6.4 IBM s WebSphere Performance Pack...54 1.6.5 TurboLinux High Availability Cluster...54 1.6.6 Wizard Watchdog Service Cluster software...55 1.6.7 Resonate's Central Dispatch by Penguin Computing...55 1.6.8 Twincom'sNetworkDiskMirror...55 1.6.9 Mod_Redundancy......56 Chapter 2. System and network management with Linux...57 2.1 What can you do today: Management of Linux.....57 2.1.1 Commandlineisstillviable...58 2.1.2 Graphical interfaces: Fact and fancy....59 2.1.3 Systems management overview......59 Copyright IBM Corp. 2000 iii

2.1.4 Tuning...61 2.1.5 Optimizing...67 2.1.6 Troubleshooting...68 2.1.7 Migration...74 2.1.8 Summary...74 2.2 Where do you want to go tomorrow: Management on Linux......75 2.2.1 NetfinityDirectorshowstheway...75 2.2.2 Tivoli endpoint...76 2.3 Othertoolsandsolutions...77 2.4 Other network management tools....79 2.4.1 RelevantWebsites...81 Chapter 3. Interoperability of Linux solutions...83 3.1 Wherearewenow?...83 3.2 WheretointegrateLinuxintoyourcurrentenvironment...84 3.3 WhyLinux?...85 3.4 SolutionsforintegratingLinux...86 3.4.1 Samba does Windows...86 3.4.2 Linux-SNAforaccessingmainframes...96 3.4.3 Filesystemsandothercomputingenvironments...99 3.5 Outlook...102 3.5.1 Wheretogoformoreinformation...102 Appendix A. Special notices...103 Appendix B. Related publications...107 B.1 IBMRedbooks...107 B.2 IBMRedbookscollections...107 B.3 Otherresources...107 B.4 ReferencedWebsites...108 How to get IBM Redbooks...109 IBM Redbooks fax order form......110 Index...111 IBM Redbooks review...115 iv Linux on IBM Netfinity Servers: A Collection of Papers

Preface This IBM Redbook is a collection of three papers that describe the theory and practice behind three hot topics in today s Linux environment: High availability clustering Systems and network management Interoperability It describes how Linux can be used on IBM Netfinity hardware to implement solutions that were either not possible, or would have been much more expensive to implement on earlier platforms and operating systems. Linux is not for everybody, but it offers many interesting possibilities. This collection of papers seeks to help you understand some of the Linux terminology and to explain what can and cannot be done to implement stable and reliable solutions using a combination of the Linux operating system and the IBM Netfinity hardware platform. During the preparation of this book, IBM has re-branded its server products as the IBM ~ range, with the IBM ~ xseries being Intel servers for Windows NT, Novell and Linux. For more information, see http://www-1.ibm.com/servers/eserver/introducing/. The team that wrote this redbook This redbook was produced by a team of specialists from around the world working at the International Technical Support Organization, Raleigh Center. Jonathan Follows is an IBM-certified networking specialist at the International Technical Support Organization, Raleigh. He writes redbooks on all areas of IBM networking hardware and software, most recently on policy-based networking. Before joining the ITSO in 1998, he worked as a technical specialist providing sales and marketing support in the United Kingdom and has 15 years of experience in all types of networking. Jonathan read Mathematics at Oxford University, England, and holds a degree in Computing Science from London University, England. Dennis Hunter is a Lead Product Support Specialist at the IBM PC Helpcenter in Raleigh, North Carolina. He is Red Hat RHCE trained, Microsoft Certified, and is an IBM Certified Server Specialist. Before joining the IBM Corporation in 1997, he had over 20 years of experience in the computer electronics field. He received six years of computer training while serving in the U.S. Navy, and spent twelve years as an engineer for Grumman Copyright IBM Corp. 2000 v

Aerospace on board several aircraft carriers. His areas of expertise include Netfinity PC Servers, RAID, LAN Hardware and Windows NT 2000/4.0, SCO UNIX, Red Hat Linux and Microsoft clustering software. Andreas Thomasch is a Linux support specialist and consultant at the Boeblingen Development Laboratory in Germany. He has seven years of experience in the Linux field and still remembers the times when a Linux distribution was delivered on dozens of floppy disks. He has studied and worked at IBM for four years. His areas of expertise include UNIX server support and consulting (AIX, Linux/Intel, Linux/390, and Solaris). Andreas is running the German Linux server and LTC FTP mirror Web site at http://tux.boeblingen.de.ibm.com. He holds a degree in Computing Science from Berufsakademie Sachsen, Staatlichen Studienakademie Dresden, Germany. Shawn Walsh is an IBM xseries/netfinity Marketing Communications Manager in Raleigh, NC. Before joining the xseries/netfinity marketing communications group, he spent 10 years at the ITSO Raleigh Center, primarily as an editor, but also as a LAN administrator for two years. He holds a Master of Science degree in Technical Communication from North Carolina State University. Thanks to the following people for their invaluable contributions to this project: Gail Christensen International Technical Support Organization, Raleigh Center Jackie Bell International Technical Support Organization, Rochester Center Alan Robertson The Linux High-Availability Project Kay Sintal, Pat Byers, Steve Reso IBM Netfinity Marketing Steve Quan TurboLinux Product Marketing vi Linux on IBM Netfinity Servers: A Collection of Papers

Comments welcome Your comments are important to us! We want our Redbooks to be as helpful as possible. Please send us your comments about this or other Redbooks in one of the following ways: Fax the evaluation form found in IBM Redbooks review on page 115 to the fax number shown on the form. Use the online evaluation form found at ibm.com/redbooks Send your comments in an Internet note to redbook@us.ibm.com vii

viii Linux on IBM Netfinity Servers: A Collection of Papers

Chapter 1. Linux high availability cluster solutions WIth the adoption of Linux as a mature server operating system by IBM in early 2000, what had been a relatively obscure 'hacking project, suddenly became the talk of the IT world. The approach taken by IBM toward Linux has legitimized Linux in the eyes of IBM s more traditional customers, and has caused these customers to think seriously about Linux for the first time. Linux now offers an alternative server operating system and is an ideal match for IBM s range of Intel-based servers--the Netfinity range. Netfinity offers a range of scalable and highly reliable platforms on which to deliver server functions, and Netfinity has been working closely with Microsoft to deliver Windows solutions for some years now. In this paper we are going to study specific Linux solutions for creating clusters of machines to provide high-availability configurations: software solutions using Linux to provide higher availability using multiple machines, than single server solutions. The combination of the Linux operating system, sophisticated and reliable software clustering, and Netfinity hardware, offers high availability at a low price. Even in an enterprise environment, where an obvious choice for a highly reliable back-end database server, for example, would be the S/390 Parallel Sysplex environment, Linux high-availability clustering solutions can provide a reliable front-end Web server. The two primary benefits of a Linux high-availability cluster, with respect to the solutions discussed in this paper, are: High availability in the sense of fault tolerance: If a single Linux server in a cluster should fail, the server function of the total cluster solution is not impacted. High availability in the sense of scalability: As workload demands grow, it should be possible to add machines to an existing cluster to cope with the load. This compares with a single box solution in which, at some point, a total hardware replacement is required to upgrade the server function. 1.1 Why IBM Netfinity and Linux? The promise of Linux is to provide a highly reliable and robust operating system that runs on relatively inexpensive hardware. In a sense, it represents the best of both worlds: the reliability of UNIX on readily available Intel platforms. Of these Intel platforms, IBM s Netfinity line of servers is unique. The Netfinity family of products is relatively inexpensive compared to IBM Copyright IBM Corp. 2000 1

mid-range AS/400s and RS/6000s, and large system S/390s, and the Netfinity line extends the heritage of reliability and scalability which has made IBM machines famous worldwide. When you combine this reliability with the abundance of support personnel at IBM s disposal, you can be certain that when you buy a Netfinity, you are buying more than just another PC. 1.1.1 Our audience When we think of high availability clusters, we wonder who might be interested in such designs. After all, setting up two servers that perform the same tasks requires a bit of effort, and may not be necessary for everyone. Internet service providers (ISPs), corporate intranets, or Application service providers (ASPs) might be interested in establishing an inexpensive entry way in to their domains that can tolerate the failure of one of those servers. No one wants to be caught like the chocolate manufacturer whose server crashed over the Easter holiday. If you cannot afford to keep all of your eggs in one basket, then this topic will be of interest to you. As shown in Figure 1 on page 3, we developed the scenarios in this paper with clients such as ISPs in mind. 2 Linux on IBM Netfinity Servers: A Collection of Papers

Firewall Server Router/Switch Server Server Cluster Secondary ATM Primary ATM Server Backend databases etc. Figure 1. Linux/Netfinity cluster environment Note that your Linux cluster is likely to serve as an entry point, or interface between your business and the outside world. The cluster resides behind a firewall, but in front of your I/O intensive servers. In other words, this type of cluster helps ensure that as the volume of your online business grows, you can keep up with it. On the other hand, it is important to keep in mind that once the entry into your Web site is highly available (using the solution described here) the next step you will likely take is to make the data and applications on your servers highly available. Linux solutions for data sharing are available using applications such as Intermezzo, but are beyond the scope of this paper and are not simple to implement. The view we are taking in this paper is that the actual database engines themselves are separate from the Linux cluster. This database may already implement parallel clustering techniques of its own to present a high-performance and highly available single image, perhaps using Chapter 1. Linux high availability cluster solutions 3

S/390 Parallel Sysplex, DB2 and SAP/R3 or another scalable UNIX server such as the Oracle Parallel Server. 1.2 Linux cluster theory To build, install, configure, and maintain a Linux cluster, you need some theoretical background covering cluster basics. Without that, it is difficult to decide on the correct clustering solutions and the implementation details. This section provides you with the basic required knowledge about Linux clustering. When talking about clustering, we first want to understand what clustering means. There are different concepts and solutions for different scenarios or problems; however, we do not discuss all of them in detail in this paper. Clustering covers three major topics: High performance/scientific computing (number crunching) When someone hears Linux and clustering, what often comes to mind is Beowulf. The Beowulf Project aims at High Performance Computing (HPC) using message-passing parallel programs. To utilize the Beowulf concept, your application must be written or rewritten using PVM (Parallel Virtual Machine) or MPI (Message Passing Interface). You should at least be able to run the processing in parallel, using shell script front ends, so that each node works at a specific range of the whole task. Beowulf is not a single software package. It consists of different parts such as PVM, MPI, Linux kernel, some kernel patches, and so forth. Since this paper does not focus on HPC, we do not cover Beowulf. For more information about Beowulf, see the Web site at: http://www.beowulf.org Load balancing/sharing (scalability) This is a very important topic for any fast-growing business Web site, which most of today s e-business sites are. Most of these Web sites start small with only a few Web servers and a back-end database. When they grow, and their number of customers and the number or level of services they provide increases, they must change their hardware more often. Changing or upgrading hardware means outages, downtimes, and, lost money. With a cluster of Netfinity boxes running Web servers that share and balance the load, you can simply add another box to the cluster if the demand or load increases. If one server fails, remove the failed server and change the cluster configuration automatically. You can then integrate the 4 Linux on IBM Netfinity Servers: A Collection of Papers

repaired server or a replacement server in to the cluster at a later time, with no downtime, no visible outages, and no lost money. Today, most of the Linux load-balancing cluster solutions are based on the Linux Virtual Server project (LVS). For more information, see the Linux virtual server Web site at: http://www.linuxvirtualserver.org This type of clustering and the TurboLinux Cluster Server, a major product available today, is covered in more detail later in this chapter. Another very interesting approach to load sharing and distributed computing is called MOSIX (the Multicomputer OS for UNIX). It allows you to transparently run processes distributed on a collection of clustered nodes. MOSIX dynamically migrates processes from heavily loaded nodes to less loaded nodes, and scales very well. No special support from the application is necessary. It looks like SMP (Symmetric Multi Processing), but with more than one physical box. Actually, MOSIX does not fit well in any of the three clustering categories. It is somewhere between HPC and load sharing, and does not provide any additional availability. Therefore, we do not cover it here in detail. If you are interested in additional information, just visit their Web site at: http://www.mosix.org High availability (HA, failover, redundancy) Part of this topic was already discussed in the previous section, as load balancing and sharing increases the availability of your servers. However, there is one major topic left called Failover Service (FOS), the basic idea behind traditional HA solutions. This means, that in most cases, you have two systems: one master and one standby system. In normal operation, the master is running your service or application and the second system is just watching the master. If the master fails, the second system takes over the service immediately and shuts the master down (if this has not already happened). This provides you with a highly available system. Failover service is also provided by the Linux Virtual Server project. One major commercial product is Red Hat HA Server, covered in detail later in this chapter. The new release of TurboLinux Cluster Server provides FOS also. Currently, there is another project going on to port SGI s FailSafe HA solution to Linux. SuSE and SGI are the major contributors, but there is no actual product available yet. Therefore, unfortunately, we are not able to cover it in this paper. Chapter 1. Linux high availability cluster solutions 5

As you can see, clustering is a very complex topic covering many solutions for different problems. Table 1 provides a summary of the various cluster aspects and associated products. Table 1. Cluster aspects and products Products, projects High performance computing Load balancing, sharing High Availability Covered by the redpaper Beowulf XXX MOSIX XXX LVS 1 XXX XXX 1. Red Hat HA Server and TurboLinux Cluster Server are both based on LVS. The primary focus of this paper is on load balancing/sharing and high availability, which are the major areas of interest for today s rapidly growing e-businesses. As a result, we only cover these two clustering aspects, not scientific and high/performance clustering. Load balancing and failover service share common features, which we discuss together while pointing out the differences where appropriate. Please note that while both Failover Service (FOS) and load balancing are provided by the Linux Virtual Server project, we, along with most people, refer to LVS when talking about load balancing, and we refer to FOS when we mean high availability. 1.3 How does clustering work? To better understand how clustering works, we will take a closer look at the technology that turns a group of powerful, reliable Netfinity servers into an even more powerful, highly available cluster. We will discuss heartbeat, services, networking, shared storage and other related terms. 1.3.1 Heartbeats To form a cluster, its nodes must communicate. First, they need to know whether the other nodes are up and running--whether their hearts are still beating. This process is called the heartbeat process. Current products provide two methods for implementing the heartbeat process: Ring heartbeats over serial line IP broadcasts over local area networks 6 Linux on IBM Netfinity Servers: A Collection of Papers

While the serial line is a reliable option for a system with only two nodes, it becomes more complicated with multiple nodes. Serial line switches forming a ring structure are needed, which is the major reason for using broadcast heartbeats, for example, using IP on Ethernet. Figure 2 shows the heartbeat process over a serial line. dedicated serial line Node 1 Node 2 I'm still here! I'm still here! Figure 2. Serial line heartbeats between two nodes Figure 3 shows the heartbeat process using IP over a local area network. Node 1 Node 2 Node 3 Node 4 I'm still here! I'm still here! I'm still here! I'm still there! shared medium (e.g. Ethernet) Figure 3. IP broadcast heartbeats For enhanced availability, you should consider a dedicated heartbeat medium for IP broadcasts. When heartbeat traffic is separated from the regular network traffic, you can avoid heartbeats that are delayed or lost due to high network traffic. 1.3.2 Networking for the real traffic Now that the nodes know whether their neighbors are alive or not, we should think about the network technology for the real network traffic. Depending on the amount of traffic and expected response times, you might choose from the entry level token-ring or fast Ethernet, to the high-end Gigabit Ethernet or Chapter 1. Linux high availability cluster solutions 7

Myrinet connection. Switched topologies (as opposed to shared hubs) are always preferred, because they provide higher throughput, are more reliable, and are no longer prohibitively expensive. Myrinet is a very fast, specialized network technology offering 2 Gbps speeds and low (< 10 µs (less than 10 microseconds)) latency which has been used in BeoWulf Linux clusters and is marketed by Myricom, Inc. Table 2 provides a comparison of the network technologies supported on Linux. Table 2. Comparing network technologies Technology Reliability Latency Speed Scalability Cost Fast Ethernet low poor low (100 Mbps shared) poor low Fast Ethernet (switched) medium poor medium (100 Mbps dedicated) medium low Token-ring medium medium low (16 Mbps shared) limited medium Token-ring (switched) medium medium medium (16 Mbps dedicated) medium medium - high Gigabit Ethernet (switched) high medium high (1 Gbps dedicated) high high Myrinet high best high (2.0 + 2.0 Gbps) high high For a low-cost Linux clustering solution, switched Fast Ethernet is the best compromise. It should scale well, up to a certain point, and offers a good price/value factor. When choosing one of the high-end technologies, such as Gigabit Ethernet or Myrinet, please ensure that your servers are powerful enough to handle the traffic. Do not take this for granted! 8 Linux on IBM Netfinity Servers: A Collection of Papers

1.3.3 Virtualizing the server We have chosen the type of heartbeat and network technology we plan to use, but our servers are still individual machines. We need to form one virtual server from the separate hardware boxes. While there is more than one way to accomplish this, we will only discuss the virtual IP address mechanism, used by most of today s cluster products. Using this mechanism, all incoming traffic is addressed to one virtual IP address assigned to the cluster, and all outgoing traffic originates from this same single virtual IP address. Anyone who is familiar with IBM s Network Dispatcher family of products will be familiar with much of the following discussion. In the next two sections, we attempt to explain the differences in the failover service and load balancing concepts as they apply to clustering. 1.3.4 Failover service Failover means that there are most likely two servers, one primary or master node and one secondary or backup node. Both know about each other using a heartbeat and are attached to the real network as shown in Figure 4. network eth0: 192.168.42.10 (real) eth0: 192.168.42.20 (real) eth0:1 192.168.42.30 (virtual) Master Node: running service Backup Node: monitoring service heartbeat connection (could be via the real network as well) Figure 4. Failover service in normal operation In normal operation, the master server is running and providing the service; for example, a Web server. The backup node monitors the master by trying to connect to the master server s HTTP port (80) every 10 seconds and retrieve a Web page. Heartbeats are exchanged by both servers. As the figure Chapter 1. Linux high availability cluster solutions 9

implies, both servers have a real IP address assigned (in this case, 192.168.42.10 for the master, and 192.168.42.20 for the backup) to their real interfaces (eth0). Since the master node is active, it is assigned a second IP address (the virtual cluster IP address). In Linux terms, this IP address is an alias address (eth0:1) defined on top of the real network interface (eth0). Both real and virtual interfaces can be seen using the ARP (Address Resolution Protocol), which provides IP-to-MAC address mapping. Actually, both eth0 and eth0:1 share the same MAC address, which is why eth0:1 is called an alias. What happens if the service on the master server becomes unavailable or the server itself goes down? This situation is noticed using monitoring (if the service fails) or using heartbeat (if the server machine goes down). Figure 5 shows what happens next. network eth0: 192.168.42.10 (real) Failover eth0: 192.168.42.20 (real) eth0:1 192.168.42.30 (virtual) Master Node: unavailable Backup Node: running service heartbeat connection (could be via the real network as well) Figure 5. Failover service showing actual failover operation The backup node takes over the virtual cluster IP address from the master node and activates its alias, eth0:1. Next, it starts the service that was originally available on the master node. This process is called failover. As the virtual IP address is transferred to another real network interface, its associated MAC address changes too. To have this change reflected to all other computers on the network, the new active (and former backup) node broadcasts an ARP message for the IP address of the cluster containing the new MAC address. This process is known as gratuitous ARP or courtesy 10 Linux on IBM Netfinity Servers: A Collection of Papers

ARP and enables the other machines on the network to update their ARP tables with the new MAC address of the cluster. If the master becomes available again (observed using heartbeat), failover can again take place. Figure 6 shows an example of this. The backup node stops running the service, the master node takes over the virtual IP address, issues the gratuitous ARP broadcast, and starts its service again. network eth0: 192.168.42.10 (real) eth0:1 192.168.42.30 (virtual) Fall-Back eth0: 192.168.42.20 (real) Master Node: running service Backup Node: monitoring service heartbeat connection (could be via the real network as well) Figure 6. Failover service, resumption of normal operation With the current Linux product implementations, some restrictions apply: Only 2-node FOS configurations are supported. No selective failovers (for individual services) are possible, all services are monitored, and failover happens as a group. 1.3.5 Load balancing Load balancing works similar to failover service, but aims at scalability and reducing system outages. It spreads incoming traffic to more than one server and gives the impression that all of these servers are one large server. Load balancing uses heartbeats such as FOS, but implements another concept, unique to load balancing: traffic monitors or managers. A very simple LVS setup is shown in Figure 7 on page 12. There is no dedicated, internal cluster network. All machines are connected to the same physical network. Chapter 1. Linux high availability cluster solutions 11

Primary Traffic Manager Backup Traffic Manager Real Server 1 Real Server 2 Real Server 3... Real Server X Figure 7. Simple Linux Virtual Server setup As with FOS, there is a virtual server formed out of individual boxes. The primary and backup traffic managers behave like a FOS cluster where network connection and heartbeat service is concerned. The active traffic manager receives the virtual IP address that is assigned and redirects the incoming traffic to the real servers, based on the chosen load balancing and routing scheme. The traffic manager monitors the real servers for heartbeat, service, and load (if supported). Depending on the product, scheduling mechanisms for distributing the incoming traffic can be: Round robin: All traffic is equally distributed to all real servers. Least connections: More traffic is distributed to real servers with fewer active connections. Weighted round robin: More traffic is distributed to the more powerful servers (as specified by the user) and dynamic load information is taken into account. Weighted least connections: More traffic is spread to the servers with fewer active connections (based on a user-configured capacity) and dynamic load information is taken into account. Now that we have seen how the traffic manager works and how the traffic is distributed from the clients to the server, the next question is: How do we virtualize the real servers inside the cluster, or how do the real servers receive their traffic from the traffic manager and respond to the clients? 12 Linux on IBM Netfinity Servers: A Collection of Papers

Again, depending on the product, the following options may apply: Direct routing Network address translation (NAT) Tunneling The following sections describe each of these options in detail. 1.3.5.1 Direct routing Figure 8 shows an example of direct routing of returned packets. The client accesses the virtual server (192.168.42.30). Its traffic is routed to the traffic manager, which redirects it to the real server by simply changing the MAC address of the data frame and retransmitting on the LAN. The real server has a physical network interface (eth0) for the incoming traffic and one aliased, ARP-hidden network interface (lo:0) for the outgoing traffic. The real server returns the response directly to the requesting Client 1 using lo:0 as its source address, thus, using the virtual IP address. From the perspective of the client, an IP packet has been sent to the virtual server s address and a response has been received from the same address. The client never sees any response to its request as coming from the server s real eth0 address, it only sees the virtual IP address. Traffic M anager eth0: 192.168.42.10 (real IP address) eth0:1 192.168.42.30 (virtu a l IP a d d re ss ) 2. 1. Client eth0: 192.168.42.53 (real IP addre ss) network 3. eth0: 192.168.42.42 (real IP address) lo:0 192.168.42.30 (virtual IP address, hidden, outgoing only) Real Server Figure 8. Direct routing of returned packets Chapter 1. Linux high availability cluster solutions 13