Buongiorno,
da qualche giorno sto ragionando su un problema di cui al momento non conosco la soluzione .
Mi servirebbe quindi il vostro aiuto .
Ho 2 infrastrtutture di rete identiche, una la copia dell'altra.
La prima ha esposti su Internet dei web server che si appoggiano ad un cluster Oracle.Prendiamone uno come riferimento
Nel caso in cui questo web server (comunque ridondato) dovesse morire , il servizio dovrebbe essere erogato dal corrispondente web server della 2a infrastruttura localizzata in un altro luogo.
I problemi sono 2 :
1) come fare a far erogare il servizio da web server della 2a struttura
2) Come permettere la sincronizzazione dei dati dei cluster oracle nelle due strutture ??.
Il funzionamento delle infrastrutture deve essere un "classico" failover.
Alla morte del web server da una parte , deve essere attivo il medesimo web server della seconda infrastruttura , tutto in maniera trasparente per chi cerca di usufruire del servizio.
Spero di essere stato chiaro.
Non credo che al livello del Dns del provider si possa fare qualcosa.
Attendo ipotesi e grazie in anticipo
Ps: Zot .. se ci sei ... batti un colpo
Implementazione infrastruttura per continuità Web Server
Moderatore: Federico.Lagni
-
- Cisco fan
- Messaggi: 50
- Iscritto il: sab 19 lug , 2008 11:28 am
- Contatta:
Ciao,
per la parte di Oracle non so cosa dirti, non conosco il prodotto, anche se sono abbastanza certo che si possano realizzare configurazioni di replica come su mySql o SQL Server. Queste ti permettono di avere delle copie dei dati aggiornate in tempo reale tra i due DB server.
Per la parte dei web server, la prima cosa che mi viene in mente è un DNS configurato in round-robin che risolva una volta un IP, una volta l'altro, però se dici che a livello di DNS si può fare poco...
Un'idea potrebbe essere quella di mettere in campo dei load-balancer, o di utilizzare (se disponibile) la feature Server Load Balancing di IOS (http://www.cisco.com/en/US/docs/ios/12_ ... bsxf1.html).
Ti faccio un esempio di come funziona con SLB: l'IOS del router eletto a fare da balancer si virtualizza un IP, che sarà l'IP da far risolvere al DNS. A questo IP virtuale l'IOS associa un concetto di "serverfarm", ovvero un gruppo di server reali che espongono il servizio. Quando l'IOS riceve una richiesta per IP_VIRTUALE:80 la smista tra i server di una serverfarm che risultano essere vivi. Quando uno di questi server muore, lo toglie dalla lista, in modo che le successive richieste vengano dirottate direttamente verso i server vivi.
Ora perdonami, il cervello è a metà regime
, ma tra la nebbia della domenica pomeriggio mi sembra di vedere la necessità di tirar su una VPN tra le due reti e far sì che il server nella sede B (sede A è quella risolta dal DNS) abbia il load-balancer come default gateway.
Soprattutto, se non puoi lavorare sul DNS, ti si trasla un grande point-of-failure: se l'host è sempre risolto con l'IP di una sede, tutta la tua architettura sarà legata alla bontà dell'uplink della sede stessa.
Tra la nebbia scorgo anche un'ipotesi di multi-homing... ma oggi questa nebbia è veramente fitta!
spero di non aver detto tante cavolate! 
per la parte di Oracle non so cosa dirti, non conosco il prodotto, anche se sono abbastanza certo che si possano realizzare configurazioni di replica come su mySql o SQL Server. Queste ti permettono di avere delle copie dei dati aggiornate in tempo reale tra i due DB server.
Per la parte dei web server, la prima cosa che mi viene in mente è un DNS configurato in round-robin che risolva una volta un IP, una volta l'altro, però se dici che a livello di DNS si può fare poco...
Un'idea potrebbe essere quella di mettere in campo dei load-balancer, o di utilizzare (se disponibile) la feature Server Load Balancing di IOS (http://www.cisco.com/en/US/docs/ios/12_ ... bsxf1.html).
Ti faccio un esempio di come funziona con SLB: l'IOS del router eletto a fare da balancer si virtualizza un IP, che sarà l'IP da far risolvere al DNS. A questo IP virtuale l'IOS associa un concetto di "serverfarm", ovvero un gruppo di server reali che espongono il servizio. Quando l'IOS riceve una richiesta per IP_VIRTUALE:80 la smista tra i server di una serverfarm che risultano essere vivi. Quando uno di questi server muore, lo toglie dalla lista, in modo che le successive richieste vengano dirottate direttamente verso i server vivi.
Ora perdonami, il cervello è a metà regime

