discovering open high availability cluster -

32
USE IMPROVE EVANGELIZE Discovering Open High Availability Cluster Lalith Suresh Campus Ambassador Sun Microsystems, Inc

Upload: others

Post on 11-Feb-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Discovering Open High Availability Cluster -

USE IMPROVE EVANGELIZE

Discovering Open High Availability ClusterLalith SureshCampus AmbassadorSun Microsystems, Inc

Page 2: Discovering Open High Availability Cluster -

2

USE IMPROVE EVANGELIZE

Outline

● Why is High Availability Important?● What is “Open High Availability Cluster

(OHAC)”?● How OHAC Provides High Availability● How do you make your application run on

OHAC (cluster agents)● How to Use Open HA Cluster● How to Participate

Page 3: Discovering Open High Availability Cluster -

3

USE IMPROVE EVANGELIZE

Why is High Availability important?

Page 4: Discovering Open High Availability Cluster -

4

USE IMPROVE EVANGELIZE

Disaster can strike any time

Fifty percent of enterprises that lack arecovery plan go out of business within

one year of a significant disasterGartner Group

Page 5: Discovering Open High Availability Cluster -

5

USE IMPROVE EVANGELIZE

Why is HA Important?● Downtime is costly● Failures are inevitable

– Hardware, software, human error, disaster– Automated recovery is the key

● With a single physical system, single points of failure (SPOFs) are catastrophic– Network card fails, CPU misbehaves, disk

drive crashes ...

HA Clusters automate the recovery process from inevitable failures, minimizing downtime and cost

Page 6: Discovering Open High Availability Cluster -

6

USE IMPROVE EVANGELIZE

What is Open High Availability Cluster (OHAC)?

Page 7: Discovering Open High Availability Cluster -

7

USE IMPROVE EVANGELIZE

Open High Availability Cluster (OHAC)

● The open-source code base for SolarisTM Cluster– Based on Solaris Cluster 3.2

● Hosted by the HA Clusters community group on opensolaris.org– http://www.opensolaris.org/os/community/ha-

clusters/ohac/

● Code available under the CDDL

Page 8: Discovering Open High Availability Cluster -

8

USE IMPROVE EVANGELIZE

OHAC imbibes the Open Source philosophy● Share

– Public access to source code

– Community contribution in terms of development and participation

● Open Development– Increase confidence in the cluster code-base

– Enhance the code-base with third-party contributions

● Shorten Feedback Loop– Easier to incorporate feedback

– Find and fix bugs quicker

– Early adoption of new features

Page 9: Discovering Open High Availability Cluster -

9

USE IMPROVE EVANGELIZE

How OHAC Provides High Availability

Page 10: Discovering Open High Availability Cluster -

10

USE IMPROVE EVANGELIZE

Single Points of Failure

Application

Network

Node

Storage Path

Storage

Page 11: Discovering Open High Availability Cluster -

11

USE IMPROVE EVANGELIZE

Platform for High Availability● Should tolerate Single Points of Failure (and some

double failures)● Hardware redundancy with off-the-shelf hardware● Robust software HA infrastructure

– Monitors the health of cluster infrastructure (hosts, shared storage, and network)

– Orchestrates recovery of applications and cluster infrastructure (shared storage and IP networking)

– Integrated tightly with Solaris Operating System

– Robust membership including quorum to prevent partitions

– Disk Fencing ensures data integrity in spite of failures

Page 12: Discovering Open High Availability Cluster -

12

USE IMPROVE EVANGELIZE

OHAC Components Stack

OperatingSystem

Cluster Infrastructure

Agents

Applications

Heartbeats

Membership

Page 13: Discovering Open High Availability Cluster -

13

USE IMPROVE EVANGELIZE

HA Failover Service

● Application failover● Within nodes or

container● Containers failover● Failover IP address

Failover Service

Page 14: Discovering Open High Availability Cluster -

14

USE IMPROVE EVANGELIZE

Failover Service

Server A Server B

HA clusterIP Y.Y.Y.Y

LAN

IP B.B.B.B(Secondary)

IP A.A.A.A(Primary)

Server A(Fault!!)

Server B(SensesFault!!)

Server B(Active)

Failover

Page 15: Discovering Open High Availability Cluster -

15

USE IMPROVE EVANGELIZE

