GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e configurare MariaDB Galera Cluster su Ubuntu 18.04

Il clustering di database è il processo di combinazione di più server collegandoli a un unico database. Il clustering migliora la disponibilità del database distribuendo il carico su server diversi. Se un server si guasta, altri sono subito disponibili per continuare a servire.

MariaDB Galera è una soluzione di clustering multimaster che consente di leggere e scrivere su qualsiasi nodo del cluster. Con MariaDB Galera, una modifica apportata a qualsiasi nodo viene replicata su tutti i nodi. MariaDB Galera supporta i motori di archiviazione XtraDB/InnoDB ed è disponibile solo su Linux.

Caratteristiche

  • Topologia multimaster attiva-attiva
  • Unione automatica del nodo
  • Possibilità di leggere e scrivere su qualsiasi nodo del cluster
  • Controllo automatico dell'appartenenza, i nodi non riusciti vengono eliminati dal cluster
  • Provisioning automatico dei nodi

In questo tutorial, ti mostreremo come configurare un cluster MariaDB Galera a tre nodi su Ubuntu 18.04.

Prerequisiti

  • Tre nuove VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Una password di root configurata su tutti i server.

Ai fini di questo tutorial, utilizzeremo tre server con la seguente configurazione:

server1 :192.168.0.101
server2 :192.168.0.102
server3 :192.168.0.103

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Fase 2 – Installa MariaDB Server su tutti i server

Innanzitutto, aggiungi la chiave del repository MariaDB con il seguente comando:

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Quindi, aggiungi il repository usando il seguente comando:

add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Una volta aggiunto il repository, aggiorna il repository con il seguente comando:

apt-get update -y

Infine, installa il server MariaDB con il seguente comando:

apt-get install mariadb-server -y

A partire dalla versione 10.1, la funzionalità del cluster Galera è inclusa in MariaDB. Il pacchetto MariaDB Galera Server viene installato automaticamente con il server MariaDB.

Puoi configurarlo con il seguente comando:

mysql_secure_installation

Rispondi a tutte le domande, come mostrato di seguito:

Enter current password for root (enter for none): Provide your root user password
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Nota :ripeti i passaggi precedenti su tutti e tre i server.

Fase 3:configurare ogni server nel cluster

A questo punto abbiamo installato e configurato il server MariaDB su ogni server. Successivamente, dovrai configurare il cluster Galera per comunicare tra i server. Per farlo, dovrai creare un file di configurazione comune su ciascun server.

In questa sezione, ti mostreremo come configurare ogni server nel cluster.

Configura il primo server

Innanzitutto, accedi al primo server e crea un file di configurazione di Galera con il seguente comando:

nano /etc/mysql/conf.d/galera.cnf

Aggiungi le seguenti righe (assicurati di inserire i tuoi indirizzi IP del server):

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.101"
wsrep_node_name="server1"

Salva e chiudi il file quando hai finito. Successivamente, puoi procedere al secondo server.

Configura il secondo server

Quindi, accedi al secondo server e crea un file di configurazione Galera con il seguente comando:

nano /etc/mysql/conf.d/galera.cnf

Aggiungi le seguenti righe:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.102"
wsrep_node_name="server2"

Salva e chiudi il file quando hai finito. Successivamente, puoi procedere al terzo server.

Configura il terzo server

Quindi, accedi al terzo server e crea un file di configurazione di Galera con il seguente comando:

nano /etc/mysql/conf.d/galera.cnf

Aggiungi le seguenti righe:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.103"
wsrep_node_name="server3"

Salva e chiudi il file quando hai finito.

A questo punto, abbiamo configurato tutti e tre i server per comunicare tra loro.

Fase 4:inizializza il cluster Galera

Prima di avviare il cluster, dovrai interrompere il servizio MariaDB su tutti i server.

Esegui il comando seguente per interrompere il servizio MariaDB su tutti i server.

systemctl stop mariadb

Quindi, inizializza il cluster nel primo nodo con il comando seguente:

galera_new_cluster

Il comando precedente avvierà il cluster e aggiungerà server1 al cluster.

Puoi verificarlo con il seguente comando:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fornisci la tua password di root e premi Invio. Dovresti vedere il seguente output:

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Quindi, vai al secondo server e avvia il servizio MariaDB:

systemctl start mariadb

Successivamente, verifica la dimensione del tuo cluster con il seguente comando:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fornisci la tua password di root e premi Invio. Dovresti vedere che il secondo server si è unito al cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

Quindi, vai al terzo server e avvia il servizio MariaDB:

systemctl start mariadb

Successivamente, verifica la dimensione del tuo cluster con il seguente comando:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fornisci la tua password di root e premi Invio. Dovresti vedere che il terzo server si è unito al cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Passaggio 5:verifica della replica del cluster Galera

Il tuo cluster Galera è ora attivo e funzionante. È ora di testare e vedere se la replica funziona.

Per farlo, crea un database sul primo server e controlla se è stato replicato su altri server.

Sul server1, accedi alla shell MySQL con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto, quindi crea un database con il seguente comando:

create database replicadb;
create database mydb;

Quindi, esci dalla shell MySQL con il seguente comando:

exit;

Sul server2, accedi alla shell MySQL con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto e controlla se il database esiste.

show databases;

Dovresti ottenere il seguente output:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Sul server3, accedi alla shell MySQL con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto e controlla se il database esiste.

show databases;

Dovresti ottenere il seguente output:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

L'output sopra indica chiaramente che la replica funziona correttamente.

Conclusione

Congratulazioni! Hai installato e configurato correttamente un cluster MariaDB Galera a tre nodi su Ubuntu 18.04 VPS. Ora dovresti avere conoscenze sufficienti per configurare un cluster MariaDB Galera in un ambiente di produzione. Puoi visitare la documentazione di MariaDB Galera per ulteriori informazioni.


Linux
  1. Come installare MariaDB Galera Cluster su Ubuntu 16.04

  2. Come installare e configurare il server Redis in Ubuntu

  3. Come installare e configurare Mariadb 10 in Ubuntu 20.04

  4. Come installare e configurare il server OpenVPN su Ubuntu 20.04

  5. Come installare e configurare Fail2ban su Ubuntu?

Come installare e configurare il server LAMP su Ubuntu

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Come installare e configurare Parse Server su Ubuntu 20.04

Come installare e configurare un TeamSpeak Server su Ubuntu 18.04

Come installare e configurare un server Minecraft su Ubuntu 18.04