MariaDB
 sql >> Database >  >> RDS >> MariaDB

Distribuzione di database e cluster ad alta disponibilità con ClusterControl

Riceviamo dei feedback positivi riguardo al nostro prodotto ClusterControl, in particolare quanto sia facile da installare e iniziare. Installare un nuovo software è una cosa, ma utilizzarlo correttamente è un'altra.

Non è raro essere impazienti di testare un nuovo software e si preferisce giocare con una nuova eccitante applicazione piuttosto che leggere la documentazione prima di iniziare. Questo è un po' sfortunato perché potresti perdere funzionalità importanti o fraintendere come usarle.

Questa serie di blog copre tutte le operazioni di base di ClusterControl per MySQL, MongoDB e PostgreSQL con esempi su come sfruttare al meglio la configurazione. Ti offre un approfondimento su diversi argomenti per farti risparmiare tempo.

Questi sono gli argomenti trattati in questa serie:

  • Distribuzione dei primi cluster
  • Aggiungere la tua infrastruttura esistente
  • Monitoraggio delle prestazioni e della salute
  • Rendere i tuoi componenti HA
  • Gestione del flusso di lavoro
  • Protezione dei tuoi dati
  • Protezione dei tuoi dati
  • Caso d'uso approfondito

Nel post di oggi tratteremo l'installazione di ClusterControl e la distribuzione dei primi cluster.

Preparativi

In questa serie, utilizzeremo un set di scatole Vagrant ma puoi utilizzare la tua infrastruttura, se lo desideri. Nel caso in cui desideri testarlo con Vagrant, abbiamo reso disponibile una configurazione di esempio dal seguente repository Github:https://github.com/severalnines/vagrant

Clona il repository sul tuo computer:

$ git clone [email protected]:severalnines/vagrant.git

La topologia dei nodi vagabondi è la seguente:

  • vm1:controllo cluster
  • vm2:database node1
  • vm3:database node2
  • vm4:database node3

Puoi facilmente aggiungere altri nodi, se lo desideri, modificando la seguente riga:

4.times do |n|

Il file Vagrant è configurato per installare automaticamente ClusterControl sul primo nodo e inoltrare l'interfaccia utente di ClusterControl alla porta 8080 sull'host che esegue Vagrant. Quindi, se l'indirizzo IP del tuo host è 192.168.1.10, troverai l'interfaccia utente di ClusterControl qui:http://192.168.1.10:8080/clustercontrol/

Installazione di ClusterControl

Puoi saltare questo se hai scelto di utilizzare il file Vagrant e ottenere l'installazione automatica. Ma l'installazione di ClusterControl è semplice e richiederà meno di cinque minuti.

Con l'installazione del pacchetto, tutto ciò che devi fare è emettere i seguenti tre comandi sul nodo ClusterControl per installarlo:

$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc   # as root or sudo user

Ecco fatto:non può essere più facile di così. Se lo script di installazione non ha riscontrato problemi, ClusterControl dovrebbe essere installato e funzionante. È ora possibile accedere a ClusterControl al seguente URL:http://192.168.1.210/clustercontrol

Dopo aver creato un account amministratore e aver effettuato l'accesso, ti verrà chiesto di aggiungere il tuo primo cluster.

Distribuisci un cluster Galera

Ti verrà chiesto di creare un nuovo server/cluster di database o importare un server o un cluster esistente (ovvero già distribuito):

Stiamo per distribuire un cluster Galera. Ci sono due sezioni che devono essere compilate. La prima scheda è relativa a SSH e alle impostazioni generali:

Per consentire a ClusterControl di installare i nodi Galera, utilizziamo l'utente root a cui è stato concesso l'accesso SSH dagli script bootstrap di Vagrant. Nel caso in cui si scelga di utilizzare la propria infrastruttura, è necessario inserire qui un utente autorizzato a eseguire SSH senza password sui nodi che ClusterControl controllerà. Tieni presente che devi configurare in anticipo SSH senza password da ClusterControl su tutti i nodi del database.

Assicurati anche di disabilitare AppArmor/SELinux. Scopri qui perché.

Quindi, passa alla seconda fase e specifica le informazioni relative al database e gli host di destinazione:

ClusterControl eseguirà immediatamente alcuni controlli di integrità ogni volta che si preme Invio durante l'aggiunta di un nodo. Puoi vedere il riepilogo dell'host passando il mouse sopra ogni nodo definito. Una volta che tutto è verde, significa che ClusterControl ha connettività a tutti i nodi, puoi fare clic su Distribuisci. Verrà generato un lavoro per creare il nuovo cluster. La cosa bella è che puoi tenere traccia dello stato di avanzamento di questo lavoro facendo clic su Attività -> Lavori -> Crea cluster -> Dettagli completi sul lavoro :