Scalable ServiceSoftware Load

Balancing

Global Network Service Provides Global IP address

with failure protection

Scalable Service

Page 16: Discovering Open High Availability Cluster -

16

USE IMPROVE EVANGELIZE

Apache (Scalable)

Global Network Service Provides Global IP address

with failure protection

MySQL (Failover)

Example: Apache & MySQL

Page 17: Discovering Open High Availability Cluster -

17

USE IMPROVE EVANGELIZE

OHAC Infrastructure Architecture

OperatingSystem

Cluster Infrastructure

Agents

Applications

Heartbeats

Membership

Page 18: Discovering Open High Availability Cluster -

18

USE IMPROVE EVANGELIZE

Heartbeats

Membership

Quorum

Disk FencingResource Group Manager● Resource (application)

dependencies● Inter RG dependencies● RG affinities

HA Failover Service● Application failover

● Within nodes or container

● Containers failover● Failover IP address

Global File Service Failover File Service

Scalable ServiceSoftware Load

Balancing

Global Network Service Provides Global IP address

with failure protection

Mon

itori

ng

OHAC Architecture

Page 19: Discovering Open High Availability Cluster -

19

USE IMPROVE EVANGELIZE

How do you make your application run on OHAC

(cluster agents)

Page 20: Discovering Open High Availability Cluster -

20

USE IMPROVE EVANGELIZE

OHAC Agents (Data Services)

OperatingSystem

Cluster Infrastructure

Agents

Applications

Heartbeats

Membership

Page 21: Discovering Open High Availability Cluster -

21

USE IMPROVE EVANGELIZE

Cluster Agents (Data Services)

● Applications run on cluster unmodified (off-the-shelf)

● Cluster Agents are the “glue” layer between applications and cluster infrastructure– Custom agent for each application

Interacts with cluster core through APIs Provides start, stop, and other commands specific to the

application to be called by the cluster framework Provides monitor daemon specific to the application

● Application cannot break into the high availability business on OHAC without an agent!

Page 22: Discovering Open High Availability Cluster -

22

USE IMPROVE EVANGELIZE

Agents Available IncludeBusiness Logic Tier

● HA Sun Java System App Server PE/SE● HA Sun Java System App Server EE● HA Sun Java System Directory Server*● HA Agfa IMPAX ● HA BEA Weblogic Server● Scalable Broadvision One-To-One*● HA IBM Websphere MQ● HA IBM Websphere MQ Integrator● IBM Lotus Notes+

● HA Oracle Application Server● HA SAP liveCache● HA SAP J2EE Engine● HA SAP Enqueue Server● Scalable SAP● HA Siebel● HA SWIFTAlliance Access ● HA SWIFTAlliance Gateway● HA Sybase Adaptative Server*

Web Tier / Presentation● HA Sun Java System Web Server● HA Sun Java System Messaging Server* ● HA Sun Java System Message Queue● HA Sun Java System Calendar Server*● HA Sun Java System Instant Messaging

Server*● Scalable Sun Java System Web Server● HA Apache Web/Proxy Server● HA Apache Tomcat● Scalable Apache Web/Proxy Server

Database Tier● Oracle Parallel Server*● HA Oracle9i and Oracle 9i RAC*● HA Oracle 10g and Oracle 10gRAC*● HA Oracle E-business Suite● HA Oracle*● HA Sybase*● HA MySQL● HA SAP/MaxDB Database● HA PostgreSQL

* Not yet open-source

Management Infrastructure Tier● HA Sun N1 Grid Engine● HA Sun N1 Service Provisioning System● HA DNS, HA NFS● HA DHCP● IBM Tivoli+● Mainframe Rehosting (MTP)*● HA Samba● HA Solstice Backup*● HA Solaris Container● HA Symantec NetBackup*

Online Agent list:http://opensolaris.org/os/community/ha-clusters/ohac/Documentation/Agents/open-agents/

Page 23: Discovering Open High Availability Cluster -

23

USE IMPROVE EVANGELIZE

How to Use Open HA Cluster

Page 24: Discovering Open High Availability Cluster -

24

USE IMPROVE EVANGELIZE

Solaris Cluster Express

● A complete version of Solaris Cluster software that runs on Solaris Express

● Solaris Cluster Express– Runs on Solaris Community Edition build 97

