I database oi cluster distribuiti sono in genere costituiti da più nodi e tipi di nodi e non è sempre facile capire come tutti questi elementi si uniscano. Ad esempio, si potrebbe avere una configurazione di replica con master intermedi e il traffico di replica che segue un determinato percorso. Aggiungi alcuni sistemi di bilanciamento del carico, host con più indirizzi IP, flag di sola lettura e slave lag e sei pronto per un rompicapo.
Tuttavia, un'immagine vale più di mille parole. Questo è esattamente ciò che offre la nuova Topology View di ClusterControl. Mostra tutti i diversi nodi che fanno parte del tuo cluster di database (siano essi nodi di database, bilanciatori di carico o arbitri), nonché le connessioni tra di loro. I nodi, le connessioni e i relativi stati vengono rilevati da ClusterControl. Poiché ClusterControl monitora continuamente i nodi e conserva le informazioni sullo stato, qualsiasi modifica alla topologia si riflette nell'interfaccia Web. Se un nodo è guasto, verrà mostrato come offline.
Dalla vista topologia è possibile gestire i nodi, modificare i master trascinando l'oggetto sul master desiderato, riavviare i nodi e sincronizzare i dati. Puoi anche rilevare i problemi molto facilmente, poiché ogni oggetto presenta un rapido riepilogo del suo stato. ClusterControl esegue alcuni controlli aggiuntivi per le azioni che si desidera eseguire. I controlli predefiniti non consentono l'esecuzione di attività che possono causare la perdita di dati.
Esistono diversi tipi di topologie, ne mostreremo alcuni e vedremo come funzionano.
Ammasso Galleria
Galera Cluster Topology ViewQui abbiamo una topologia di base del cluster Galera con 3 nodi.
In questa schermata possiamo vedere i 3 nodi che funzionano correttamente e informazioni di base come lo stato e l'ultimo commit.
Possiamo anche osservare che galera1 è elencato come master, poiché sta generando binlog.
Se espandiamo uno dei nodi, possiamo visualizzare ulteriori informazioni sullo stato.
Vista dettagli nodo 1Nella prima vediamo informazioni relative al traffico Galera.
Vista dettagli nodo 2Nella seconda schermata secondaria, possiamo vedere i dettagli sulla normale replica di MySQL.
Node Details View 3Nel terzo, abbiamo i dettagli sul server, come il tempo di attività e la versione.
Abbiamo anche azioni che possiamo eseguire sui nodi.
Vista azioni nodoSe clicchiamo sull'icona a destra, possiamo vedere le azioni disponibili:
- Console SSH:ci consente di accedere a una console ssh sul nodo.
- Modalità pianificazione pianificazione:consente di impostare una finestra di manutenzione per il nodo.
- Riavvia l'host:possiamo riavviare l'host da qui.
- Riavvia nodo:possiamo riavviare il database.
- Resync Node:ci consente di eseguire una risincronizzazione del nodo.
- Cluster Bootstrap:selezionando questa opzione, possiamo eseguire un bootstrap del cluster selezionando il nodo corrispondente.
- Arresta nodo:possiamo fermare il database.
- Annulla registrazione nodo:con questa azione, rimuoviamo il nodo dal cluster.
Replica MySQL
Vista topologia replica MySQLIn questa schermata possiamo vedere una topologia di replica MySQL con 1 master e 3 slave.
Abbiamo alcune informazioni come lo stato delle repliche e del master, quali nodi sono scrivibili e la posizione della replica.
Se espandiamo ogni nodo, possiamo ottenere informazioni più dettagliate.
Visualizza dettagli del nodo principale 1 Visualizza dettagli nodo slave 1Nella prima schermata secondaria, possiamo vedere i dettagli della replica. Sia il master che lo slave.
Vista dettagli nodo 2Nella seconda schermata secondaria, vediamo i dettagli del server, come versione e tempo di attività.
Abbiamo diverse azioni che possiamo eseguire sui nodi.
Vista azioni nodoSe clicchiamo sull'icona a destra, possiamo vedere le azioni disponibili:
- Console SSH:ci consente di accedere a una console ssh all'interno del nodo.
- Modalità pianificazione pianificazione:consente di impostare una finestra di manutenzione per il nodo.
- Riavvia l'host:possiamo riavviare l'host da qui.
- Riavvia nodo:possiamo riavviare il database.
- Disabilita sola lettura:con questa opzione abilitiamo la scrittura sulla replica.
- Promuovi slave:consente di promuovere uno slave a master.
- Rebuild Replication Slave:selezionando questa opzione ricostruiamo la replica selezionando un master.
- Cambia master replica:consente di modificare il master della replica.
- Avvia slave:avvia l'istanza.
- Arresta nodo:possiamo arrestare l'istanza.
- Annulla registrazione nodo:con questa azione rimuoviamo il nodo dal cluster.
Le opzioni possono variare a seconda del ruolo del nodo.
Cambia vista nodoPuoi anche, selezionando un nodo e trascinandolo su un altro nodo, selezionare una delle seguenti opzioni:
Vista opzioni nodoPuoi ricostruire la replica da quel nuovo nodo o semplicemente cambiare il master e continuare a replicare.
Quando confermiamo le modifiche, avremo una nuova visualizzazione della topologia:
Topologia di replica MySQL 2Qui possiamo vedere che abbiamo il nostro master, con due repliche, e una di quelle repliche funziona come master intermedio, con uno slave che replica da esso.
PostgreSQL
Vista topologia PostgreSQL 1Qui abbiamo una topologia per PostgreSQL, con 1 master e 2 slave.
Possiamo osservare il ruolo di ciascuno, quali nodi consentono la scrittura e lo stato di replica.
Vista dettagli nodo 1Se espandiamo le informazioni sui nodi, possiamo vedere i dettagli sulla versione e sui tempi di attività.
Vista azioni nodoAbbiamo anche diverse azioni che possono essere eseguite sui nodi:
- Console SSH:ci consente di accedere a una console ssh all'interno del nodo.
- Modalità pianificazione pianificazione:consente di impostare una finestra di manutenzione per il nodo.
- Riavvia l'host:possiamo riavviare l'host da qui.
- Riavvia nodo:possiamo riavviare il database.
- Promuovi slave:ci consente di promuovere un master slave.
- Rebuild Replication Slave:questa opzione consente di ricostruire una replica da un master.
- Arresta nodo:possiamo fermare il database.
- Annulla registrazione nodo:con questa azione rimuoviamo il nodo dal cluster.
Le opzioni possono cambiare a seconda del ruolo di ciascun nodo.
Se vogliamo modificare il nostro master, possiamo farlo semplicemente selezionando Promuovi Slave nelle azioni del nodo che abbiamo visto prima.
Dopo pochi secondi, possiamo vedere la nostra nuova topologia, con il nuovo master che abbiamo selezionato.
Vista topologia PostgreSQL 2Per ricostruire una replica, possiamo semplicemente selezionare il nodo che vogliamo modificare e rilasciarlo sul master.
Cambia vista nodoIn questo modo puoi ricostruire una replica in modo facile e veloce.
MongoDB
Vista topologia MongoDBQuesta è la topologia per un MongoDB ReplicaSet con 1 nodo primario e 2 nodi secondari.
Possiamo osservare informazioni di base come connessioni e blocchi.
Espandendo le informazioni sul nodo, possiamo vedere due schermate secondarie.
Vista dettagli nodo 1Nella prima vediamo la priorità e se è nascosta o meno.
Vista dettagli nodo 2Nella seconda possiamo vedere i dati del server, come la versione e il tempo di attività.
Azioni nodo Visualizza risorse correlate Scarica ClusterControl Esecuzione delle modifiche alla topologia di replica per PostgreSQL Annunciazione di ClusterControl 1.5.1 - Con crittografia di backup per MySQL , MongoDB e PostgreSQLAbbiamo diverse azioni da eseguire su ciascun nodo:
- Console SSH:ci consente di accedere a una console ssh all'interno del nodo.
- Modalità pianificazione pianificazione:consente di impostare una finestra di manutenzione per il nodo.
- Riavvia l'host:possiamo riavviare l'host da qui.
- Riavvia nodo:possiamo riavviare il database.
- Freeze Node:possiamo mettere il nodo in modalità freeze per X time.
- Arresta nodo:possiamo fermare il database.
- Annulla registrazione nodo:con questa azione rimuoviamo il nodo dal cluster.
Le opzioni possono cambiare a seconda del ruolo di ciascun nodo.
Generale
Indipendentemente dal motore che utilizziamo, se perdiamo l'accesso a qualsiasi nodo, possiamo vederlo facilmente e configurare avvisi sugli eventi. Vediamo un esempio con Galera Cluster:
Vista offline nodoIn questo modo, possiamo identificare rapidamente il nodo inaccessibile e intraprendere le azioni necessarie.
Possiamo anche avere nella nostra topologia, bilanciatori del carico con keepalived configurato:
Visualizza bilanciatori di caricoPossiamo visualizzare i nodi del database e i bilanciatori di carico (es. ProxySQL).
Per concludere, la visualizzazione della topologia può essere molto utile per visualizzare rapidamente come si sta replicando il nostro cluster.
Puoi provare questa e molte altre funzionalità con la versione di prova gratuita.