Soprattutto, se non puoi lavorare sul DNS, ti si trasla un grande point-of-failure: se l'host è sempre risolto con l'IP di una sede, tutta la tua architettura sarà legata alla bontà dell'uplink della sede stessa.

Tra la nebbia scorgo anche un'ipotesi di multi-homing... ma oggi questa nebbia è veramente fitta!


-
- Cisco power user
- Messaggi: 101
- Iscritto il: mer 25 ott , 2006 7:32 am
Innanzi tutto grazie per le idee.pierky ha scritto: Per la parte dei web server, la prima cosa che mi viene in mente è un DNS configurato in round-robin che risolva una volta un IP, una volta l'altro, però se dici che a livello di DNS si può fare poco...
Un'idea potrebbe essere quella di mettere in campo dei load-balancer, o di utilizzare (se disponibile) la feature Server Load Balancing di IOS (http://www.cisco.com/en/US/docs/ios/12_ ... bsxf1.html).
Ti faccio un esempio di come funziona con SLB: l'IOS del router eletto a fare da balancer si virtualizza un IP, che sarà l'IP da far risolvere al DNS. A questo IP virtuale l'IOS associa un concetto di "serverfarm", ovvero un gruppo di server reali che espongono il servizio. Quando l'IOS riceve una richiesta per IP_VIRTUALE:80 la smista tra i server di una serverfarm che risultano essere vivi. Quando uno di questi server muore, lo toglie dalla lista, in modo che le successive richieste vengano dirottate direttamente verso i server vivi.
Ora perdonami, il cervello è a metà regime, ma tra la nebbia della domenica pomeriggio mi sembra di vedere la necessità di tirar su una VPN tra le due reti e far sì che il server nella sede B (sede A è quella risolta dal DNS) abbia il load-balancer come default gateway.
Soprattutto, se non puoi lavorare sul DNS, ti si trasla un grande point-of-failure: se l'host è sempre risolto con l'IP di una sede, tutta la tua architettura sarà legata alla bontà dell'uplink della sede stessa.![]()
Tra la nebbia scorgo anche un'ipotesi di multi-homing... ma oggi questa nebbia è veramente fitta!spero di non aver detto tante cavolate!
1) Allora per quanto riguarda i Load Balancer, era l'idea che era venuta anche a me . Eventulamente quale appliance usare ?
2) Volendo utilizzare lo Ios consiudera pero' che io non devo fare un vero e proprio Load Balancing ma un Failover.
Mi spiego meglio , l'utente internet cerca di accedere all'IpA del sito, il sito non è raggiungibile perchè la server farm associata all'Ip reale per qualche motivo è tagliata fuori.
Qualche struttura dovrebbe ridirezionare la richiesta dell'utente alla 2a server farm (copia della prima) che pur essendo attiva non era raggiungibile attraverso l'ip pubblico, mentre adesso deve essere lei a rispondere.
Prima questa seconda strttura doveva essere "dormiente" ed ora deve attivarsi.
3) Cosè il multi-homing... ?????
-
- Network Emperor
- Messaggi: 260
- Iscritto il: sab 06 dic , 2008 11:36 am
Ciao,
non sono utente Oracle, ma cercando con Google trovo diverse possibilità. Oracle support l'alta disponibilità con compeonenti come Oracle Data Guard o Oracle Streams (trovi tutti i documenti sulla pagina Oracle HA. Data Guard è la soluzione più semplice, e prevede un database attivo e più database standby. Streams è più sofisticato e ti permette di fare parecchie cose, comprese varie configurazioni con più nodi attivi.
È chiaro che bisogna avere un modo per comunicare a Oracle quando si vuole fare il failover. Alcuni vendor ti danno dei pacchetti già pronti (ad es. Sun Cluster Geographic Edition); altrimenti devi usare il broker e preparare una ricetta adeguata in casa.
Per quanto riguarda il web server, se i tuoi provider non sono collaborativi, la soluzione DNS consiste probabilmente nel gestirsi il DNS server in casa e mettere più record in round-robin, per distribuire il carico tra le sedi, come diceva pierky, oppure usare dei TTL bassi e far cambiare gli IP a suon di script quando ce n'è la necessità. (Temo che instradare il traffico su VPN, così come il load balancing, non offra vantaggi aggiuntivi, lasci il single point of failure e ti dia il duplice svantaggio di aumentare la latenza e di impegnare banda, quando una replica database potrebbe già rubartene una certa quantità.)
Altrimenti c'è la soluzione BGP, però devi comprarti il tuo sistema autonomo e metterti d'accordo con i provider. Se non ti offrono un servizio DNS sensato, è probabile che non ti offrano BGP nemmeno per scherzo…
Ciao!
non sono utente Oracle, ma cercando con Google trovo diverse possibilità. Oracle support l'alta disponibilità con compeonenti come Oracle Data Guard o Oracle Streams (trovi tutti i documenti sulla pagina Oracle HA. Data Guard è la soluzione più semplice, e prevede un database attivo e più database standby. Streams è più sofisticato e ti permette di fare parecchie cose, comprese varie configurazioni con più nodi attivi.
È chiaro che bisogna avere un modo per comunicare a Oracle quando si vuole fare il failover. Alcuni vendor ti danno dei pacchetti già pronti (ad es. Sun Cluster Geographic Edition); altrimenti devi usare il broker e preparare una ricetta adeguata in casa.
Per quanto riguarda il web server, se i tuoi provider non sono collaborativi, la soluzione DNS consiste probabilmente nel gestirsi il DNS server in casa e mettere più record in round-robin, per distribuire il carico tra le sedi, come diceva pierky, oppure usare dei TTL bassi e far cambiare gli IP a suon di script quando ce n'è la necessità. (Temo che instradare il traffico su VPN, così come il load balancing, non offra vantaggi aggiuntivi, lasci il single point of failure e ti dia il duplice svantaggio di aumentare la latenza e di impegnare banda, quando una replica database potrebbe già rubartene una certa quantità.)
Altrimenti c'è la soluzione BGP, però devi comprarti il tuo sistema autonomo e metterti d'accordo con i provider. Se non ti offrono un servizio DNS sensato, è probabile che non ti offrano BGP nemmeno per scherzo…

