aufbau hochverfügbarer architekturen mit dem oracle ... · oracle application server 10g...
TRANSCRIPT
IT-Symposium 2005
www.decus.de 1
Aufbau hochverfügbarer Architekturen mit dem Oracle
Application Server 10g
IT-Symposium 2005
www.decus.de 2
Heiko RobertSenior Sales Consultant
Collaboration Business [email protected]
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
IT-Symposium 2005
www.decus.de 3
Oracle Application Server 10g ArchitekturSecurity & Identity M
anagement
Syst
ems
and
Appl
icat
ions
Man
agem
ent
Grid Computing
Integrated Development Tools and Framework
Enterprise Application Server
Events RulesWeb ServicesJ2EE
Business Integration
B2B BAMBPELEnterprise Service Bus
Business Intelligence
ETL ReportingQuery Analysis / OLAP
Data Mining
Workplace and Information AccessInformation Access
Mobile & WirelessPortal
Information Access
Hochverfügbarkeit
Forrester 2005 Wave™ : Application Server Plattformen
IT-Symposium 2005
www.decus.de 4
Ausfallzeiten
95%95% 1818 66 00
99%99% 33 1515 3636
99.9%99.9% 00 88 4646
99.99%99.99% 00 00 5353
99.999%99.999% 00 00 55
ProzentualeVerfügbarkeit Tage
Ausfallzeit pro Jahr (7x24x365)Stunden Minuten
99.9999%99.9999% 00 00 11
Komponenten & KonzeptionenKonzeptionen
– Risikoabschätzung / Bedarfsdefinition
– System- & Komponentenintegration
– Consulting & Support– identische Testsysteme– Partnering
SIP Programm (HP)eEcostructure (EMC, Cisco)
– Schulung / regelmäßige CrashübungenBetriebs-
system
NetzwerkSoftware
DatenbankSoftware
Middleware& Utilities
Applikation
Hardware
Komponenten
IT-Symposium 2005
www.decus.de 5
Ausfallzeiten...
geplantegeplanteAusfallzeitAusfallzeit
ungeplanteungeplanteAusfallzeitAusfallzeit
VerwaltungVerwaltung
Standard Standard --AktivitAktivitäätenten
DatenfehlerDatenfehler& & DesasterDesaster
SystemSystemFehlerFehler
Hardware &Hardware &O/S UpgradesO/S Upgrades
Backups, TuningBackups, Tuning
LLööschenschen v. v. (System(System--) ) DatenDaten, ,
HackerHacker
DatenkorruptionDatenkorruptionFeuerFeuer, Sabotage, Sabotage
StromausfallStromausfallSystemabsturzSystemabsturz
BenutzerBenutzer ––FehlerFehler
Ausfallzeiten vermeiden
geplantegeplanteAusfallzeitAusfallzeit
ungeplanteungeplanteAusfallzeitAusfallzeit
VerwaltungVerwaltung
Standard Standard --AktivitAktivitäätenten
DatenfehlerDatenfehler& & DesasterDesaster
SystemSystemFehlerFehler
Rolling UpgradesRolling Upgrades
Enterprise Enterprise ManagerManager
Backup/Recovery, Backup/Recovery, ConfigConfig. Flashback. Flashback
Backup/Recovery, Backup/Recovery, DesasterDesasterRecoveryRecovery
Load Balancer, Load Balancer, Cluster, OPMNCluster, OPMN
BenutzerBenutzer ––FehlerFehler
IT-Symposium 2005
www.decus.de 6
Oracle Application Server Cluster
LoadBalancer
BrowserClient
OracleReal Application
Cluster
Internet
Kein Single Point of Failure
Zentrale Verwaltung
Web Server Cluster
Web Cache Cluster
OC4J Cluster
OPMN
Infrastruktur Cluster
Cluster Konfiguration im EM
IT-Symposium 2005
www.decus.de 7
Cluster Monitoring mit iHAT
Prozessüberwachung: OPMN
Überwachung aller OracleASProzesseAutomatischer Neustart bei Prozessfehlern (“self healing”)
– OPMN-Shadow Prozessüberwacht OPMN
Ein Prozessausfall wird ggf. anandere, abhängige Prozessegemeldet
– Beispiel mod_oc4j / oc4j
OPMNOPMN
DCM
mod_oc4j
ajp events
eventsevents
WCWC events
http(s)
http(s)
OHSOHS
OC4JOC4JOC4J
IT-Symposium 2005
www.decus.de 8
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
Webcache als Loadbalancer
Webcache verteilt Last auf mehrere HTTP Server
– Round-Robin VerteilungUnterstützt Session-BindingErkennt Ausfall eines HTTP Servers
– Erkennt Wieder-Verfügbarkeit e. HTTP-ServersMemory Cache kann über mehrere Maschinen als Webcache-Cluster verteilt werden
IT-Symposium 2005
www.decus.de 9
Webcache Load-Balancing
OracleAS HTTP Cluster
LoadBalancer / Web Cache
OC4JOC4J
OC4JOC4JOC4JOC4JOC4J
Knoten 1
Knoten 2
Oracle Process Manager HTTP OC4J
HTTPHTTP
IT-Symposium 2005
www.decus.de 10
HTTP Clustering Details
mod_oc4j verteilt Anfragen auf alle OC4J-Instanzen einer Farm / eines Clusters. Unterstützt Session BindingErkennt Ausfall eines OC4J Containers
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
IT-Symposium 2005
www.decus.de 11
OracleAS OC4J Cluster
HTTP/S
Node 1
Node 2
Oracle Process Manager
Oracle HTTP ClusterWeb Cache Servlet
Servlet
StateReplication
EJBRMI /IIOP State
Replication
EJB
Servlet / JSP Clustering
Dynamische KnotenerkennungAutomatische Lastverteilung
– Round Robin (mit / ohne lokalePräferenz und Gewichtung)
– Random (mit / ohne lokalePräferenz und Gewichtung)
– Metrik basierend (mit / ohnelokale Präferenz)
Session Replikation über IP MulticastingReplikation basierend auf island-id
– Islands ermöglichen applikations-spezifische Gruppierung der Clusterknoten
OC4J 1
App1App2
Island 1
OC4J 2
App1App2
Island 1
OC4J 3
App3
Island 2
Mod_oc4j
IT-Symposium 2005
www.decus.de 13
EJB Clustering
State Replikation über IP MulticastingDynamische und statische Erkennung der KnotenLoad-balancing für alle EJB-TypenStateful Session Bean Fail-Over
– JVM termination– End-of-Call
Entity Bean Fail-Over– Automatische Zustands-Synchronisierung
Konfiguration EJB Clustering im EM
IT-Symposium 2005
www.decus.de 14
JMS Clustering
OJMS– Destination HA über RAC Database
OracleAS JMS– Distributed Destinations– Dedicated JMS Server
garantiertes Message OrderingErfordert Persistent Store auf Shared Device
OJMS Hochverfügbarkeit
Queue-HA durch RAC DatenbankApplikations-HA durch OPMN und OC4J ClusteringConnection-Failover durch TAF
IT-Symposium 2005
www.decus.de 15
OC4J Hot Deployment*
NoNoYesOC4J Clusters (islands)
NoNoYesOC4J Standalone
NoNoYesOracleAS OC4J
EJB Tier
NoYesYesOC4J Clusters (islands)
YesYesYesOC4J standalone
YesYesYesOracleAS OC4JWeb Tier
Hot Redeployment (Stateful Apps)
Hot Redeployment (Stateless Apps)
Hot Deployment
* Application must be deployed as a packaged .ear or .war; no editing of descriptor files permitted* Certain configuration restrictions apply – see doc set for details
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
IT-Symposium 2005
www.decus.de 16
Connection Pools und HA
Fast Connection Failover (FCF)– Erfordert OracleDB 10g und OracleAS 10.1.3– Automatische Benachrichtigung bei DB-Fehlern
(FaN)– Automatischer Connection Pool Cleanup– Connection Pool Failover
Transparent Application Failover (TAF)
> 15 mins> 15 mins
< 12 secs< 12 secs
~15 mins~15 mins
< 4 secs< 4 secs
RAC Failover Notification (FaN)
RAC informiert AppServer über Instanz-AusfallVermeidet warten auf TCP/IP Timeout
ohne FaNmit FaN
ohne FaNmit FaN
RAC Failover AS Erkennung AusfallzeitRAC Failover AS Erkennung Ausfallzeit
< 8 secs< 8 secs< 8 secs< 8 secs
IT-Symposium 2005
www.decus.de 17
Fast Connection Failover (FCF)
Basis: Oracle Connection CacheNutzt Failover Notification (FaN)
Connection Cache
J2EE Hochverfügbarkeit mit FCF:
FCF data source Integration (10.1.3)
<managed-data-source connection-pool-name='Connection Pool' jndi-name='jdbc/managedDs_1' name='OracleManagedDS'/>
<connection-pool name='Connection Pool' initial-limit='10' min-connections='10' <connection-factory factory-class='oracle.jdbc.pool.OracleDataSource' user='scott' password='tiger' url='jdbc:oracle:thin...
<property name='fastConnectionFailoverEnabled' value='true'/></connection-factory>
</connection-pool>
IT-Symposium 2005
www.decus.de 18
Transparent Application Failover
TAF ist unabhängig von Real Application Clustern (RAC)“Failover” kann auch innerhalb einerDatenbank-Instanz stattfindenLesende Zugriffe können über einen Failover weiterlaufen
Fast Connection Failover vs. TAF
FCF:OCI und Thin TreiberContainer muss reagieren
Reaktion auf UP und DOWN Events (FaN)Lesende Transaktionen erhalten SQLException
TAF:nur OCI-TreiberNet8 reagiert automatischTAF-Callbacks für Anwendung Reaktion nur auf Net8-Fehler
Lesende Transaktionen laufen weiter
Für FCF ist entscheidend, dass J2EE Anwendungen eine Datenbankverbindung nur für kurze Zeit benötigen.
IT-Symposium 2005
www.decus.de 19
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
OracleAS Portal Middle Tier Cluster
Portal Portal RepositoryRepositoryPage
Metadata
Browser Client
Ora
cle
HTT
P O
racl
e H
TTP
Serv
erSe
rver
PortalPortalParallel PageParallel Page
EngineEngine(PPE)(PPE)
OracleAS Portal Database Tier im
RAC
Portal Hochverfügbarkeit
DatabaseDatabaseProviderProvider
WebWebProviderProvider
LoadBalancer
Webcache
Ora
cle
HTT
P O
racl
e H
TTP
Serv
erSe
rver
PortalPortalParallel PageParallel Page
EngineEngine(PPE)(PPE)
NAT / anderes Subnetz
IT-Symposium 2005
www.decus.de 20
Portal Clustering
Parallel Page Engine (PPE) Requests müssen über den LBR gehenWebprovider und PPE müssen entweder
– in getrennten Subnets konfiguriert oder – Im LBR über NAT getrennt werden
HTTPHTTPServerServer
OC4JOC4JContainerContainer
FormsFormsRuntimeRuntime
11
Forms HochverfügbarkeitApplication Tier Database Tier
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
FormsFormsRuntimeRuntime
22
Client
Inte
rnet
HTTPHTTPServerServer
OC4JOC4JContainerContainer
FormsFormsRuntimeRuntime
33
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
FormsFormsRuntimeRuntime
44
Serv
er s
ide
Fire
wal
lSe
rver
sid
e Fi
rew
all
Load-balancer
/ Web Cache
IT-Symposium 2005
www.decus.de 21
Webcache als Forms LBR
Forms benutzt Session Binding für Routing auf Runtime Engine
– Nutzt URL-encoded Sessions (anstatt Cookies)Webcache benötigt Cookies für Session Binding
– Konifgurieren von mod_usertrack im Apache (s. Note 229900.1) oder
– Konfigurieren von Instance Routing im mod_oc4j
Oracle9iAS Reports Services Cluster
HTTP Listener & Servlet
CORBA services
Clients
• Peer-level clustering
Reports Hochverfügbarkeit
IT-Symposium 2005
www.decus.de 22
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
Infrastructure Komponenten
Metadata Repository– Management Metadata– Security Metadata– Product Metadata
Identity Management– Oracle Internet Directory– OracleAS Single Sign On– OC4J Delegated Administration Services
HTTP Server, Enterprise Manager
IT-Symposium 2005
www.decus.de 23
Metadata Repository
File based repository– Auch für “Managed Clusters”– Eine Midtier-Instanz ist
Repository Host– Repository wird R/O auf alle
Instanzen verteilt– Repository Host nicht
erreichbar => Konfigurationsänderungen nicht möglich
– Repository-Host verschieben: dcmctl importRepository dcmctl repositoryRelocated
– z.Zt. nur f. max. 4-8 Instanzen
DB based repository– Repository liegt in
(RAC-) DB– CFC oder AFC stellt
HA sicher– Beliebig viele Midtier
Instanzen
Distributed Configuration Mgmt.
Administration von AS-Clustern über EM oder dcmctlUtilityermöglicht Archivierung und Zurücksichern des Repositories
– Automatische Archivierung vor jeder Änderung– Manuelle Archivierung
dcm-”Flashback” erlaubt Zurücksetzen von Konfigurations-Änderungen
dcmctl createArchive -arch PriorToDeployingFoo -comment "prior to foo deploy V1"dcmctl createArchive -arch PriorToDeployingFoo -comment "prior to foo deploy V1"
dcmctl applyarchiveto -arch PriorToDeployingFoodcmctl applyarchiveto -arch PriorToDeployingFoo
IT-Symposium 2005
www.decus.de 24
HA Optionen für Infrastruktur
Cold Failover ClusterActive Failover ClusterIdentity Management ReplikationMetadata Repository in RAC DBDesaster Recovery
– Über Standby-Site
Shared Storage
Knoten 1 Knoten 2
Cold Failover Cluster
Aktiv / Passiv KonfigurationNur für InfrastrukturNur eine Installation
– gegen virtuelle IP Adresse
Midtier auf gleichem Host gegen physiche IP Adresse möglich
Infra1 Infra2 Infra2
OracleAS Midtier
• OID• SSO• DAS• Infra DB
instance
Shared Storage• ORACLE_HOME• DB Files
IT-Symposium 2005
www.decus.de 25
Cold Failover Cluster
Infra1 Infra2 Infra2
OracleAS Midtier
• OID• SSO• DAS• Infra DB
instance
Shared Storage• ORACLE_HOME• DB Files
Aktiv / Passiv KonfigurationNur für InfrastrukturNur eine Installation
– gegen virtuelle IP Adresse
Midtier auf gleichem Host gegen physiche IP Adresse möglich
Active Failover Cluster
Aktiv / Aktiv KonfigurationNur eine InstallationSynchronisierung von Infrastruktur Informationen auf allen Cluster-Knoten
– Identische Repository Informationen (=> RAC)
– Identische Konfigurations-Files (=> AFC)
afcctl – Utility synchronisiert alle Config-Files
Shared Storage•DB Files
Infra1 Infra2 Infra3
Loadbalancer
OracleAS Midtier
local Storage•ORACLE_HOME
local Storage•ORACLE_HOME
IT-Symposium 2005
www.decus.de 26
Identity Mgmt Replikation
Identity Management Services in mehreren MidtiernOID / Repository HA:
– Mehrere OIDs IM-DB via Replikation synchronisiert
Überbrückt große geographische Distanzen
– OID im Cluster mit RAC DB
OID 1
Infra2
OID 2
Loadbalancer
OracleAS Midtier
Loadbalancer
IM 1 IM 2
RAC oder
Replikation
Agenda
ÜberblickHTTP ServerOC4JConnection PoolsPortal, Forms, ReportsInfrastrukturDesaster Recovery
IT-Symposium 2005
www.decus.de 27
Primary Site Standby Site
DNS switch
DR SYNC.
Application Application
LDAP Data Storage
Application Data Storage
Security InformationStorage
Metadata Storage
Midtier sync
LDAP Data Storage
Application Data Storage Security
Information Storage
Metadata Storage
LDAP Data Storage
Application Data Storage
Security Information
Storage
Metadata Storage
sync????
Disaster Recovery Paradigma
Primary Site Standby SiteDNS switch
DR SYNC.
Application Application
LDAP Data Storage
Application Data Storage
Security InformationStorage
Metadata Storage
LDAP Data Storage
Application Data Storage
Security InformationStorage
Metadata Storage
Oracle Disaster RecoveryOracle App Server GuardOracle App Server Guard
Oracle App Server GuardOracle App Server Guard
IT-Symposium 2005
www.decus.de 28
Disaster Recovery
Neues Kommandozeilen-Tool zur Synchronisations-Automatisierung - (asgctl)
– Instantiate Standby SiteInstantiiert eine Application Server Standby Farm als Spiegel zur Primary Farm
– VerifyPrüft, ob eine Farm die Voraussetzung zur Spiegelung einer gegebenen Primary Farm gegeben sind.
– Synchronize: Synchronisiert die Primary mit der Standby Farm
Disaster Recovery
Oracle Application Server Guard– Transaktionelle Änderungen– Wird von Oracle Application Server durch OPMN
gemonitort
IT-Symposium 2005
www.decus.de 29
Disaster Recovery1. Konfiguration der Hostnamen für die Standby Site2. Installation der Produktions- und Standby Site3. Start des Oracle Application Server Guard Server (auf
beliebigem Knoten)4. Start des Oracle Application Server Guard Clients (auf
beliebigem Knoten) und Verbindungsaufbau zum Oracle Application Server Guard Server
5. Festlegen der Primären Datenbank 6. Verifizieren der Farm 7. Instantiieren der Farm auf der Standby Site 8. Synchronisieren der Secondary Site mit der Primary Site
123
4
5678
Desaster Recovery Failover
Einspielen der letzten Backup-FilesAktivieren der Standby-DBDNS Switchover aktivieren
IT-Symposium 2005
www.decus.de 30
Weitere Infos
– http://www.oracle.com/technology/products/ias/– http://www.oracle.com/technology/products/ias/hi_av/index.
html– http://www.oracle.com/technology/tech/java/oc4j/– http://www.oracle.com/technology/products/ias/ohs/content.
html
Herzlichen Dank für Ihre Aufmerksamkeit!