Oracle Real Application Cluster (RAC) Ralf Mueller Server Technologies Oracle Corporation...

Post on 05-Apr-2015

118 views 2 download

Tags:

transcript

Oracle Real Application Cluster (RAC)

Ralf MuellerServer TechnologiesOracle Corporation

Ralf.Mueller@oracle.com

3

Agenda

Motivation

Clusterumgebungen

Oracle Real Application Clusters

Oracle RAC Konfigurationsvarianten

Q&A

4

Warum Cluster ?

Technische Gründe– Skalierbarkeit– Hochverfügbarkeit– Neue Rechnerarchitekturen (Blades)

Nicht-technische Gründe– Kosten

Hardware Strom Platzbedarf

5

19921991 1997 1999 20011989

VerfVerfüügbargbarauf VMSauf VMS

Oracle 6.2Oracle 6.2Erster UNIXErster UNIX

Parallel ServerParallel Server

Oracle 8Oracle 8Parallel ServerParallel Server

iDLMiDLM

Oracle Oracle 88iiParallel ServerParallel ServerCache Fusion ICache Fusion I

Oracle 9Oracle 9iiRACRAC

Cache Fusion IICache Fusion II

Parallel Server / RAC Historie

2004 2005 ?2003

Oracle Oracle 10gR1 RAC 10gR1 RAC

ASMASM

ProjektProjektMegaGrid, CERNMegaGrid, CERN

Oracle 10gR2Oracle 10gR2Grid Enable,Grid Enable,

ManageabilityManageability

??

6

Real Application Clusters

SMP

NUMA

Jeder Hersteller: Sun, HP, IBM, Linux, Win2000, OS/390

Knoten können beliebig hinzugefügt werden

Cluster

Jeder Hersteller, Jede Architektur

1 CPU

Mainframe

7

Oracle ist Oracle ist Oracle...

Real Application Clusters ist eine Option für Oracle10g

– eine Codebasis auf allen Plattformen– alle Oracle10g Funktionalitäten– Identische Schnittstellen

Identische Tools Infrastruktur

– Oracle Universal Installer (OUI)– Enterprise Manager (EM)– Database Configuration Assistant (DBCA)– Recovery Manager (RMAN)

8

Clusterkomponenten

Knoten (Nodes) Interconnect Shared Disk System Cluster Manager Cluster Ready Services Manageability

9

Knoten (Nodes)

Jeder Knoten ist ein eigenständigerRechner (mit CPU, Memory, etc.)

Ein Knoten kann ein Einzel-CPU oder Mehrfach-CPU System sein (SMP, NUMA)

Für einen Cluster werden zwei oder mehr Knoten benötigt

10

Interconnect

Verbindung zwischen den Knoten eines Clusters

Kann Ethernet basierend sein Bessere Resultate durch Verwendung

von “HighSpeed Interconnects” – GigaBit Ethernet (alle)– VIA (Intel)– Memory Channel (HP)– High Performance Switch (IBM)

11

Shared Disk System

Alle Knoten haben Zugriff auf die Disk Resourcen des Clusters

Unterstützung von SAN und Hersteller spezifischen Lösungen

Gemeinsamer Zugriff über– Oracle Cluster File System (OCFS)- Oracle Automatic Storage Management

(ASM)– Volume Manager des OS Herstellers

12

Cluster Manager

Software zum verwalten aller Komponenten in einem Cluster

– Überwachung des Zustandes eines Knoten

– Automatisches hinzufügen bzw. herausnehmen eines Knotens im Cluster

13

Cluster Ready Services

Framework fuer 3rd party Applikationen

– Applikationen werden clusterfähig– Unabhängig von Hardware und OS– Verwaltung über EM

Unabhängig von RAC– Offenlegung von Cluster Manager

Funktionalität

14

Manageability (9i vs. 10g)

Enterprise Manager – Cluster Enable Single Node– Backup/Recovery– Monitoring

Rolling Upgrade Load Balancing Storage Management

15

Agenda

Motivation

Clusterumgebungen

Oracle Real Application Clusters

Oracle RAC Konfigurationsvarianten

Q&A

16

Clusterumgebungen

Clustertypen:– Failover Cluster– Shared Nothing– Shared Disk

17

Clustertypen – Failover Cluster

DataDataA-ZA-ZDataDataA-ZA-Z

Typischerweise 2 Rechner im Verbund Nur der aktive Rechner hat Zugriff auf die Daten Adressiert Hochverfügbarkeit, keine Skalierbarkeit

18

Ausfall eines Knotens – Failover Cluster

Ausfallrechner übernimmt Platten Applikationen werden hochgefahren Umschaltzeit 10-30 Minuten Nur der aktive Knoten kann genutzt werde (keine Skalierbarkeit)

DataDataA-ZA-ZDataDataA-ZA-Z