Ciao!
-
- Cisco power user
- Messaggi: 101
- Iscritto il: mer 25 ott , 2006 7:32 am
Grazie anche a te.ep ha scritto:Ciao,
non sono utente Oracle, ma cercando con Google trovo diverse possibilità. Oracle support l'alta disponibilità con compeonenti come Oracle Data Guard o Oracle Streams (trovi tutti i documenti sulla pagina Oracle HA. Data Guard è la soluzione più semplice, e prevede un database attivo e più database standby. Streams è più sofisticato e ti permette di fare parecchie cose, comprese varie configurazioni con più nodi attivi.
È chiaro che bisogna avere un modo per comunicare a Oracle quando si vuole fare il failover. Alcuni vendor ti danno dei pacchetti già pronti (ad es. Sun Cluster Geographic Edition); altrimenti devi usare il broker e preparare una ricetta adeguata in casa.
Per quanto riguarda il web server, se i tuoi provider non sono collaborativi, la soluzione DNS consiste probabilmente nel gestirsi il DNS server in casa e mettere più record in round-robin, per distribuire il carico tra le sedi, come diceva pierky, oppure usare dei TTL bassi e far cambiare gli IP a suon di script quando ce n'è la necessità. (Temo che instradare il traffico su VPN, così come il load balancing, non offra vantaggi aggiuntivi, lasci il single point of failure e ti dia il duplice svantaggio di aumentare la latenza e di impegnare banda, quando una replica database potrebbe già rubartene una certa quantità.)
Altrimenti c'è la soluzione BGP, però devi comprarti il tuo sistema autonomo e metterti d'accordo con i provider. Se non ti offrono un servizio DNS sensato, è probabile che non ti offrano BGP nemmeno per scherzo…
Ciao!
Per il problema Oracle ok
Ma per il problema Web Server non si puo usare il round robin proprio perchè solo quando la farm della 1a struttura fallisce bisogna attivare la farm della seconda e solo in quel caso .
2) In che modo si potrebbe sfruttura il Dns del provider, questo controllerebbe solo il funzionamento del suo router con Ip pubblico e solo in caso questo morisse ridirezionerebbe il traffico verso un altro Ip pubblico relativo alla 2a farm.
Ma come fa il provider a capire se la 1a farm non funziona perchè le macchine si sono tutte spente ?
Spero di non dire cavolate , magari non so come funziona il Dns del provider.
Ciao
-
- Network Emperor
- Messaggi: 260
- Iscritto il: sab 06 dic , 2008 11:36 am
È quello che intendo con "far cambiare gli IP a suon di script". Una soluzione potenziale è questa:thehawk ha scritto: 2) In che modo si potrebbe sfruttura il Dns del provider, questo controllerebbe solo il funzionamento del suo router con Ip pubblico e solo in caso questo morisse ridirezionerebbe il traffico verso un altro Ip pubblico relativo alla 2a farm.
Ma come fa il provider a capire se la 1a farm non funziona perchè le macchine si sono tutte spente ?
1. chiedi al provider di delegare ai tuoi DNS la gestione del tuo dominio, e installi un server DNS nella server farm 1 ed un altro server DNS nella server farm 2;
2. dai a www.tuodominio.it un TTL basso, facendolo puntare all'IP pubblico che desideri nella farm 1;
3. nella server farm 2, fai girare qualcosa che controlli periodicamente con ping e con richieste HTTP la disponibilità del router presso la farm 1 e dei servizi web. Quando smettono di funzionare, questo software (anche un semplice script) deve:
3.1. cambiare la zona DNS mettendo l'IP pubblico che desideri presso la farm 2 al posto di quello della farm 1;
3.2. se c'è ancora qualcosa di raggiungibile presso la 1, tentare di spiegare a Oracle che deve andare in standby e tentare di spiegare al server DNS il cambiamento;
3.3 spiegare a Oracle presso la propria farm, cioè la farm 2, che deve assumere il ruolo di active.
Non è una cosa complicata, ma bisogna stare decisamente attenti ai dettagli e testare bene la soluzione che si sviluppa.
Ciao!
-
- Cisco power user
- Messaggi: 101
- Iscritto il: mer 25 ott , 2006 7:32 am
Ok, invece cosa mi dici dell'utilizzo deI Load Balancer Hardware ? qualcuno sa come funzionano in Failover Mode ??.ep ha scritto:È quello che intendo con "far cambiare gli IP a suon di script". Una soluzione potenziale è questa:thehawk ha scritto: 2) In che modo si potrebbe sfruttura il Dns del provider, questo controllerebbe solo il funzionamento del suo router con Ip pubblico e solo in caso questo morisse ridirezionerebbe il traffico verso un altro Ip pubblico relativo alla 2a farm.
Ma come fa il provider a capire se la 1a farm non funziona perchè le macchine si sono tutte spente ?
1. chiedi al provider di delegare ai tuoi DNS la gestione del tuo dominio, e installi un server DNS nella server farm 1 ed un altro server DNS nella server farm 2;
2. dai a www.tuodominio.it un TTL basso, facendolo puntare all'IP pubblico che desideri nella farm 1;
3. nella server farm 2, fai girare qualcosa che controlli periodicamente con ping e con richieste HTTP la disponibilità del router presso la farm 1 e dei servizi web. Quando smettono di funzionare, questo software (anche un semplice script) deve:
3.1. cambiare la zona DNS mettendo l'IP pubblico che desideri presso la farm 2 al posto di quello della farm 1;
3.2. se c'è ancora qualcosa di raggiungibile presso la 1, tentare di spiegare a Oracle che deve andare in standby e tentare di spiegare al server DNS il cambiamento;
3.3 spiegare a Oracle presso la propria farm, cioè la farm 2, che deve assumere il ruolo di active.
Non è una cosa complicata, ma bisogna stare decisamente attenti ai dettagli e testare bene la soluzione che si sviluppa.
Ciao!
-
- Cisco fan
- Messaggi: 50
- Iscritto il: sab 19 lug , 2008 11:28 am
- Contatta:
Il multi-homing ti permette di annunciare una stessa subnet di IP pubblici su due collegamenti differenti, per avere ridondanza. Serve il BGP. Può essere sviluppato in due modalità: stesso provider o provider differente.thehawk ha scritto:[cut]
3) Cosè il multi-homing... ?????
Il primo caso vede due collegamenti verso lo stesso ISP, su cui viene annunciata la stessa subnet; il vantaggio è che non ti serve un AS pubblico, ma si può fare con AS privati, lo svantaggio è che la ridondanza ce l'hai soltanto a livello di link (ovvero, se si spegne il provider fine dei giochi).
Nel secondo caso i due collegamenti sono verso provider differenti: ti serve un AS pubblico (e qui giù rogne a non finire!) però, se si spegne il provider principale, la tua rete resta raggiungibile tramite il provider secondario.
Allo stato attuale vedo la soluzione di ep sicuramente vincente.
Così, per giocare, pensando a voce alta... un multihoming verso lo stesso ISP, con la stessa subnet pubblica configurata contemporaneamente sulle due server farm, annunciata con priorità sulla serverfarm principale. Una subnet di servizio per ogni sede; una VPN tra le subnet private delle due sedi per i dati dei DB. Se si spegne la farm principale va giù il peering BGP e l'ISP gira la subnet sulla secondaria e lì ci trovi altri server con le stesse accoppiate { IP-pubblico, servizio-esposto } della principale.
Per quanto riguarda la modalità active-standby, credo l'SLB non la gestisca; bisogna andare sugli ACE ma qui parliamo dei 6500...
-
- Network Emperor
- Messaggi: 260
- Iscritto il: sab 06 dic , 2008 11:36 am
Purtroppo vale sempre ciò che ha scritto prima pierky. Un load balancer situato presso la farm 1 non ti sarà di alcun aiuto, da solo, quando la farm 1 va giù; ci vorrà sempre qualche elemento a livello di DNS o di routing IP perché i tuoi utenti "vedano" la farm 2.thehawk ha scritto:Ok, invece cosa mi dici dell'utilizzo deI Load Balancer Hardware ? qualcuno sa come funzionano in Failover Mode ??.
Ciao!
-
- Cisco power user
- Messaggi: 101
- Iscritto il: mer 25 ott , 2006 7:32 am
Io credo che pero' la soluzione con 2 Ace possa risolvere il problema (DITEMI SE SBAGLIO), 1 Ace sulla 1a struttura ed il 2° sulla seconda strttura di modo che entrambi possano controllare lo stato della farm ed eventualmente forwardare il traffico alla struttura funzionante .ep ha scritto:Purtroppo vale sempre ciò che ha scritto prima pierky. Un load balancer situato presso la farm 1 non ti sarà di alcun aiuto, da solo, quando la farm 1 va giù; ci vorrà sempre qualche elemento a livello di DNS o di routing IP perché i tuoi utenti "vedano" la farm 2.thehawk ha scritto:Ok, invece cosa mi dici dell'utilizzo deI Load Balancer Hardware ? qualcuno sa come funzionano in Failover Mode ??.
Ciao!
Comunque vi ringrazio infinitamente per il vostro aiuto , comincio ad approfondire quanto da voi riportato e soprattutto il funzionamento degli Ace.
Grazie ancora, e se vi vengono altre idee.... io sono tutto orecchie.....
-
- Network Emperor
- Messaggi: 260
- Iscritto il: sab 06 dic , 2008 11:36 am
Se non ho capito male, l'ACE GSS fa esattamente il lavoro che ho descritto sopra con i DNS (oltre ad avere molte altre funzioni, ovviamente, che cambiano anche a seconda del software che compri).thehawk ha scritto:Io credo che pero' la soluzione con 2 Ace possa risolvere il problema (DITEMI SE SBAGLIO), 1 Ace sulla 1a struttura ed il 2° sulla seconda strttura di modo che entrambi possano controllare lo stato della farm ed eventualmente forwardare il traffico alla struttura funzionante .
Da una parte ti fornisce un wizard web per la configurazione, dall'altra il lavoro di testing/tuning bisogna farlo lo stesso e credo che non venga esattamente regalato

