Tempo di Lettura: 8 minuti
l’Alta disponibilità, la descrizione di un sistema progettato per essere fault-tolerant, altamente affidabile, funziona continuamente, senza l’intervento, o di avere un singolo punto di errore. Questi sistemi sono molto ricercati per aumentare la disponibilità e l’uptime necessari per mantenere un’infrastruttura in esecuzione senza problemi. Le seguenti caratteristiche definiscono un sistema ad alta disponibilità.
- High Availability Clustering
- la tolleranza di Errore
- Affidabilità e affidabilità
- Gestione orchestrata degli errori
- Scalabilità
- Disponibilità& Cinque 9 di Uptime
- Heartbeat
- Architettura cluster
- Engineered Availability
- Distribuzione semplice
- Best Practices Obiettivi
- Design
- Disponibilità
- Deployment
- Valutazione& Test
- Replicazione
- Monitoraggio& Monitoraggio
- Conclusione
High Availability Clustering
High-Availability server clusters (aka HA Clusters) è definito come un gruppo di server che supportano applicazioni o servizi che possono essere utilizzati in modo affidabile con una quantità minima di downtime. Questi cluster di server funzionano utilizzando un tipo di software specializzato che utilizza la ridondanza per raggiungere livelli mission-critical di uptime di five9. Attualmente, circa il 60% delle imprese richiede cinque9 o superiore per fornire servizi vitali per le loro imprese.
Il software ad alta disponibilità sfrutta il software ridondante installato su più sistemi raggruppando o raggruppando insieme un gruppo di server concentrandosi su un obiettivo comune nel caso in cui i componenti falliscano. Senza questa forma di clustering, se l’applicazione o il sito Web si blocca, il servizio non sarà disponibile fino a quando i server non vengono riparati. Il clustering HA risolve queste situazioni rilevando i guasti e riavviando o sostituendo rapidamente il server o il servizio o il server con un nuovo processo che non richiede l’intervento umano. Questo è definito come un modello di “failover”.
L’illustrazione seguente mostra un semplice cluster ad alta disponibilità a due nodi.
I cluster ad alta disponibilità sono spesso utilizzati per database mission-critical, condivisione dei dati, applicazioni e siti Web di e-commerce distribuiti su una rete. Le implementazioni ad alta disponibilità creano ridondanza all’interno di un cluster per rimuovere qualsiasi singolo punto di errore, anche su più connessioni di rete e archiviazione dei dati, che possono essere collegati in modo ridondante tramite reti di storage geograficamente diverse.
I server cluster ad alta disponibilità di solito utilizzano una metodologia di replica chiamata Heartbeat che viene utilizzata per monitorare lo stato e l’integrità di ciascun nodo all’interno del cluster tramite una connessione di rete privata. Una circostanza critica che tutti i software di clustering devono essere in grado di affrontare è chiamata split-brain, che si verifica quando tutti i collegamenti interni privati scendono simultaneamente, ma i nodi nel cluster continuano a funzionare. Se ciò si verifica, ogni nodo all’interno del cluster potrebbe determinare in modo errato che tutti gli altri nodi sono andati giù e tentare di avviare servizi che altri nodi potrebbero essere ancora in esecuzione. Questa condizione di istanze duplicate che eseguono servizi simili, che potrebbe causare il danneggiamento dei dati sul sistema.
Una versione tipica di elevata disponibilità di software fornisce attributi che includono sia hardware che software di ridondanza. Queste caratteristiche includono:
- Il rilevamento automatico e la scoperta di componenti hardware e software.
- Assegnazione autonoma di ruoli attivi e contingenti a nuovi elementi.
- Rilevamento di servizi software guasti, componenti hardware e altri costrutti di sistema.
- Monitoraggio e notifica dei componenti ridondanti e quando devono essere attivati.
- Possibilità di scalare il cluster per soddisfare le modifiche richieste senza intervento esterno.
la tolleranza di Errore
La tolleranza di errore è definita come la capacità di un sistema di infrastrutture al fine di prevedere e di resistere errori e fornire una risposta automatica a questi problemi se incontrate. La qualità primaria di questi sistemi è fattori di progettazione avanzati, che possono essere chiamati se si verifica un problema. Essere in grado di configurare un’infrastruttura che prevede ogni possibile soluzione è un compito considerevole che coinvolge la conoscenza e l’esperienza per contrastare le molteplici preoccupazioni prima che si verifichino. Gli architetti di sistema che progettano tali framework avranno le metodologie che prevedono i mezzi per alleviare questi problemi in anticipo e la capacità di implementare questi framework.
Le seguenti metodologie di ridondanza sono disponibili e dovrebbero essere riviste durante le fasi iniziali di progettazione e implementazione.
- Modello N + 1-Questo concetto deduce la somma delle apparecchiature necessarie (che chiameremo ‘N‘) per mantenere l’intero framework attivo e funzionante, con un backup aggiuntivo di componenti indipendenti per ciascuno dei componenti’ N’ in caso di guasto.
- Modello N + 2-Simile al modello N + 1 ma con un ulteriore livello di protezione in caso di guasto di due componenti.
- Modello 2N-Questa modalità ha un doppio backup ridondante per ogni elemento per garantire che il framework del sistema sia completamente funzionale.
- Modello 2N + 1-Ancora una volta, questo modello è simile al modello 2N ma con un componente supplementare per aggiungere un livello terziario di protezione al framework del sistema.
Man mano che i modelli avanzano da Nx a 2Nx, il fattore costo aumenta esponenzialmente anche per i sistemi veramente ridondanti che richiedono uptime. Queste modalità sono fondamentali per la stabilità e la disponibilità.
Affidabilità e affidabilità
Uno dei tenant centrali di un sistema ad alta disponibilità è uptime. L’uptime è di primaria importanza, soprattutto se lo scopo di un sistema è quello di fornire un servizio essenziale come i sistemi 911 che rispondono a situazioni emergenti. Nel mondo degli affari, è necessario disporre di un sistema di alta disponibilità per garantire che un servizio vitale rimanga online. Un esempio potrebbe essere un ISP o un altro servizio che non può tollerare una perdita di funzione. Questi sistemi devono essere progettati con elevata disponibilità e tolleranza ai guasti per garantire affidabilità e disponibilità riducendo al minimo i tempi di inattività.
Gestione orchestrata degli errori
Se si verifica un errore, il sistema si adatterà e compenserà il problema rimanendo attivo e online. Costruire questo tipo di sistema richiede accortezza e pianificazione per l’imprevisto. Essere in grado di prevedere i problemi in anticipo e pianificare la loro risoluzione è una delle principali qualità di un sistema ad alta disponibilità.
Scalabilità
Se il sistema incontra un problema come un picco di traffico o un aumento dell’utilizzo delle risorse, la capacità del sistema di scalare per soddisfare tali esigenze dovrebbe essere automatica e immediata. La creazione di funzionalità come queste nel sistema fornirà la capacità del sistema di rispondere rapidamente a qualsiasi cambiamento nella funzionalità sistemica dei processi delle architetture.
Disponibilità& Cinque 9 di Uptime
Cinque 9 di è lo standard del settore di misura di uptime. Questa misurazione può essere correlata al sistema stesso, ai processi del sistema all’interno di un framework o al programma che opera all’interno di un’infrastruttura. Questa stima è spesso correlata al programma consegnato ai clienti nel modulo o un sito web o un’applicazione web. Una disponibilità di sistemi può essere misurata come la percentuale di tempo che i sistemi sono disponibili utilizzando questa equazione: x = (n-y) * 100/n. Questa formula indica che dove “n” è la quantità totale di minuti entro un mese di calendario e “y” è la quantità di minuti che il servizio è inaccessibile entro un mese di calendario. La tabella seguente delinea i tempi di inattività relativi alla percentuale di “9” rappresentata.
Come possiamo vedere, maggiore è il numero di “9”, maggiore è il tempo di attività. L’obiettivo di un sistema ad alta disponibilità è quello di raggiungere una quantità minima di potenziali tempi di inattività per garantire che il sistema sia sempre disponibile per fornire i servizi designati.
Heartbeat
Uno dei principali componenti ad alta disponibilità è chiamato Heartbeat. Heartbeat è un demone che funziona con un software di gestione cluster come Pacemaker progettato specificamente per la gestione delle risorse di clustering ad alta disponibilità. Le sue caratteristiche più importanti sono:
- Nessun numero massimo specifico o fisso di nodi – Heartbeat può essere utilizzato per costruire grandi cluster così come quelli elementari.
- Monitoraggio delle risorse: le risorse possono essere riavviate automaticamente o spostate in un altro nodo in caso di errore.
- Un meccanismo di scherma necessario per rimuovere i nodi non riusciti dal cluster.
- Una raffinata gestione delle risorse basata su criteri, interdipendenze delle risorse e vincoli.
- Una regola basata sul tempo impostata per consentire politiche diverse a seconda di un lasso di tempo definito.
- Un gruppo di script di risorse (per software come Apache, DB2, Oracle, PostgreSQL, ecc.) incluso gestione più granulare.
- Una GUI per la configurazione, il controllo e il monitoraggio di risorse e nodi.
Architettura cluster
Engineered Availability
Il primo segmento di un sistema altamente disponibile è l’utilizzo chiaramente progettato di server applicativi cluster progettati in anticipo per distribuire il carico tra l’intero cluster, che include la possibilità di failover su un sistema secondario ed eventualmente terziario.
La seconda divisione include la necessità di scalabilità del database. Ciò comporta la necessità di ridimensionare, orizzontalmente o verticalmente, utilizzando la replica master multipla e un sistema di bilanciamento del carico per migliorare la stabilità e il tempo di attività del database.
La terza caratteristica è la diversità geografica. Questo assicura che se un disastro naturale colpire una singola localizzazione, che il fallimento non ostacolerà la capacità di fornire il servizio.
Il quarto e forse più importante componente è quello di fornire una replica di backup e la metodologia di disaster recovery. La capacità di garantire un backup funzionante garantisce che i nostri dati siano al sicuro. L’utilizzo della strategia di backup più recente (3-2-3) indica che è necessario disporre di tre copie dei dati, su due tipi di supporti diversi, in tre posizioni offsite geograficamente diverse per il ripristino di emergenza.
Distribuzione semplice
Quando si discute il tema delle distribuzioni semplici, devono essere mappate in modo specifico ai requisiti aziendali specifici. I seguenti tratti andranno a beneficio del nostro quadro operativo indipendentemente dal settore verticale:
- Modesto Requisiti di Formazione
- Aumento della Produttività
- lunga durata
- Costo-Efficacia
- l’Efficienza Operativa
- Rapida Attuazione
- Riduzione dei Rischi per la Sicurezza
- Semplice Integrazione
- Gestione Semplificata
Questi sono gli elementi che caratterizzano molti degli aspetti primari necessari per garantire un elevato standard di affidabilità e fault-tolerant, soluzione di clustering. L’alta disponibilità, al suo interno, dovrebbe essere progettata tenendo conto di queste caratteristiche. Funzionalità come queste sono tangibili chiave che sono risorse necessarie quando si adottano opzioni di distribuzione.
Best Practices Obiettivi
Design
L’obiettivo primario di qualsiasi elevata disponibilità di best practice obiettivo è l’ottimale progettazione, installazione, implementazione, integrazione, e l’adesione a una convenzione standard, al minor costo possibile e con la minima complessità, raggiungendo lo ha dichiarato mirare a obiettivi di eliminare ogni singolo punto di errore di sistema.
Disponibilità
In primo luogo, un obiettivo determinato deve essere definito prima della progettazione del sistema. Ciò include la determinazione dell’obiettivo del punto di recupero (RPO). L’RPO è la più grande quantità di tempo di inattività che la vostra azienda è disposta a perdere durante un’interruzione importante. L’hardware, il software e i servizi aggiuntivi HA dovrebbero tutti avere un RPO definito e testato.
Deployment
Successivamente, il sistema dovrebbe essere costruito con l’hardware più robusto e conveniente disponibile. Questo include sistemi che sono resistenti alle interruzioni di corrente e guasti hardware, che coprono tutto, dai dischi rigidi, componenti di rete, il sistema operativo, e l’applicazione stessa che comprende l’intero stack software.
Valutazione& Test
Una volta costruito il sistema, un perno di collegamento integrale sta testando il nostro sistema di destinazione per garantire che il sistema di failover sia pronto per passare se la sorgente fallisce. Ciò richiede la preparazione di configurazioni di rete, server, software di replica sincrona in tempo reale e switch per la transizione dall’elaborazione della produzione di origine al sistema di destinazione che elabora il passaggio in un momento. Questo metodo utilizzato in questo scenario è noto come sistema “hot standby”. Inoltre, ciò include l’impostazione di un programma di test irreggimentato poiché il sistema viene nuovamente testato regolarmente.
Replicazione
Garantire un’iterazione riproducibile e ripetibile dell’intero stack software su più regioni è la chiave per la durabilità costante, la deliverability e la solidità del framework applicativo. L’altra area di servizio significativa è il segmento hardware replicabile, che integra i framework software e di monitoraggio. Poter contare su una metodologia di duplicazione dedicata è fondamentale per garantire un sistema completamente fault-tolerant e affidabile.
Monitoraggio& Monitoraggio
Infine, il monitoraggio continuo, la valutazione e l’osservazione dovrebbero essere strettamente regolati per garantire il raggiungimento degli obiettivi di prestazione. Qualsiasi deviazione dalla norma dovrebbe essere studiata e valutata per determinare l’impatto che la varianza ha sul sistema. Una volta che tale disposizione è stata stabilita, un’analisi di follow-up dovrebbe essere effettuata se eventuali modifiche devono essere attuate per includere la regolazione o le modifiche necessarie per portare il sistema in un nuovo stato stabile.
Conclusione
L’obiettivo primario di un sistema ad alta disponibilità è prevenire ed eliminare tutti i singoli punti di guasto. Questo dovrebbe includere più piani d’azione che sono stati testati e in atto, pronti a reagire in modo indipendente e immediatamente a tutti i disturbi di servizio, interruzioni e guasti. Ciò include irregolarità hardware, software e applicazioni. L’eliminazione dei tempi di inattività può essere realizzata con la pianificazione e l’implementazione di un sistema composta e qualificata. È necessario un occhio critico per prevedere e prepararsi a qualsiasi evento o disastro, che potrebbe ostacolare l’obiettivo primario dell’obiettivo di uptime dichiarato e previsto. Un sistema di alta disponibilità ben istituito può raggiungere questo obiettivo con una corretta pianificazione e progettazione, riducendo o eliminando le interruzioni e massimizzando la disponibilità.
un’Attenta Pianificazione + Affidabili Metodologie di Implementazione, + Stabile Piattaforme Software + Hardware Audio Infrastrutture + Liscia Operazioni Tecniche + Prudente Gestione Obiettivi + Coerente di Dati di Sicurezza + Prevedibile Sistemi di Ridondanza + Robuste Soluzioni di Backup + Ripristino Più Opzioni = 100% di Uptime
il Nostro talentuoso Team di Supporto è costituito da esperti di Linux, i tecnici e gli amministratori di Sistema che hanno una profonda conoscenza del web più tecnologie di hosting, soprattutto quelli discussi in questo articolo.
Se sei un server VPS completamente gestito, Cloud dedicato, VMware Private Cloud, Private Parent server o un proprietario di server dedicato e non sei a tuo agio nell’eseguire uno dei passaggi descritti, possiamo essere raggiunti via telefono @800.580.4985, una chat o un ticket di supporto per aiutarti in questo processo.