Riferimento rapido per Geo Clustering #
SUSE Linux Enterprise High Availability Extension 15 SP3
Geo clustering consente di proteggere i carichi di lavoro tra i data center distribuiti globalmente. Questo documento guida l'utente attraverso la configurazione di base di un Geo cluster, mediante gli script di bootstrap Geo forniti dal pacchetto ha-cluster-bootstrap
.
1 Panoramica concettuale #
I Geo cluster basati su SUSE® Linux Enterprise High Availability Extension possono essere considerati cluster «overlay» dove ogni sito del cluster corrisponde a un nodo del cluster in un cluster tradizionale. Il cluster overlay è gestito dal manager richiesta del cluster di booth (di seguito denominato booth). Ciascuna delle parti coinvolte in cluster Geo esegue un servizio boothd
che si collega ai daemon di booth in esecuzione negli altri siti e scambia le informazioni di connettività. Per rendere le risorse del cluster altamente disponibili tra i siti, booth si affida agli oggetti cluster denominati richieste. Una richiesta concede il diritto di eseguire determinate risorse su un sito specifico del cluster. Booth garantisce che a ogni richiesta non sia concessa più di un sito alla volta.
Se la comunicazione tra due istanze di booth si interrompe, il motivo può essere un'interruzione di rete tra i siti del cluster o a causa della mancanza di un sito del cluster. In questo caso, occorre un'istanza aggiuntiva (un terzo sito del cluster o un arbitro
) per ottenere consenso sulle decisioni (ad esempio un failover di risorse tra i siti). Gli arbitri sono singoli computer (esterni ai cluster) che eseguono un'istanza di booth in una modalità speciale. Ciascun cluster Geo può avere uno o più arbitri.
È anche possibile eseguire un cluster Geo a due siti senza un arbitro. In questo caso, è necessario che un amministratore del cluster Geo gestisca manualmente i ticket. Se un ticket deve essere concesso a più di un sito contemporaneamente, in entrambi i siti viene visualizzato un avviso.
Per maggiori dettagli sul concetto, sulla gestione di componenti e ticket utilizzati per i cluster Geo, vedere Administration Guide.
2 Scenario di utilizzo #
Di seguito, verrà configurato un cluster Geo di base con due siti cluster e un arbitro:
Si suppone che i siti del cluster siano denominati
amsterdam
eberlin
.Si suppone che ciascun sito consista di due nodi. I nodi
alice
ebob
appartengono al clusteramsterdam
. I nodicharlie
edoro
appartengono al clusterberlin
.Il sito
amsterdam
ottiene il seguente indirizzo IP virtuale:192.168.201.100
.Il sito
berlin
ottiene il seguente indirizzo IP virtuale:192.168.202.100
.Si suppone che l'arbitro abbia il seguente indirizzo IP:
192.168.203.100
.
Prima di continuare, verificare che siano rispettati i seguenti requisiti:
- Due cluster esistenti
Sono presenti almeno due cluster esistenti che si desidera combinare in un cluster Geo. (Se occorre configurare prima due cluster, seguire le istruzioni nella Riferimento rapido per l'installazione e la configurazione (in lingua inglese).
- Nomi di cluster significativi
Per ciascun cluster è definito un nome significativo in
/etc/corosync/corosync.conf
che ne riflette l'ubicazione.- Arbitro
È stato installato un terzo computer che non fa parte di alcun cluster esistente ed è utilizzato come arbitro.
Per i requisiti dettagliati su ciascun elemento, vedere anche Sezione 3, «Requisiti».
3 Requisiti #
Tutti i computer (nodi cluster e arbitri) che fanno parte del cluster richiedono almeno i seguenti moduli ed estensioni:
Basesystem Module 15 SP3
Server Applications Module 15 SP3
SUSE Linux Enterprise High Availability Extension 15 SP3
Per l'installazione dei computer, selezionare HA GEO Node
come ruolo del sistema
. Ciò conduce all'installazione di un sistema minimo in cui i pacchetti del modello Geo Clustering for High Availability (ha_geo)
sono installati per default.
Gli IP virtuali da utilizzare per ciascun sito del cluster devono essere accessibili sul cluster Geo.
I siti devono essere raggiungibili su una porta UDP e TCP per istanza di booth. Questo significa che firewall o tunnel IPsec compresi devono essere configurati di conseguenza.
Altre decisioni di configurazione possono richiedere di aprire più porte (ad esempio, per replica database o DRBD).
Tutti i nodi del cluster su tutti i siti devono sincronizzarsi con un server NTP esterno al cluster. Per ulteriori informazioni, vedere l' Administration Guide for SUSE Linux Enterprise Server 15 SP3 (Guida all'amministrazione di SUSE Linux Enterprise Server 15 SP2).
Se i nodi non sono sincronizzati, file di log e rapporti del cluster risultano molto difficili da analizzare.
Utilizzare un numero dispari di siti nel cluster Geo. In caso di interruzione della connessione di rete, ciò garantisce che ci sia sempre una maggioranza di siti (per evitare uno scenario split-brain). Qualora fosse presente un numero dispari di siti cluster, utilizzare un arbitro per gestire il failover automatico dei ticket. Se non si utilizza un arbitro, è necessario gestire manualmente il failover dei ticket.
Il cluster in ciascun sito ha un nome significativo, ad esempio:
amsterdam
eberlin
.I nomi del cluster per tale sito vengono definiti nei rispettivi file
/etc/corosync/corosync.conf
.totem { [...] cluster_name: amsterdam }
Modificare il nome con il seguente comando crmsh:
root #
crm
cluster rename NEW_NAMEInterrompere e avviare il servizio
pacemaker
per applicare le modifiche:root #
crm
cluster restartLe architetture miste in un unico cluster non sono supportate. Per i Geo cluster, tuttavia, ciascun membro del Geo cluster può presentare un'architettura diversa, sia esso un sito cluster o un arbitratore. Ad esempio, è possibile eseguire un Geo cluster con tre membri (due siti cluster e un arbitratore), dove un sito cluster viene eseguito su IBM Z, l'altro viene eseguito su x86 e l'arbitratore su POWER.
4 Panoramica degli script di bootstrap Geo #
Con
ha-cluster-geo-init
, convertire un cluster nel primo sito di un cluster Geo. Lo script preleva alcuni parametri come i nomi dei cluster, l'arbitro e una o più richieste e crea/etc/booth/booth.conf
da loro. Copia la configurazione di booth in tutti i nodi sul sito del cluster corrente. Configura inoltre le risorse del cluster necessarie per il booth sul sito del cluster corrente.Per informazioni, vedere Sezione 6, «Impostazione del primo sito di un cluster Geo».
Con
ha-cluster-geo-join
, aggiungere il cluster corrente a un cluster Geo esistente. Lo script copia la configurazione di booth da un sito del cluster esistente e la scrive in/etc/booth/booth.conf
su tutti i nodi sul sito del cluster corrente. Configura inoltre le risorse del cluster necessarie per il booth sul sito del cluster corrente.Per informazioni, vedere Sezione 7, «Aggiunta di un altro sito a un cluster Geo».
Con
ha-cluster-geo-init-arbitrator
, convertire il computer corrente in un arbitro per il cluster Geo. Lo script copia la configurazione di booth da un sito del cluster esistente e la scrive in/etc/booth/booth.conf
.Per informazioni, vedere Sezione 8, «Aggiunta dell'arbitro».
Tutti gli script di bootstrap effettuano l'accesso a /var/log/ha-cluster-bootstrap.log
. Consultare il file di registro per eventuali dettagli sul processo di bootstrap. Ogni opzione impostata durante il processo di bootstrap è modificabile in seguito (modificando le impostazioni di booth, le risorse e così via). Per i dettagli vedere il Administration Guide.
5 Installazione #
Con Geo Clustering for SUSE Linux Enterprise High Availability Extension è disponibile un supporto per l'utilizzo dei cluster High Availability.
Per configurare un cluster Geo sono necessari i pacchetti inclusi nei seguenti modelli di installazione:
High Availability
(denominatosles_ha
sulla riga di comando)Geo Clustering for High Availability
(denominatoha_geo
sulla riga di comando)
Entrambi i modelli sono disponibili solo se il sistema è stato registrato presso SUSE Customer Center (o in un server di registrazione locale) e sono stati aggiunti i rispettivi moduli o supporti di installazione come estensione. Per informazioni su come installare le estensioni, vedere la Deployment Guide for SUSE Linux Enterprise 15 SP3 (Guida alla distribuzione di SUSE Linux Enterprise 15 SP2).
Per installare i pacchetti da entrambi i modelli tramite riga di comando, utilizzare Zypper:
root #
zypper
install -t pattern ha_sles ha_geo
I pacchetti software necessari SUSE Linux Enterprise High Availability Extension e Geo Clustering for SUSE Linux Enterprise High Availability Extension non vengono copiati automaticamente nei nodi del cluster.
Installare SUSE Linux Enterprise Server 15 SP3 e i modelli
ha_sles
eha_geo
su tutti i computer che faranno parte del Geo cluster.Invece di installare manualmente i pacchetti su tutti i computer che faranno parte del cluster, utilizzare AutoYaST per clonare i nodi esistenti. Per ulteriori informazioni, vedere Section 3.2, “Mass installation and deployment with AutoYaST”.
6 Impostazione del primo sito di un cluster Geo #
Utilizzare lo script ha-cluster-geo-init
per convertire un cluster esistente nel primo sito di un cluster Geo.
amsterdam
) con ha-cluster-geo-init
#Definire un IP virtuale per sito del cluster utilizzabile per accedere al sito. Si suppone di utilizzare
192.168.201.100
e192.168.202.100
per questo scopo. Non è ancora necessario configurare gli IP virtuali come risorse del cluster. Ciò verrà eseguito dagli script bootstrap.Definire il nome di almeno una richiesta che concederà il diritto di eseguire determinate risorse su un sito del cluster. Utilizzare un nome significativo che rifletta le risorse che dipenderanno dalla richiesta (ad esempio,
ticket-nfs
). Gli script bootstrap richiedono solo il nome della richiesta, è possibile definire i dettagli rimanenti (dipendenze della richiesta delle risorse) in seguito, come descritto nella Sezione 10, «Fasi successive».Eseguire il login a un nodo di un cluster esistente (ad esempio, al nodo
alice
del clusteramsterdam
).Eseguire
ha-cluster-geo-init
. Ad esempio, utilizzare le opzioni seguenti:root #
ha-cluster-geo-init
\ --clusters1 "amsterdam=192.168.201.100 berlin=192.168.202.100" \ --tickets2 ticket-nfs \ --arbitrator3 192.168.203.100I nomi dei siti del cluster (come definito in
/etc/corosync/corosync.conf
) e gli indirizzi IP virtuali da utilizzare per ogni sito del cluster. In questo caso, sono presenti due siti del cluster (amsterdam
eberlin
) ciascuno con un indirizzo IP virtuale.Il nome di una o più richieste.
Il nome host o l'indirizzo IP di un computer all'esterno dei cluster.
Lo script bootstrap crea il file di configurazione del booth e lo sincronizza tra i siti del cluster. Crea inoltre le risorse di base del cluster necessarie per il booth. Il Passo 4 della Procedura 1 determina le seguenti risorse del cluster e configurazione di booth:
ha-cluster-geo-init
## The booth configuration file is "/etc/booth/booth.conf". You need to # prepare the same booth configuration file on each arbitrator and # each node in the cluster sites where the booth daemon can be launched. # "transport" means which transport layer booth daemon will use. # Currently only "UDP" is supported. transport="UDP" port="9929" arbitrator="192.168.203.100" site="192.168.201.100" site="192.168.202.100" authfile="/etc/booth/authkey" ticket="ticket-nfs" expire="600"
ha-cluster-geo-init
#primitive1 booth-ip IPaddr2 \ params rule #cluster-name eq amsterdam ip=192.168.201.100 \ params rule #cluster-name eq berlin ip=192.168.202.100 \ primitive2 booth-site ocf:pacemaker:booth-site \ meta resource-stickiness=INFINITY \ params config=booth \ op monitor interval=10s group3 g-booth booth-ip booth-site \ meta target-role=Stopped4
Un indirizzo IP virtuale per ogni sito del cluster. È richiesto dai daemon del booth per cui è necessario un indirizzo IP persistente sul sito di ciascun cluster. | |
Una risorsa primitiva per il daemon del booth. Comunica con i daemon del booth sugli altri siti del cluster. Il daemon può essere avviato su qualsiasi nodo del sito. Per assicurare la persistenza della risorsa sullo stesso nodo, se possibile, resource-stickiness è impostato su | |
Un gruppo di risorse del cluster per entrambe le primitive. Con questa configurazione, ciascun daemon di booth sarà disponibile ai propri indirizzi IP, indipendente dal nodo su cui il daemon è in esecuzione. | |
Il gruppo risorse del cluster non viene avviato per impostazione predefinita. Dopo aver verificato la configurazione delle risorse del cluster (e aggiunto le risorse necessarie per completare la configurazione), occorre avviare il gruppo di risorse. Per ulteriori informazioni, vedere Passaggi richiesti per completare la configurazione del cluster Geo. |
7 Aggiunta di un altro sito a un cluster Geo #
Dopo aver inizializzato il primo sito del cluster Geo, aggiungere il secondo cluster con ha-cluster-geo-join
, come descritto nella Procedura 2. Lo script richiede accesso SSH a un sito del cluster già configurato e aggiunge il cluster corrente al cluster Geo.
berlin
) con ha-cluster-geo-join
#Eseguire il login a un nodo del sito del cluster che si desidera aggiungere (ad esempio, sul nodo
charlie
del clusterberlin
).Eseguire il comando
ha-cluster-geo-join
. Ad esempio:root #
ha-cluster-geo-join
\ --cluster-node1 192.168.201.100\ --clusters2 "amsterdam=192.168.201.100 berlin=192.168.202.100"Specifica da dove copiare la configurazione del booth. Utilizzare l'indirizzo IP o il nome host di un nodo in un sito del cluster Geo già configurato. È inoltre possibile utilizzare l'indirizzo IP virtuale di un sito del cluster già esistente (come in questo esempio). In alternativa, utilizzare l'indirizzo IP o il nome host di un arbitro già configurato per il cluster Geo.
I nomi dei siti del cluster (come definito in
/etc/corosync/corosync.conf
) e gli indirizzi IP virtuali da utilizzare per ogni sito del cluster. In questo caso, sono presenti due siti del cluster (amsterdam
eberlin
) ciascuno con un indirizzo IP virtuale.
Lo script ha-cluster-geo-join
copia la configurazione del booth da 1, vedere Esempio 1. Inoltre, crea le risorse del cluster necessarie per il booth (vedere Esempio 2).
8 Aggiunta dell'arbitro #
Dopo aver configurato tutti i siti del cluster Geo con ha-cluster-geo-init
e ha-cluster-geo-join
, configurare l'arbitro con ha-cluster-geo-init-arbitrator
.
ha-cluster-geo-init-arbitrator
#Eseguire il login al computer da utilizzare come arbitro.
Eseguire il comando seguente. Ad esempio:
root #
ha-cluster-geo-init-arbitrator
--cluster-node1 192.168.201.100Specifica da dove copiare la configurazione del booth. Utilizzare l'indirizzo IP o il nome host di un nodo in un sito del cluster Geo già configurato. In alternativa, è inoltre possibile utilizzare l'indirizzo IP virtuale di un sito del cluster già esistente (come in questo esempio).
Lo script ha-cluster-geo-init-arbitrator
copia la configurazione del booth da 1, vedere Esempio 1. Attiva e avvia, inoltre, il servizio di booth sull'arbitro. L'arbitro è così pronto per comunicare con le istanze di booth sui siti del cluster quando i servizi di booth vi vengono eseguiti.
9 Monitoraggio dei siti del cluster #
Per visualizzare entrambi i siti del cluster con le risorse e la richiesta create durante il processo di bootstrap, utilizzare Hawk2. L'interfaccia Web Hawk2 consente di controllare e gestire più cluster e cluster Geo (non in relazione).
Tutti i cluster monitorati dal SUSE Linux Enterprise High Availability Extension 15 SP2.
di Hawk3 devono eseguireSe non è stato sostituito il certificato autofirmato per Hawk2 su ogni nodo del cluster con il proprio certificato (o con un certificato firmato da una Autorità di certificazione ufficiale), eseguire almeno una volta il login ad Hawk2 sul nodo every nel cluster every. Verificare il certificato (o aggiungere un'eccezione nel browser per ignorare l'avviso). In alternativa, Hawk2 non può collegarsi al cluster.
Avviare un browser Web e immettere l'IP virtuale del primo sito del cluster,
amsterdam
:https://192.168.201.100:7630/
In alternativa, utilizzare l'indirizzo IP o il nome host di
alice
obob
. Se sono stati configurati entrambi i nodi con gli script di bootstrap, il serviziohawk
dovrebbe essere in esecuzione su entrambi i nodi.Eseguire il login all'interfaccia Web Hawk2.
Dalla barra di navigazione sinistra, selezionare
.Hawk2 mostra una panoramica di risorse e nodi sul sito del cluster corrente. Inoltre, mostra eventuali
configurate per il cluster Geo. Se occorrono informazioni sulle icone utilizzate in questa vista, fare clic su .Figura 2: Dashboard Hawk2 con un sito del cluster (amsterdam
) #Per aggiungere un dashboard per il secondo sito del cluster, fare clic su
.Immettere il
con cui identificare il cluster nel . In questo caso,berlin
.Immettere il nome host completamente qualificato di uno dei nodi del cluster (in questo caso,
charlie
odoro
).Fare clic su
. Hawk2 mostra una seconda scheda per il nuovo sito del cluster aggiunto con una panoramica dei relativi nodi e risorse.Figura 3: Dashboard Hawk2 con entrambi i siti del cluster #
Per visualizzare maggiori informazioni per un sito del cluster o gestirlo, passare alla scheda del sito e fare clic sull'icona della catena.
Hawk2 apre la vista
di tale sito in una nuova scheda o finestra del browser, da cui è possibile amministrare questa parte del cluster Geo.
10 Fasi successive #
Gli script di bootstrap del cluster Geo forniscono un modo rapido di impostare un cluster Geo di base utilizzabile per scopi di test. Tuttavia, per spostare il cluster Geo risultante in un cluster Geo funzionante utilizzabile negli ambienti di produzione, sono richiesti altri passaggi, vedere Passaggi richiesti per completare la configurazione del cluster Geo.
- Avvio dei servizi booth sui siti del cluster
Dopo il processo di bootstrap, il servizio di booth dell'arbitro non può ancora comunicare con i servizi di booth sui siti del cluster, in quanto non vengono avviati per impostazione predefinita.
Il servizio di booth per ciascun sito del cluster viene gestito dal gruppo risorse di booth
g‑booth
(vedere Esempio 2, «Risorse del cluster create daha-cluster-geo-init
»). Per avviare un'istanza del servizio booth per sito, avviare il rispettivo gruppo risorse di booth in ciascun sito del cluster. Ciò consente a tutte le istanze di booth di comunicare tra loro.- Configurazione delle dipendenze della richiesta e ordinamento dei vincoli
Affinché le risorse dipendano dalla richiesta creata durante il processo di bootstrap del cluster Geo, configurare i vincoli. Per ogni vincolo, impostare una
policy di perdita
che definisca ciò che deve succedere alle rispettive risorse se la richiesta viene revocata da un sito del cluster.Per informazioni, vedere Chapter 6, Configuring cluster resources and constraints.
- Concessione iniziale di una richiesta a un sito
Prima che booth sia in grado di gestire una determinata richiesta nel Geo cluster, occorre inizialmente concederla manualmente a un sito. È possibile utilizzare lo strumento della riga di comando del client di booth o Hawk2 per concedere una richiesta.
Per informazioni, vedere Chapter 8, Managing Geo clusters.
Gli script di bootstrap creano le stesse risorse di booth sui siti di entrambi i cluster e gli stessi file di configurazione di booth in tutti i siti, compreso l'arbitro. Se si estende la configurazione del cluster Geo (per passare a un ambiente di produzione), si perfezionerà probabilmente la configurazione di booth e si modificherà la configurazione delle risorse del cluster correlate al booth. In seguito, è necessario sincronizzare le modifiche agli altri siti del cluster Geo per applicarle.
Per sincronizzare le modifiche nella configurazione del booth con tutti i siti del cluster (compreso l'arbitro), utilizzare Csync2. Per ulteriori informazioni, vedere Chapter 5, Synchronizing configuration files across all sites and arbitrators.
Il CIB (Cluster Information Database) non viene sincronizzato automaticamente tra i siti di un Geo cluster. Questo significa che eventuali modifiche alla configurazione della risorsa richieste su tutti i siti del cluster devono essere trasferite manualmente agli altri siti. Per questo, selezionare le rispettive risorse, esportarle dal CIB corrente e importarle nel CIB sugli altri siti del cluster. Per informazioni, vedere Section 6.4, “Transferring the resource configuration to other cluster sites”.
11 Per ulteriori informazioni #
Maggiore documentazione per questo prodotto è disponibile su https://documentation.suse.com/sle-ha/. Per altre attività di configurazione e amministrazione, vedere la Geo Clustering Guide (Guida al Geo Clustering) completa.
Nel documento relativo alle best practice SUSE seguente, sono disponibili informazioni sulla replica dei dati sui Geo cluster tramite DRBD.
12 Note legali #
Copyright © 2006– 2024 SUSE LLC e collaboratori. Tutti i diritti riservati.
L'autorizzazione per la copia, la distribuzione e/o la modifica di questo documento è soggetta ai termini indicati nella licenza GFDL (GNU Free Documentation License), versione 1.2 oppure, a scelta, 1.3, di cui la presente licenza e le presenti informazioni sul copyright rappresentano la sezione non variabile. Una copia della licenza versione 1.2 è inclusa nella sezione intitolata «GNU Free Documentation License».
Per i marchi di fabbrica SUSE vedere http://www.suse.com/company/legal/. Tutti gli altri marchi di fabbrica di terze parti sono proprietà dei rispettivi titolari. I simboli di marchio di fabbrica (®, ™ e così via) indicano i marchi di fabbrica appartenenti a SUSE e alle rispettive affiliate. Gli asterischi (*) indicano i marchi di fabbrica di terze parti.
Tutte le informazioni nella presente pubblicazione sono state compilate con la massima attenzione ai dettagli. Ciò, tuttavia, non garantisce una precisione assoluta. SUSE LLC, le rispettive affiliate, gli autori e i traduttori non potranno essere ritenuti responsabili di eventuali errori o delle relative conseguenze.