Una volta terminato il lavoro, hai appena creato il tuo primo cluster. La panoramica del cluster dovrebbe essere simile a questa:

Nella scheda nodi, puoi eseguire qualsiasi operazione che normalmente faresti su un cluster. Il monitoraggio delle query offre una buona panoramica delle query in esecuzione e principali. La scheda delle prestazioni ti aiuterà a tenere d'occhio le prestazioni del tuo cluster e include anche i consulenti che ti aiutano ad agire in modo proattivo sulle tendenze dei dati. La scheda di backup consente di pianificare facilmente i backup e archiviarli su un archivio locale o su cloud. La scheda di gestione ti consente di espandere il tuo cluster o renderlo altamente disponibile per le tue applicazioni tramite un sistema di bilanciamento del carico.

Tutte queste funzionalità verranno trattate nei successivi post del blog di questa serie.

Distribuire un cluster di replica MySQL

La distribuzione di una configurazione di replica MySQL è simile alla distribuzione del database Galera, tranne per il fatto che ha una scheda aggiuntiva nella finestra di dialogo di distribuzione in cui è possibile definire la topologia di replica:

È possibile impostare la replica master-slave standard, nonché la replica master-master. In quest'ultimo caso resterà scrivibile un solo master alla volta. Tieni presente che la replica master-master non viene fornita con la risoluzione dei conflitti e la coerenza dei dati garantita, come nel caso di Galera. Usa questa configurazione con cautela o esamina il cluster Galera. Una volta che tutto è verde e hai fatto clic su Distribuisci, verrà generato un lavoro per creare il nuovo cluster.

Anche in questo caso, l'avanzamento della distribuzione è disponibile in Attività -> Lavori.

Per ridimensionare lo slave (leggi la copia), usa semplicemente l'opzione "Aggiungi nodo" nell'elenco dei cluster:

Dopo aver aggiunto il nodo slave, ClusterControl fornirà allo slave una copia dei dati dal suo master utilizzando Xtrabackup o da qualsiasi backup PITR compatibile esistente per quel cluster.

Distribuire la replica PostgreSQL

ClusterControl supporta la distribuzione di PostgreSQL versione 9.xe successive. I passaggi sono simili con la distribuzione di MySQL Replication, dove al termine della fase di distribuzione, puoi definire la topologia del database quando aggiungi i nodi:

Analogamente a MySQL Replication, una volta completata la distribuzione, è possibile aumentare la scalabilità aggiungendo repliche slave al cluster. Il passaggio è semplice come selezionare il master e compilare l'FQDN per il nuovo slave:

ClusterControl eseguirà quindi lo staging dei dati necessario dal master scelto utilizzando pg_basebackup, configurerà l'utente di replica e abiliterà la replica in streaming. La panoramica del cluster PostgreSQL ti offre alcune informazioni sulla tua configurazione:

Proprio come con le panoramiche dei cluster Galera e MySQL, qui puoi trovare tutte le schede e le funzioni necessarie:le schede di monitoraggio delle query, prestazioni e backup ti consentono di eseguire le operazioni necessarie.

Distribuire un set di repliche MongoDB

La distribuzione di un nuovo set di repliche MongoDB è simile agli altri cluster. Dalla finestra di dialogo Distribuisci cluster di database, seleziona MongoDB ReplicatSet, definisci le opzioni del database preferite e aggiungi i nodi del database:

Puoi scegliere di installare Percona Server per MongoDB da Percona o MongoDB Server da MongoDB, Inc (ex 10gen). È inoltre necessario specificare l'utente e la password amministratore di MongoDB poiché ClusterControl distribuirà per impostazione predefinita un cluster MongoDB con l'autenticazione abilitata.

Dopo aver installato il cluster, puoi aggiungere un ulteriore nodo slave o arbitro nel set di repliche utilizzando il menu "Aggiungi nodo" nello stesso menu a discesa dalla panoramica del cluster:

Dopo aver aggiunto lo slave o l'arbiter al set di repliche, verrà generato un lavoro. Una volta terminato questo lavoro, ci vorrà del tempo prima che MongoDB lo aggiunga al cluster e diventi visibile nella panoramica del cluster:

Pensieri finali

Con questi tre esempi ti abbiamo mostrato quanto sia facile configurare diversi cluster da zero in solo un paio di minuti. La bellezza dell'utilizzo di questa configurazione Vagrant è che, facile come generare questo ambiente, puoi anche eliminarlo e quindi generarlo di nuovo. Stupisci i tuoi colleghi mostrando quanto velocemente puoi configurare un ambiente di lavoro.

Naturalmente sarebbe altrettanto interessante aggiungere host esistenti e cluster già distribuiti in ClusterControl, ed è ciò di cui parleremo la prossima volta.