– Runs on sparc and 32 or 64-bit x86 hardware

– Support available only through community forums

● Where to get it– http://www.opensolaris.org/os/community/ha-clusters/ohac/downloads/

Page 25: Discovering Open High Availability Cluster -

25

USE IMPROVE EVANGELIZE

Build and Run Agents and Geographic Edition

● Install– Solaris Express Developer or Community Edition

– Compiler : Sun Studio 11, Sun Studio 12, or gcc

– Build tools• ON build tools (SUNWonbld)• OHAC build tools (SUNWscbld)

● Download Source Tarballs and Archives● One-line nbuild command● Install packages on Solaris Cluster Express

Page 26: Discovering Open High Availability Cluster -

26

USE IMPROVE EVANGELIZE

How to Participate

Page 27: Discovering Open High Availability Cluster -

27

USE IMPROVE EVANGELIZE

Where to Start

● HA Clusters Community Group Web Page http://www.opensolaris.org/os/community/ha-clusters/

● Open HA Cluster page http://opensolaris.org/os/community/ha-clusters/ohac/

[email protected] mailing listhttp://mail.opensolaris.org/mailman/listinfo/ha-clusters-discusshttp://opensolaris.org/jive/forum.jspa?forumID=195

● How to Contribute to Open HA Cluster http://opensolaris.org/os/community/ha-clusters/ohac/contribute/

Page 28: Discovering Open High Availability Cluster -

28

USE IMPROVE EVANGELIZE

What You Can Do

● Browse the code with OpenGrok– http://src.opensolaris.org/source/xref/ohac/

● Join the discussions on ha-clusters-discuss● File bugs

– http://www.opensolaris.org/bug/report.jspa

● Fix a bug – http://opensolaris.org/os/bug_reports/oss_bite_size/

● Contribute to an existing project– http://www.opensolaris.org/os/projects/

● Start a new project

Page 29: Discovering Open High Availability Cluster -

29

USE IMPROVE EVANGELIZE

Two new community projects created● HA-Informix

– Cluster Agent for Informix Dynamic Server

– exists since 1st August 2007

– Design Doc, Cheatsheet etc. available

– http://opensolaris.org/os/project/ha-informix/

● HA-xVM– Cluster Agent for Solaris xVM guest domains

– http://opensolaris.org/os/project/ha-xvm/

Page 30: Discovering Open High Availability Cluster -

30

USE IMPROVE EVANGELIZE

Possible Projects● Develop Agents for

– Adabas, BMC Control-M, BMC Patrol Server, BMC Performance Manager, CA Unicenter, Citrix, Connect Direct, EMC Documentum, FileNet, IBM Tivoli Client, IBM Tivoli Server, IBM Tivoli Workload Scheduler, IBM Websphere Application Server, Informatica, Java CAPS, Java DB, JBOSS, Netbackup, Netbackup Client, Open LDAP, Sleepy cat DB, Sun Java System Identity Server, Sun Java System Portal Server, Sybase Replicator agent, TSM Backup client, UC4

● More project suggestions for Open HA Cluster http://opensolaris.org/os/community/ha-clusters/ohac/contribute/agents-suggested-projects/

● Or propose your own project!

Page 31: Discovering Open High Availability Cluster -

31

USE IMPROVE EVANGELIZE

Possible Projects● Develop Agents for

– Adabas, BMC Control-M, BMC Patrol Server, BMC Performance Manager, CA Unicenter, Citrix, Connect Direct, EMC Documentum, FileNet, IBM Tivoli Client, IBM Tivoli Server, IBM Tivoli Workload Scheduler, IBM Websphere Application Server, Informatica, Java CAPS, Java DB, JBOSS, Netbackup, Netbackup Client, Open LDAP, Sleepy cat DB, Sun Java System Identity Server, Sun Java System Portal Server, Sybase Replicator agent, TSM Backup client, UC4

● More project suggestions for Open HA Cluster http://opensolaris.org/os/community/ha-clusters/ohac/contribute/agents-suggested-projects/

● Or propose your own project!

Page 32: Discovering Open High Availability Cluster -

USE IMPROVE EVANGELIZE

Thank you!

[email protected]/SC

“open” artwork and icons by chandan: http://blogs.sun.com/chandan