Ciao!
- zot
- Messianic Network master
- Messaggi: 1274
- Iscritto il: mer 17 nov , 2004 1:13 am
- Località: Teramo
- Contatta:
Ti devo qualcosa???thehawk ha scritto:.....
Ps: Zot .. se ci sei ... batti un colpo

Prevedere l'erogazione dello stesso serzivio su due siti geograficamente distanti,e' un'esigenza di pochi....tipo se arriva un terremoto devastante e quel servizio salva la vita a qualcuno o se produce milioni di euro al giorno...
Sono certo (anche se non l'ho mai fatto)che ci sono versioni di oracle che permettono clusterizzazione in failover anche su siti distanti.
Se l'accrocco gira su microzozz ed hai versione enterprise lo puoi fare con cluster MSCS.
Il problema fondamentalmente e' il DNS.
Per quello devi per forza gestirtelo tu ed andare a suon di script...e comunque e' cosa abbastanza intricata...se fai una ricerca con "DNS failover" ti renderai conto che non c'e' una soluzione definitiva...
La piu' elegante e probabilmente efficente e' BGP...coi pro e i contro che ti hanno gia' detto.
-
- Cisco power user
- Messaggi: 101
- Iscritto il: mer 25 ott , 2006 7:32 am
Grazie grazie, chiedevo il tuo aiuto per l'aurevolezza dei tuoi consiglizot ha scritto:Ti devo qualcosa???thehawk ha scritto:.....
Ps: Zot .. se ci sei ... batti un colpo![]()
Prevedere l'erogazione dello stesso serzivio su due siti geograficamente distanti,e' un'esigenza di pochi....tipo se arriva un terremoto devastante e quel servizio salva la vita a qualcuno o se produce milioni di euro al giorno...
Sono certo (anche se non l'ho mai fatto)che ci sono versioni di oracle che permettono clusterizzazione in failover anche su siti distanti.
Se l'accrocco gira su microzozz ed hai versione enterprise lo puoi fare con cluster MSCS.
Il problema fondamentalmente e' il DNS.
Per quello devi per forza gestirtelo tu ed andare a suon di script...e comunque e' cosa abbastanza intricata...se fai una ricerca con "DNS failover" ti renderai conto che non c'e' una soluzione definitiva...
La piu' elegante e probabilmente efficente e' BGP...coi pro e i contro che ti hanno gia' detto.
- zot
- Messianic Network master
- Messaggi: 1274
- Iscritto il: mer 17 nov , 2004 1:13 am
- Località: Teramo
- Contatta:
troppo buono.... 
