Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 1 Cluster di server in alta disponibilita con Pacemaker Gabriele Cerami ERLUG
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 2 Piano della presentazione Parte 1: Panoramica Parte 2: Gli elementi in dettaglio Parte 3: Pacemaker in azione
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 3 Ridondanza: perche' ? Perche' no ? Perche' ? – Per aumentare la resistenza ai guasti Perche' no ? – Perche' la complessità e le possibilita' di errore del sistema aumentano molto di piu'
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 4 Parte 1 Panoramica
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 5 Ridondanza: come ? Un software di ridondanza dovrebbe: – Accorgersi di quando qualcosa va storto e agire in base alle nostre regole – Contenere l'aumento di complessita' del sistema Due esempi: Heartbeat < v2.0 – Gestisce solo due nodi – Un riavvio per ogni cambio di configurazione – Non gestisce servizi Keepalived – SI avvale di VRRPv2 – Nessun comando di gestione Nessuno dei due offre controlli specializzati sui servizi, il loro compito principale e' capire se un nodo e' morto.
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 6 Come si e' arrivati a pacemaker Evoluzione dal primitive resource manager di Heatbeat Split del crm dalla versione di heartbeat Cluster abstraction layer per supportare altre instrastrutture OpenAIS come stack alternativo Corosync come parte del progetto di OpenAIS Pacemaker contiene ancora parte del codice di heartbeat
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 7 Panoramica di Pacemaker Cluster Resource Manager: ha visibilita' su tutti i nodi del cluster Local resource Manager: esegue su un nodo le indicazioni del CRM Resource agents: Le entita' che gestiscono le risorse Messaging & Membership: La parte che si occupa di fare parlare fra di loro i nodi di un cluster (due scelte: heartbeat e corosync)
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 8 Scenari di utilizzo
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 9 Parte 2 Gli elementi in dettaglio
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 10 Componenti di pacemaker Local resource Manager Cluster resource manager Stonith Cluster information Base Cluster engine Policy Engine Resource agents
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 11 Cluster Information Base File XML con la configurazione completa La documentazione da 3 regole fondamentali su questo file – Non va modificato a mano – Non va MAI modificato a mano – Se lo modificate a mano il sistema se ne accorge e si rifiuta di considerarlo. Utility per la modifica – Cibadmin – In misura minore crm_attribute, crm_resource – CLI
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 12 I cluster engine Corosync Broadcast, multicast Permette di usare cluster file system (GFS2, CLVM) grazie al distributed lock manager (richiede lo stack completo OpenAIS) Investimento delle aziende commerciali E' uno standard OSI Testato meno di heartbeat. Heartbeat Limitazione a due nodi Unicast Funziona su porta seriale Si occupa di interprocess communication, network protocols, plug-in managers, recovery synchronization, timers, logging e tracing
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 13 Resource Agents Script a cui il sistema fa riferimento per avviare, fermare e controllare lo stato delle risorse. I Resource Agent di Heartbeat 1 supportavano solo operazioni di start, stop e status. Classi – Lsb – Linux standard base – Legacy Heartbeat – OCF, Open Clustering Framework. Aggiungono ai RA di HB1 le funzioni di controllo della risorsa, e di scambio di informazioni sullo stato del nodo o della risorsa all'interno del cluster
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 14 Resource Agents: modalita' risorse Active/Passive – Classiche, eseguite su un solo nodo alla volta Active/Active – Attivi su piu' nodi alla volta: denominati cloni esistono di vari tipi – Anonimi: una copia per ogni macchina, che si comporta nella stessa maniera di come si comporta nelle altre macchine- – Globally unique: risore gestiste come entita' distinte. Master/Slave – Caso speciale delle risorse active/active con aggiunta dello stato multiplo
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 15 Resource Agents: formato ocf Azioni – Start/stop – Promote/Demote – Monitor, monitor multipli con OCF_CHECK_LEVEL – Validate Parametri – passati come variabili di ambiente con il prefisso speciale OCF_RESKEY_ Attributi – Parte dei parametri ma riempiti dai resource agents per creare regole per il posizionamento delle risorse Interazione con il crm – Valori di ritorno OCF_SUCCESS, OCF_NOT_RUNNING, OCF_ERR_GENERIC
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 16 STONITH Acronimo per: Shoot The Other Node In The Head Serve per prevenire interferenze da nodi che sono entrati in uno stato inconsistente, e che potrebbero causare effetti indesiderati Se un nodo va offline non e' detto che non stia facendo casino sul database condiviso. STONITH offre vari modi per spegnere con certezza il nodo che e' andato offline Diversi driver (IPMI, ibmrsa, SSH)
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 17 Parte 3 Pacemaker in azione
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 18 Cluster Resource Manager CLI shadow cib – Commit/diff/import Crm_mon Crm status Resource information center
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 19 Cluster Resource Manager: configurazione Una configurazione di base – Operazioni e parametri di default sulle primitive ● Start/stop e timeout ● Monitor e interval – Opzioni globali ● Quorum ● Stonith ● Stickiness ● Migration threshold ● Failcount timeout Comportamenti di default – Mancanza di quorum – Avviamento delle risorse – Fail di una risorsa – Migrazione delle risorse
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 20 Constraints e rules Regole e punteggi – Role – Score – boolean-op Location Colocation Order Decidere non limitandosi al guasto (regole complesse) – Regole basate sulla data – Regole basate sul nodo – Regole basate su attributi dei resource agents
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 21 Raggruppamento di risorse Group: Una semplificazione sintattica Order: le risorse sono avviate nell'ordine in cui sono scritte, e fermate nell'ordine inverso Se una risorsa del gruppo in lista non riesce a partire, niente dopo quella viene fatto partire
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 22 Operazioni del CRM Sui nodi – Fencing – Online/standby – Delete Sulle risorse – Start/Stop – Migrate/Unmigrate – Promote/Demote Gestione dei guasti – Failcount
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 23 Test della struttura Mettete in difficolta' le risorse Disattivate parzialmente le risorse Staccate i cavi di rete Spegnete le macchine
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 24 E ricordate... La ridondanza salva dalla sfiga, non dalle stronzate.
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 25 Sitografia e contatti – single/Pacemaker_Explained/ api.txt?rev=HEAD affidabilita-su-linux-come-orientarsi-fra-hertbeat-pacemaker-openais-e- corosync/
Gabriele Cerami, Cluster di server ad alta disponibilita' con Pacemaker Bologna, ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it 26 GRAZIE PER L'ATTENZIONE