Informazioni sulla gestione degli errori
La topologia cluster estesa di Oracle Fusion Middleware (FMW) è resiliente agli errori in qualsiasi singolo componente.
Ogni sito segue le procedure ottimali per l'alta disponibilità descritte nella topologia di distribuzione Oracle FMW Enterprise, assicurando che la ridondanza locale protegga dalle interruzioni a livello di componente (ad esempio il load balancer, le istanze di Oracle HTTP Server, Oracle WebLogic Server o l'istanza di database).
Le considerazioni per affrontare scenari quali un errore di livello completo all'interno di un sito o un errore totale del sito sono discusse nelle sezioni seguenti.
Gestire l'errore di tutti i server Web in un unico sito
Tutte le richieste del cliente, indipendentemente dalla loro preferenza del sito, saranno indirizzate all'altro sito.
Pertanto, i server Oracle WebLogic del sito con server Web non riusciti non riceveranno nuove richieste. Possono continuare a eseguire alcune elaborazioni (ad esempio, l'elaborazione dei composti di Oracle SOA e dei messaggi JMS (Java Message Service). Tuttavia, qualsiasi callback HTTP generato internamente da questi server non riuscirà perché puntano al proprio sito, i cui server Web non sono riusciti.
Il diagramma seguente mostra gli errori in tutti i server Web di un sito
Recupera da errore
I client vengono reindirizzati automaticamente all'altro sito grazie ai criteri di indirizzamento di Oracle Cloud Infrastructure (OCI) Traffic Management o al load balancer globale (GLBR).
Se il ripristino delle istanze del server Web perse non è possibile a breve termine, è possibile eseguire le operazioni riportate di seguito per utilizzare i server WebLogic del sito con il livello Web non riuscito.
- Configurare le istanze di Oracle HTTP Server (OHS) nell'altro sito per instradare le richieste alle istanze di Oracle WebLogic Server nel sito in cui si è verificato l'errore.
- Aggiornare la configurazione OHS e impostare il parametro
DynamicServerListsuON. - Applicare questa modifica riavviando OHS in sequenza per evitare tempi di inattività.
- Inoltre, assicurarsi che la comunicazione tra più aree sia consentita dai server Web ai server WebLogic dell'altro sito.
- Aggiornare la configurazione OHS e impostare il parametro
- Per evitare errori nei callback del protocollo HTTP (Hypertext Transfer Protocol) provenienti dal sito con server OHS non disponibili, aggiornare la voce per il nome del frontend nel file
/etc/hostsdegli host del server WebLogic o nel DNS (Private Domain Name System) per puntare al load balancer nell'altro sito.
- Avviare i processi OHS nel sito con errori.
Non appena Oracle Cloud Infrastructure Health Checks sarà nuovamente a posto, il criterio di indirizzamento della gestione del traffico bilancierà il carico delle richieste client tra entrambi i siti, in base alle regole definite.
- Impostare nuovamente
DynamicServerListsuOFFnell'altro sito. - Ripristinare qualsiasi modifica nel file
/etc/hosts(o nel DNS privato) dei server WebLogic in modo che puntino di nuovo al load balancer del proprio sito.
L'immagine seguente mostra i messaggi di coda di Java Message Service (JMS) e le richieste client non riuscite durante un errore di tutti i server Web in un sito:
Obiettivo tempo di recupero previsto
L'aggiornamento DNS interessa i client la cui preferenza del criterio di indirizzamento è impostata sull'area non riuscita. Il valore TTL determina per quanto tempo questi client continueranno a utilizzare la vecchia voce prima di aggiornarla per puntare al sito in buono stato. Il tempo aggiuntivo (circa 1 minuto) dipende dalla frequenza e dal timeout dei controlli dello stato configurati nel criterio di indirizzamento OCI (nel test precedente sono stati utilizzati 30 secondi per l'intervallo di controllo dello stato e un timeout di 10 secondi).
Quando si utilizza un load balancer globale (GLBR, global load balancer), il tempo di indisponibilità dipende dalla frequenza dei controlli dello stato configurati in GLBR. Non appena il GLBR contrassegna un pool come malsano, le richieste in entrata verranno reindirizzate all'altro sito. Con un GLBR, non c'è alcun aggiornamento DNS, quindi il valore TTL della voce front-end è irrilevante.
Gestire l'errore di tutti i server Oracle WebLogic in un unico sito
Il load balancer del sito in cui si è verificato l'errore restituirà una risposta non riuscita, pertanto la funzione di bilanciamento globale frontend, basata sui criteri di indirizzamento del traffico e sui controlli dello stato di Oracle Cloud Infrastructure (OCI), dovrebbe contrassegnare il sito come in cattivo stato. Tutte le richieste del cliente, indipendentemente dalla loro preferenza, saranno indirizzate all'altro sito.
I servizi WebLogic JMS (Java Message Service) e JTA (Java Transaction API) eseguiranno automaticamente la migrazione ai server nell'altro sito quando si utilizza la migrazione automatica dei servizi insieme alle aree di memorizzazione persistenti JDBC (Java Database Connectivity).
Nel caso SOA di Oracle Fusion Middleware (FMW), se il master del cluster di recupero automatico è ospitato nei server con errori, verrà generato un nuovo master del cluster nel sito disponibile. Questo server esegue il recupero automatico delle istanze SOA avviate nell'altro sito.
Il seguente diagramma mostra l'errore di tutti i server WebLogic in un unico sito:
errori-all-weblogic-servers-one-site-oracle.zip
L'immagine seguente mostra le richieste client non riuscite e i messaggi JMS per server quando tutti i server WebLogic non riescono in un sito.
Nel grafico dei messaggi JMS sono presenti quattro righe, ognuna delle quali rappresenta la coda JMS di un server. Le linee verde e blu (che sono quasi sovrapposte) corrispondono ai server che sono stati uccisi. Il numero di messaggi JMS per queste code non aumenta dopo l'inizio dell'interruzione.
Le linee rosso e giallo rappresentano i server che rimangono nella regione 2. Quando tutte le richieste vengono reindirizzate a quest'area, ogni server rimanente riceve il 50% del carico totale. Tuttavia, la frequenza con cui i messaggi si accumulano nelle code è diversa. Ciò è dovuto al fatto che i server JMS dei server non riusciti sono stati migrati a uno dei server rimanenti, pertanto i messaggi in tale server sono ora elaborati da tre code. Di conseguenza, la pendenza appare più bassa in quella gialla (si noti che lo strumento di monitoraggio non visualizza il conteggio dei messaggi per le code migrate).
Recupera da errore
Dopo aver reso disponibili i server non riusciti:
- Avviare i server gestiti nel sito con errori.
- Non appena Oracle Cloud Infrastructure Health Checks sarà nuovamente in buono stato, il criterio di indirizzamento Gestione del traffico bilancierà il carico delle richieste client tra entrambi i siti, in base alle regole definite.
Obiettivo tempo di recupero previsto
Questo è simile allo scenario in cui c'è un errore in tutti i server web su un sito,
L'aggiornamento DNS interessa i client la cui preferenza del criterio di indirizzamento è impostata sull'area non riuscita. Il valore TTL determina per quanto tempo questi client continueranno a utilizzare la vecchia voce prima di aggiornarla per puntare al sito in buono stato. Il tempo aggiuntivo (circa 1 minuto) dipende dalla frequenza e dal timeout dei controlli dello stato configurati nel criterio di indirizzamento Gestione traffico OCI (30 secondi sono stati utilizzati nel test per l'intervallo di controllo dello stato e un timeout di 10 secondi).
Quando si utilizza un load balancer globale (GLBR, global load balancer), il tempo di indisponibilità dipende dalla frequenza dei controlli dello stato configurati in GLBR. Non appena il GLBR contrassegna un pool come malsano, le richieste in entrata verranno reindirizzate all'altro sito. Con un GLBR, non c'è alcun aggiornamento DNS, quindi il valore TTL della voce front-end è irrilevante.
Gestisci errori nel database: switchover e failover Data Guard
La stringa dell'URL di Java Database Connectivity (JDBC) e la configurazione di Oracle Notification Service (ONS) fornita in precedenza in "Imposta origini dati WebLogic" garantiscono che la riconnessione venga eseguita automaticamente al nuovo database primario. Per questi test precisi (utilizzando Oracle Fusion Middleware (FMW) SOA FOD e anche con carichi di lavoro elevati di 160 richiami concorrenti), lo switchover o il failover del database richiede meno di un paio di minuti. Questa volta può variare in base alla configurazione del sistema e all'ambiente. Nei sistemi ottimizzati, i tempi di switchover di 1-5 minuti sono comuni, ma fattori come le dimensioni del sistema, le risorse, il carico di lavoro, la sincronizzazione dei redo log e le prestazioni della rete possono influire sulla durata totale. Consulta la sezione Esplora altro per i collegamenti alla documentazione di Oracle Data Guard e ad altre risorse.
Durante uno switchover o un failover del database si verificheranno errori dell'applicazione. Inoltre, i server WebLogic che utilizzano la migrazione del servizio possono essere arrestati e riavviati automaticamente da Node Manager se non sono in grado di aggiornare la tabella di leasing. Il comportamento previsto con i parametri di leasing predefiniti è:
- Se l'interruzione del database è molto breve (<1-2 minuti), non è previsto alcun riavvio automatico del server WebLogic.
- Se l'indisponibilità del database è più lunga (2-10 minuti), i server WebLogic possono riavviarsi automaticamente a causa della perdita di un leasing quando il database viene riavviato.
Il limite inferiore può essere aumentato eseguendo il tuning dei nuovi tentativi di leasing del database di WebLogic, come descritto in precedenza in "Configure Tuning WebLogic Database Leasing".
- Se l'indisponibilità del database è molto più lunga (>10 minuti), i server WebLogic possono riavviarsi automaticamente a causa di altri errori come la perdita dell'accesso alle aree di memorizzazione JDBC critiche ("l'area di memorizzazione JDBC di JTA non è disponibile").
Il diagramma seguente mostra lo switchover del database nella topologia dei cluster estesi FMW
stretched-clusters-db-switchover-oracle.zip
L'immagine riportata di seguito mostra le prestazioni delle richieste client e i messaggi JMS (Java Message Service) per coda server durante uno switchover del database in un cluster esteso FMW.
Recupera da errore
Dopo aver reso disponibili i server non riusciti:
- Ripristinare il database in errore se è stato eseguito un failover del database.
Questa azione non è necessaria se è stato eseguito uno switchover.
- Eseguire uno switchback del database al sito originale.
Obiettivo tempo di recupero previsto
Per i test eseguiti, lo switchover richiede meno di 2 minuti.
Per uno switchover o un failover non pianificato, il tempo di inattività totale dipende dal tempo di inattività del database:
- Se si esegue il failover o lo switchover del database quasi immediatamente, il tempo totale per il recupero è breve. Dipende dal tempo necessario al database per lo switchover o il failover. Per i test eseguiti, lo switchover richiede meno di 2 minuti, quindi il recovery time objective (RTO) previsto è il seguente:
RTO = DB DOWNTIME + SHORT TIME (1-2 min) - Se il tempo di inattività del database è più lungo, possono verificarsi errori aggiuntivi, come il riavvio automatico di Oracle WebLogic Server, che aumentano l'RTO. In questo caso la RTO prevista è:
RTO = DB DOWNTIME + WEBLOGIC START TIME
Gestire gli errori nel server di amministrazione WebLogic
Node Manager riavvierà automaticamente il server non riuscito in loco.
Tuttavia, è necessario eseguire il failover del server di amministrazione su un nodo diverso se un'interruzione interessa completamente l'host in cui viene eseguito il server di amministrazione.
In sostanza, questo consiste nel riavviare il server di amministrazione in un nodo diverso, assicurandosi che punti alla posizione che contiene la directory del dominio del server di amministrazione e che utilizzi un indirizzo di ascolto mappato all'IP virtuale appropriato (VIP).
Questa directory del dominio del server di amministrazione può essere una posizione di memorizzazione condivisa disponibile per nodi diversi nella stessa area o un ripristino da un backup o da una replica del file system resa disponibile per i nodi in un'area diversa.
Nota
Indipendentemente dalla configurazione del cluster estesa, si prevede che siano in atto le procedure di backup appropriate per il dominio Oracle WebLogic.Pertanto, in una topologia cluster estesa di Oracle Fusion Middleware (FMW), si applicano considerazioni diverse quando si esegue la migrazione del server di amministrazione a un nodo in un'area diversa rispetto a quando si esegue la migrazione a un nodo nella stessa area.
Il diagramma seguente mostra il failover del server di amministrazione sull'altro sito nel cluster esteso FMW
Failover in un'area diversa
Verificare che il server di amministrazione funzioni correttamente accedendo sia alla WebLogic Remote Console che a Oracle Enterprise Manager Fusion Middleware Control.
Failover nella stessa area
Pertanto, la procedura di failover è la stessa descritta in Enterprise Deployment Guide per il server di amministrazione, in Verifica del failover manuale del server di amministrazione.
Per gestire l'IP virtuale (VIP) del server di amministrazione nei sistemi Oracle Cloud Infrastructure (OCI), è possibile utilizzare i passi descritti nel blog Using a Virtual IP (VIP) in Oracle Cloud Infrastructure
Gestisci errore dell'intera area che ospita il database primario
Le istanze di Oracle WebLogic Server nel sito rimanente si riconnetteranno automaticamente al nuovo database primario se utilizzano la configurazione consigliata descritta nella sezione precedente.
Il load balancer del sito non riuscito restituirà una risposta non riuscita, pertanto la funzione di bilanciamento globale front-end deve contrassegnare il sito come in cattivo stato. Tutte le richieste del cliente, indipendentemente dalla loro preferenza, saranno indirizzate all'altro sito.
I servizi JMS e JTA WebLogic eseguiranno automaticamente la migrazione ai server nell'altro sito quando si utilizza la migrazione automatica del servizio insieme alle aree di memorizzazione persistenti JDBC. Nel caso di Oracle Fusion Middleware (FMW) Oracle SOA Suite, se il master del cluster di recupero automatico è ospitato nei server con errori, nel sito disponibile verrà generato un nuovo master del cluster. Il nuovo cluster manager eseguirà il recupero automatico delle istanze SOA avviate nell'altro sito.
Il diagramma seguente mostra il guasto dell'intera area 1 nella topologia dei cluster estesi FMW:
Recupera da errore
Dopo il recupero del sito non riuscito ed è nuovamente disponibile:
- Riavviare i processi negli host con errori: server HTTP Oracle, server di amministrazione WebLogic e server gestiti.
Assicurarsi che l'IP virtuale (VIP) del server di amministrazione sia impostato e che non esistano file isolati che impediscano l'avvio.
- Ripristinare il database in errore se è stato eseguito un failover del database.
Questa azione non è necessaria se è stato eseguito uno switchover.
- Eseguire uno switchover del database al sito originale.
Obiettivo tempo di recupero previsto
I server nel sito rimanente possono continuare a elaborare le richieste non appena il database viene nuovamente eseguito nel sito rimanente, quindi il tempo di inattività dipende dal tempo utilizzato prima di passare al database.
- Se si esegue il failover o lo switchover del database quasi immediatamente, il tempo totale per il recupero è breve. Dipende dal tempo necessario al database per lo switchover o il failover. Per il test eseguito, lo switchover richiede meno di 2 minuti, quindi l'RTO previsto è:
RTO = DB DOWNTIME + SHORT TIME (1-2 min). - Se il tempo di inattività del database è più lungo, possono verificarsi errori aggiuntivi, come il riavvio automatico di Oracle WebLogic Server, che aumentano l'RTO. L'RTO previsto è:
RTO = DB DOWNTIME + WEBLOGIC START TIME
Gestisci errore dell'intera area che ospita il database in standby
Tutte le richieste del client, indipendentemente dalle preferenze del sito, verranno instradate all'area 1, che continua a elaborare le richieste. I servizi JMS e JTA WebLogic eseguiranno automaticamente la migrazione ai server nel sito 1 quando si utilizza la migrazione automatica del servizio insieme alle aree di memorizzazione persistenti JDBC.
Nel caso Oracle Fusion Middleware (FMW) con Oracle SOA Suite, se il master del cluster di recupero automatico è ospitato nei server con errori, nel sito disponibile verrà generato un nuovo master del cluster. Questo server esegue il recupero automatico delle istanze SOA avviate nell'altro sito.
Non è necessario eseguire uno switchover del database poiché l'indisponibilità non influisce sul database primario.
Il diagramma seguente mostra l'errore dell'intera area 2 nella topologia dei cluster estesi FMW.
Recupera da errore
Dopo che il sito non riuscito sarà di nuovo disponibile, riavviare i processi negli host non riusciti per i server HTTP Oracle e i server gestiti WebLogic.
Assicurarsi che non siano presenti file isolati che impediscono l'avvio di WebLogic.
Grazie alla funzione di load balancer globale (criteri di indirizzamento per la gestione del traffico di Oracle Cloud Infrastructure o un load balancer globale), le richieste del client verranno ribilanciate tra i 2 siti.
Obiettivo tempo di recupero previsto
L'aggiornamento del DNS (Domain Name System) influisce sui client in cui l'area 2 è impostata come preferenza nel criterio di indirizzamento della geolocalizzazione. L'aggiornamento DNS interessa i client la cui preferenza del criterio di indirizzamento è impostata sull'area non riuscita. Il valore TTL determina per quanto tempo questi client continueranno a utilizzare la vecchia voce prima di aggiornarla per puntare al sito in buono stato. Il tempo aggiuntivo (circa 1 minuto) dipende dalla frequenza e dal timeout dei controlli dello stato configurati nel criterio di indirizzamento di gestione del traffico OCI (30 secondi sono stati utilizzati nel test precedente per l'intervallo di controllo dello stato e un timeout di 10 secondi).
Quando si utilizza un load balancer globale (GLBR, global load balancer), il tempo di indisponibilità dipende dalla frequenza dei controlli dello stato configurati in GLBR. Non appena il GLBR contrassegna un pool come malsano, le richieste in entrata verranno reindirizzate all'altro sito. Con un GLBR, non c'è alcun aggiornamento DNS, quindi il valore TTL della voce front-end è irrilevante.