19

Clustertypen – Shared Nothing

Typischerweise mehrere Rechner im Verbund Alle Knoten sind gleichzeitig aktiv Jedem Knoten ist ein Plattenstapel dediziert zugewiesen Adressiert Skalierbarkeit, aber nur für lesende Applikationen z.B. bei IBM DB2 UNIX & Windows, Microsoft SQL Server

DataDataA-FA-F

DataDataG-KG-K

DataDataL-SL-S

DataDataT-ZT-Z

20

Ausfall eines Knotens – Shared Nothing

Die Platten des ausgefallenen Knotens sind nicht mehr verfügbar Jeweils zwei Knoten sind wechselweise Ausfallknoten zueinander:

Ausfallzeit ca. 10 – 30 Minuten Extrem limitierte Skalierbarkeit

DataDataA-EA-E

DataDataG-KG-K

DataDataL-SL-S

DataDataT-ZT-Z

XDataDataA-FA-F

21

Clustertypen – Shared Disk

DataDataA-ZA-ZDataDataA-ZA-Z

Typischerweise 2 oder mehr Rechner im Clusterverbund Alle Knoten sind gleichzeitig aktiv Alle Knoten haben gleichzeitigen Zugriff auf die Daten Adressiert Skalierbarkeit & Ausfallsicherheit z.B. bei Oracle RAC, IBM DB2 auf OS390

22

Ausfall eines Knoten – Shared Disk

Fällt ein Rechner aus, wird die Last auf die übrigen Knoten verteilt Alle Knoten haben zu jeder Zeit Zugriff auf alle Daten Adressiert Skalierbarkeit & Ausfallsicherheit:

Ausfallzeit < 1 Minute Alle noch verfügbaren Ressourcen nutzbar (hier 75%)

DataDataA-ZA-ZDataDataA-ZA-Z

X

23

Clustertypen - Zusammenfassung

SD SN FCIm Kundeneinsatz in Data Warehouse Systemen Ja Ja (Nein)Im Kuneneinsatz bei Transaktionssystemen Ja Nein JaSkalierung bei statischen Applikationen (TPC-C) Gut Gut NeinSkalierung bei Standardapplikationen Gut Nein NeinSkalierung ohne Neupartitionierung der Daten ? Ja Nein (Nein)Daten bei Ausfall eines Knotens sofort zugreifbar ?Ja Nein NeinVerfügbarkeit bei Crash im < 2 Minuten Bereich Ja (Nein) NeinBetroffene Benutzer bei Nodecrash (2 Knoten) 50% 100% 100%Betroffene Benutzer bei Nodecrash (4 Knoten) 25% 100% 100%

SD = Shared Data

SN = Shared Nothing

FC = Failover Cluster

24

Agenda

Einführung

Clusterumgebungen

Oracle Real Application Clusters

Oracle RAC Konfigurationsvarianten

Q&A

25

Oracle10g Real Application Clustersbasierend auf dem Shared Disk System

Knoten 1 Knoten v2

XXX User XXX User

DB-Cache1 DB-Cache2

26

Oracle10g Real Application ClustersBasistechnologie (patentiert) : DB-Cache Fusion

Knoten 1 Knoten v2

XXX User XXX User

DB-Cache1 DB-Cache2 Cache Fusion

27

Block P

ing

Inst 1

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Block Shipping

Cache Coherence Implementierung

Blo

ck P

ingBlock Ping

L.EllisonR.Lane….

DBA: 4711G.Stürner

J.Henley

früher:

OPS

Inst 2

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Block Shipping

Inst 3

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Inst 1

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Inst 2

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Inst 3

DBA: 4711G.Stürner

L.Ellison

R.Lane….G.BloomR.Lane J.Henley

Block P

ing

28

Cache Fusion Komponenten Global Resource Directory (GRD)

– Verwaltet Resourcen im Cluster– In-Memory Struktur (in SGA)– Repliziert auf allen Instanzen– Für jede Resource gibt es genau einen Resource

Master (siehe GCS, GES)– Resourcen:

Informationen über Datenblöcke Lokal/global Null Lock, Shared, Exclusive Welche Instanz hat aktuelle Version

29

Cache Fusion Komponenten Global Cache & Enqueue Service (GCS,

GES)- Verantwortlich für Integrität des GRD- Nominieren eines Resource Masters (dynamisch, kann wechseln) - Läuft auf jeder Instanz, Kommunikation über Interconnect- Beteiligt am Instance Recovery bei Ausfall einer Instanz

47

Agenda

Motivation

Clusterumgebungen

Oracle Real Application Clusters

Oracle RAC Konfigurationsvarianten

F&A

48

Diese Technologie ist einzigartig und kombiniert

Skalierbarkeit und Hochverfügbarkeit für alle Anwendungen:

OLTPDWHInternet/Intranet-Auftritte

Oracle10g Real Application Clusters

49

0

500

1.000

1.500

2.000

2.500

3.000

3.500

4.000

Single Node 2 Nodes 4 Nodes

1,01,0

1,8(Basis: 2 Node)

1,8(Basis: 2 Node)

89%Scalability

89%ScalabilitySAP(R) R/3 4.6C SD-Scalability

Oracle10g RAC: Out-of-the-box Scalability

ScaleFactor

1,8(Basis: 1 Node)

1,8(Basis: 1 Node)

50

0

500

1.000

1.500

2.000

2.500

3.000

3.500

4.000

4.500

2 Nodes 4 Nodes

2,2962,296

4,3684,368

95%Scalability

95%Scalability# Users Oracle E-Business Suite 11i Scalability

Oracle10g RAC: Performance mit HMP Protokoll

51

(Standard-)Applikation

Skalierbarkeit: Shared Disk / Shared Data Nutzung aller

Ressourcen

Geeignet für jede Applikation

– OLTP– DWH– ODS– Hybrid, etc.

Transparentes Load Balancing DataData

A-ZA-Z

CPU

50%

100%CPU

50%

100%CPU

50%

100%CPU

50%

100%

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

UserUser

52

• Listener verteilen Anfragen basierend auf CPU-Last – PMON Prozess meldet den Listenern die Knotenauslastung

Knoten 2

rac1Instanz

Knoten 1

lsnr1

rac2Instanzlsnr2

Rac DatenbankClient 3

Ne

tzw

erk

Client 1Client 2

Client 4

Client n

Client & Serverseitiges LoadbalancingClient & Serverseitiges Loadbalancing• Verbindungsaufbau nach einem Zufallsprinzip

– verwendet die Adressliste der tnsnames.ora

53

• Gleichzeitiger OLTP und DSS Betrieb

• Dedizierter OLTP Knoten für schnelle Antwortzeiten

• DSS Nutzer sehen aktuellste Daten

OLTP DSS

Node Node NodeNode Node

ComplexComplexQueryQuery

ComplexComplexQueryQuery

QueryQuery

OLTPOLTP

OLTPOLTP

Oracle10g Real Application Clusters- Hybrid Konfigurationen

54

Oracle10g RAC KonfigurationsvariantenOracle Single Instance & klassischer Failover Cluster

Lokale Ausfallsicherheit auf Rechnerebene

Umschaltzeit bis 30 Minuten

Skaliert bis max. Anzahl der CPUs des akt. Knotens

Crash betrifft 100% der User

AktiverOracle10g Knoten

Standby

55

Oracle10g RAC KonfigurationsvariantenOracle9i aktiv/passiv RAC

AktiverOracle10g Knoten

PassiverOracle10g DB Knoten

Lokale Ausfallsicherheit auf Rechnerebene

Umschaltzeit < 1 Minute

Skaliert bis max. Anzahl der CPUs des akt. Knotens

Crash betrifft 100% der User

56

Lokale Ausfallsicherheit auf Rechnerebene

Umschaltzeit < 1 Minute

Skaliert bis zur Anzahl der CPUs der Knoten

Crash betrifft 50% der User

Leistung nach Ausfall 50%

Oracle10g RAC KonfigurationsvariantenOracle10g (aktiv/aktiv) RAC

AktiverOracle10gKnoten / RAC

AktiverOracle10gKnoten / RAC

57

Lokale Ausfallsicherheit auf Rechnerebene

Umschaltzeit < 1 Minute

Skaliert bis zur Anzahl der CPUs der Knoten

Crash betrifft 25% der User

Leistung nach Ausfall 75%

Oracle10g RAC KonfigurationsvariantenOracle10g RAC - Mehrknotenkonfiguration

AktiverOracle10g Knoten

AktiverOracle10g Knoten

AktiverOracle10g Knoten

AktiverOracle10g Knoten

58

• Beide Knoten aktiv• Zugriff auf eine Datenbank

AktiverOracle10gKnoten / RAC

AktiverOracle9i DBKnoten / RAC

Oracle10g RAC KonfigurationsvariantenOracle Transparent Application Failover

empno name

7369 Smith7499 Allen7521 Ward7566 Jones7654 Martin7698 Blake

Benutzer werden automatisch auf einem

intakten Knoten übernommen und lesende

Zugriffe fortgesetzt

59

Client

TNS

rac1instance

Node 1

lsnr1

rac1rac2

rac2instancelsnr2

RACDatabase

• Automatischer, erneuter Verbindungsaufbau nächster Eintrag in der Address-Liste in tnsnames.ora

Node 2

TAF erneuter VerbindungsaufbauTAF erneuter Verbindungsaufbau

AF&F R A G E NF R A G E NA N T W O R T E NA N T W O R T E N