Colla MGC Guida amministratoreconfigurazione di un MySQL Galera Cluster utilizzando l’interfaccia...
Transcript of Colla MGC Guida amministratoreconfigurazione di un MySQL Galera Cluster utilizzando l’interfaccia...
Colla MGC Guida dell’amministratore
C o l l a M G C
V i a B a r i , 1 8 1 – 7 0 0 2 2
A l t a m u r a ( B A )
+ 3 9 0 8 0 2 4 6 4 2 0 9
i n f o @ c o l l a c o w o r k i n g . i t
Guida all’uso dell’interfaccia di amministrazione di Colla
MGC per l’installazione e configurazione di un MySQL
Galera Cluster su nodi hardware o macchine virtuali.
2 Colla MGC Guida dell’amministratore
Questa pagina è intenzionalmente bianca.
3 Colla MGC Guida dell’amministratore
1 Sommario
1 Sommario .................................................................................................................................................. 3
2 Introduzione .............................................................................................................................................. 5
3 URL dell’interfaccia di amministrazione .................................................................................................... 5
4 Principali funzionalità ................................................................................................................................ 8
5 System Monitoring .................................................................................................................................... 9
6 MGC Monitoring ...................................................................................................................................... 10
7 Logs .......................................................................................................................................................... 11
8 MGC Configuration .................................................................................................................................. 12
9 System Configuration ............................................................................................................................. 13
10 Colla MGC e la gestione di un MySQL Galera Cluster .......................................................................... 15
11 Configurazione base di un nodo per il cluster ..................................................................................... 17
11.1 Configurazione dell’interfaccia di rete ............................................................................................ 18
11.2 Configurazione dell’hostname ......................................................................................................... 19
11.3 Configurazione dell’orario di sistema o attivazione di un server NTP............................................. 19
11.4 Installazione della licenza ................................................................................................................ 20
12 Modalità standalone (Use as a local server)........................................................................................ 21
13 Installazione di un nuovo cluster ......................................................................................................... 23
13.1 Definire il nome del Cluster e attivazione del primo nodo ............................................................. 24
13.2 Aggiungere il secondo nodo ............................................................................................................ 26
13.3 Attivare il secondo nodo.................................................................................................................. 29
4 Colla MGC Guida dell’amministratore
13.4 Aggiungere il terzo nodo ................................................................................................................. 32
13.5 Attivare il terzo nodo ....................................................................................................................... 35
14 Start/Stop/Restart di mysqld su un nodo ............................................................................................ 39
15 Far ripartire l’intero cluster MGC ........................................................................................................ 39
16 Rimuovere un nodo dal cluster ........................................................................................................... 41
17 Cambiare la password MySQL di un utente ........................................................................................ 45
18 Creazione e cancellazione di utenti MySQL ......................................................................................... 46
19 Liberare spazio sul server .................................................................................................................... 48
20 Raccolta log per il supporto tecnico Colla MGC .................................................................................. 48
21 Modificare manualmente la configurazione di MySQL ....................................................................... 49
22 Utilizzare un bilanciatore ..................................................................................................................... 50
23 Backup database e samba server ........................................................................................................ 52
24 Servizi attivi su Colla MGC ................................................................................................................... 54
25 Esportare e importare la configurazione di Colla MGC ....................................................................... 55
26 Firmware updates ................................................................................................................................ 55
27 Attività di manutenzione di Colla MGC ............................................................................................... 57
27.1 Aggiornamenti del sistema operativo dalla console ....................................................................... 57
27.2 Cancellazione periodica dei log di Colla MGC ................................................................................. 58
27.3 Cancellazione periodica dei binary logs di MySQL .......................................................................... 59
28 Password di default di Colla MGC ....................................................................................................... 60
29 Licenza ................................................................................................................................................. 61
5 Colla MGC Guida dell’amministratore
2 Introduzione
Colla MGC è un appliance per creare e gestire in modo semplice e sicuro un Cluster MySQL
Multimaster. Si presenta sotto forma di un'immagine ISO che è possibile installare su
server fisici o su macchine virtuali.
Con Colla MGC vi sarà possibile creare il vostro cluster, scalare con il numero dei nodi,
tenere sotto controllo le risorse di sistema, monitorare lo stato del cluster, leggere i log,
eseguire backup, modificare parametri di configurazione e molto altro ancora. Tutto
questo collegandovi all'interfaccia di amministrazione di un singolo nodo.
In questa guida troverete tutte le informazioni necessarie per la corretta installazione e
configurazione di un MySQL Galera Cluster utilizzando l’interfaccia di amministrazione di
Colla MGC.
Colla MGC usa il sistema operativo Linux CentOS 7, il database open source MySQL, il
provider di replica cluster Galera, s_rest per la gestione dei nodi e un'interfaccia web
chiara e semplice per l'amministrazione del cluster da un singolo nodo.
Il sistema operativo CentOS 7 è stato ottimizzato per ottenere il massimo delle
prestazioni. MySQL e Galera, il provider di replica cluster, sono i due componenti
principali per la gestione e la replica dei dati. s_rest è un webserver REST che consente ai
nodi di scambiarsi le informazioni necessarie alla configurazione e gestione del cluster.
Infine un'interfaccia web di amministrazione rende possibile amministrare il cluster in
maniera comoda ed efficiente.
La procedura di configurazione di un nuovo cluster è molto semplice utilizzando
l’interfaccia di amministrazione di Colla MGC e vi consente di essere operativi nel giro di
poco tempo. Siamo sicuri che Colla MGC soddisferà il vostro desiderio di semplicità e
affidabilità nella creazione e gestione di un MySQL Galera Cluster. E siamo qui per
accogliere i vostri suggerimenti.
3 URL dell’interfaccia di amministrazione
Potete recuperare l’URL dell’interfaccia di amministrazione dalla console dell’appliance.
6 Colla MGC Guida dell’amministratore
URL della console di amministrazione di Colla MGC
Puntate il vostro browser all’indirizzo indicato. Colla MGC fa uso di un certificato SSL auto
firmato pertanto il browser segnalerà che la connessione non è sicura. Sarà necessario
aggiungere un’eccezione per poter procedere.
Segnalazione con il browser Chrome
Segnalazione con il browser Firefox
7 Colla MGC Guida dell’amministratore
Una volta aggiunta l’eccezione sul browser vi apparirà la finestra di login dell’interfaccia
di amministrazione di Colla MGC.
Procedete facendo il login utilizzando le credenziali seguenti:
username: admin
password: mgc
Avvertenza. Non utilizzate le password di default per il vostro appliance. Ricordatevi di
cambiarle periodicamente.
8 Colla MGC Guida dell’amministratore
4 Principali funzionalità
Terminata la fase di login all’interfaccia di amministrazione vi troverete di fronte alla
seguente finestra:
A – Il menu per l’utente admin attraverso il quale sarà possibile cambiare la password
dell’interfaccia di amministrazione di Colla MGC, effettuare il logout e avere informazioni
sulla licenza d’uso.
B – 5 schede per tutte le configurazioni sul Cluster e ottenere informazioni sullo stato di
salute dei nodi.
C – Dopo aver effettuato il login sarà visualizzata la scheda “System Monitoring”.
D – La barra di stato contiene l’ultima riga più significativa dei log e alcune informazioni
generali.
9 Colla MGC Guida dell’amministratore
5 System Monitoring
In questo paragrafo saranno inserite immagini di un cluster già configurato per completezza sulle varie
opzioni presenti nell’interfaccia di amministrazione.
La scheda System Monitoring contiene tutte le informazioni sullo stato di salute generale
dei nodi del cluster. Sarà possibile verificare gli indirizzi IP dei nodi, il numero di CPU
presenti e quanto sono impegnate (A), la quantità di RAM installata e quanta ne viene
utilizzata (B), lo spazio Disco totale e quello attualmente in uso (C).
Collegandovi all’interfaccia di amministrazione di un qualsiasi nodo del cluster, la scheda
System Monitoring procederà a collezionare tutte le informazioni necessarie per ogni
nodo. Questo avviene attraverso delle chiamate asincrone all’interfaccia REST (s_rest
server) dei vari nodi.
Può accadere che questa scheda abbia bisogno di un po’ di tempo per poter essere
visualizzata. È normale, soprattutto se il Cluster si trova in una fase di forte carico o vi è
difficoltà a reperire le informazioni da uno o più nodi.
10 Colla MGC Guida dell’amministratore
6 MGC Monitoring
In questo paragrafo saranno inserite immagini di un cluster già configurato per completezza sulle varie
opzioni presenti nell’interfaccia di amministrazione.
La scheda MGC Monitoring contiene tutte le informazioni sullo stato di salute di MySQL e
del provider di replica Galera sui vari nodi del cluster. Sarà possibile verificare lo stato
generale del server MySQL sul nodo in uso (A), visualizzare il numero dei nodi
attualmente attivi sul Cluster (B), e ottenere il dettaglio sullo stato di salute di MySQL e del
provider di replica Galera per ogni nodo (C).
Le informazioni utilizzate per costruire la scheda MGC Monitoring vengono collezionate
attraverso delle chiamate asincrone all’interfaccia REST (s_rest server) dei vari nodi.
L’applicazione è in grado di segnalare se ci sono dei problemi nel raggiungere il server
REST di un nodo in modo da avvisare l’amministratore che potrà provvedere a risolvere il
problema sul nodo in oggetto.
11 Colla MGC Guida dell’amministratore
7 Logs
In questo paragrafo saranno inserite immagini di un cluster già configurato per completezza sulle varie
opzioni presenti nell’interfaccia di amministrazione.
La scheda Logs contiene tutti i log e tutti gli strumenti per poter esaminare più
approfonditamente lo stato del Cluster e dei relativi nodi.
Nella sezione Event logs sono presenti tutti i log per le azioni eseguite nell’interfaccia di
amministrazione (A), Rest server logs riporta tutti i messaggi del server REST (B) infine
nella sezione MySQL error logs saranno presenti i messaggi relativi a MySQL e al provider
di replica Galera.
In alto trovate due bottoni di servizio. Collect logs (D) vi consentirà di collezionare i log di
sistema da inviare al supporto tecnico di Colla MGC. Questo renderà più semplice a un
nostro tecnico l’analisi di un eventuale problema. Delete old logs (E) vi consentirà di fare
una pulizia periodica dei log cancellando quelli più vecchi. Se il vostro server ha il disco
pieno, questa è una delle prima operazioni che potete eseguire per recuperare spazio.
12 Colla MGC Guida dell’amministratore
8 MGC Configuration
In questo paragrafo saranno inserite immagini di un cluster già configurato per completezza sulle varie
opzioni presenti nell’interfaccia di amministrazione.
La scheda MGC Configuration vi consente di eseguire la vera e propria installazione e
configurazione del vostro Cluster. Tutte le principali operazioni nella vita di un Cluster
saranno eseguite da qui: la creazione, aggiunta e rimozione di nodi, start/stop/restart di
MySQL (A), cambio della password di MySQL, backup dei database, cancellazione dei
vecchi binary logs (B) e se vi è la necessità di modificare manualmente il file di
configurazione di MySQL è presente una sezione Advanced che vi consentirà di farlo (C).
Non ci dilunghiamo molto in questa panoramica generale perché ognuna di queste voci
sarà trattata singolarmente e approfonditamente più avanti in questo documento.
13 Colla MGC Guida dell’amministratore
9 System Configuration
In questo paragrafo saranno inserite immagini di un cluster già configurato per completezza sulle varie
opzioni presenti nell’interfaccia di amministrazione.
La scheda System Configuration vi consente di eseguire la configurazione di base di un
nodo prima di entrare a far parte di un Cluster. È divisa in 4 aree specifiche.
Una prima parte in alto (A) con le informazioni di base sul sistema e due bottoni per lo
spegnimento e riavvio del nodo a cui siete collegati.
Poi una sezione (B) per configurare l’indirizzo IP del nodo, l’hostname, la timezone e un
eventuale NTP server per la sincronizzazione dell’orologio di sistema.
14 Colla MGC Guida dell’amministratore
Una terza sezione (C) che vi consente di esportare e importare la configurazione di
sistema dell’appliance, eseguire gli aggiornamenti firmware e importare la licenza.
Infine una sezione (D) per la gestione di alcuni servizi locali al singolo nodo.
s_rest è il server REST che consente ai nodi di scambiarsi le informazioni necessarie alla
configurazione e gestione del cluster. Da qui potrete far ripartire un eventuale servizio
s_rest fermo o bloccato.
Il servizio ssh viene utilizzato per consentire l’accesso in console a Colla MGC.
Samba viene utilizzato per rendere disponibili i backup dei database.
Non ci dilunghiamo molto in questa panoramica generale perché ognuna di queste voci
sarà trattata singolarmente e approfonditamente più avanti in questo documento.
15 Colla MGC Guida dell’amministratore
10 Colla MGC e la gestione di un MySQL Galera Cluster
Dopo la panoramica generale dei paragrafi precedenti sulle principali funzionalità
dell’interfaccia di amministrazione introduciamo i concetti chiave per poter utilizzare
Colla MGC per creare e configurare correttamente un MySQL Galera Cluster.
Come funziona Colla MGC?
Diagramma di funzionamento di Colla MGC
L’interfaccia di amministrazione può dialogare con tutti i nodi del cluster utilizzando una
REST-api, denominata s_rest server.
16 Colla MGC Guida dell’amministratore
s_rest server consente ai nodi di scambiarsi le informazioni necessarie alla configurazione
e gestione del cluster. Da un lato dialoga con l’interfaccia di amministrazione a cui passa le
informazioni da visualizzare, dall’altro si preoccupa di eseguire tutte le azioni necessarie
sul nodo per farlo funzionare correttamente e in armonia con il resto del cluster.
Il motore del cluster è rappresentato dalla coppia MySQL e provider di replica Galera.
Informazioni di dettaglio sul funzionamento di Galera Cluster possono essere trovate sul
sito ufficiale del progetto http://galeracluster.com/.
Avrete bisogno di un minimo di 3 nodi. Questo per evitare una particolare condizione
denominata split-brain. Galera Cluster usa un meccanismo di "quorum" ogni volta che
sospetta un problema su un nodo e deve decidere se escluderlo o meno dal cluster. In un
cluster a 2 nodi non ci sarebbe la maggioranza per poter prendere questo tipo di decisioni.
Inoltre se un nodo viene escluso dal cluster per un problema, al suo rientro un altro nodo
potrebbe non essere disponibile perché occupato nell'allineamento dei dati. Mentre due
dei membri sono impegnati in questa operazione la presenza del terzo consente di
continuare a servire le richieste dei client.
Durante la fase d’installazione e al primo riavvio i nodi sono stati configurati con un
indirizzo IP fornito da un server DHCP. Dovrete per prima cosa decidere gli hostname e gli
indirizzi IP statici da assegnare ai nodi. Una volta creato il cluster, l’hostname e l’indirizzo
IP del singolo nodo non può essere modificato se non escludendolo dal cluster.
Di seguito proponiamo un esempio di configurazione:
Nodo1: • Hostname: nodo-mgc-01 • Indirizzo IP: 192.168.1.11 • Netmask: 255.255.255.0 • Gateway: 192.168.1.1 • Server DNS: 192.168.1.1
Nodo2:
• Hostname: nodo-mgc-02 • Indirizzo IP: 192.168.1.12 • Netmask: 255.255.255.0 • Gateway: 192.168.1.1 • Server DNS: 192.168.1.1
Nodo3:
• Hostname: nodo-mgc-03 • Indirizzo IP: 192.168.1.13
17 Colla MGC Guida dell’amministratore
• Netmask: 255.255.255.0 • Gateway: 192.168.1.1 • Server DNS: 192.168.1.1
Avvertenza. Sebbene sia possibile configurare un cluster utilizzando gli indirizzi IP forniti
dal server DHCP questo è sconsigliato. Un eventuale cambio dell’indirizzo IP di un nodo
dovuto a un riavvio e a un lease scaduto “romperebbe” la comunicazione fra i nodi e di
conseguenza il cluster smetterebbe di funzionare. Ricordate sempre di scegliere e
configurare correttamente degli indirizzi IP statici per i vostri nodi.
Bene, ho le informazioni necessarie per configurare i singoli nodi del cluster, come devo
procedere?
Il paragrafo seguente indica come effettuare la “Configurazione base di un nodo per il
Cluster”.
11 Configurazione base di un nodo per il cluster
In questo paragrafo sintetizziamo i passaggi necessari alla preparazione di base di un
nodo per poter far parte di un MySQL Galera Cluster:
• Configurazione dell’interfaccia di rete
• Configurazione dell’hostname
• Configurazione dell’orario di sistema o attivazione di un server NTP
• Installazione della licenza
18 Colla MGC Guida dell’amministratore
11.1 Configurazione dell’interfaccia di rete
Collegatevi all’interfaccia di amministrazione del nodo utilizzando l’URL che potete
recuperare dalla console.
Spostatevi nella scheda “System Configuration” sezione “Setup Network Interface (eth0)”
e compilate correttamente i campi:
• IP Address • Netmask • Default Gateway • DNS Server IP
Cliccate su Save per salvare la nuova configurazione IP.
Quando salvate la nuova configurazione IP non sarà più possibile accedere all’interfaccia
di amministrazione con lo stesso indirizzo IP che avete utilizzato finora. Vi sarà mostrato
il messaggio seguente:
e apparentemente non è più possibile utilizzare l’interfaccia di amministrazione.
Il salvataggio della configurazione IP avvia una procedura di modifica del sistema che
configura immediatamente il nuovo indirizzo IP. Dovrete pertanto chiudere l’interfaccia di
amministrazione e collegarvi con il nuovo indirizzo IP appena configurato.
Se avete a disposizione la console dell’appliance potete visualizzare le modifiche
apportate al sistema semplicemente dando “Invio” al suo interno. Il messaggio di sistema
si aggiornerà mostrando la nuova URL a cui potete collegarvi per continuare a utilizzare
l’appliance.
19 Colla MGC Guida dell’amministratore
11.2 Configurazione dell’hostname
L’hostname è un altro parametro molto importante per la configurazione di un MySQL
Galera Cluster. Vi sarà possibile modificare questo parametro fintanto che il nodo non
diventa membro di un Cluster. Da quel momento in poi, per poter aggiornare o modificare
l’hostname bisogna prima escludere il nodo dal Cluster.
È per questo motivo che la scelta dell’hostname fa parte della “Configurazione base di un
nodo per il Cluster” (ulteriori dettagli nel paragrafo relativo).
Collegatevi all’interfaccia di amministrazione del nodo utilizzando l’URL che potete
recuperare dalla console.
Spostatevi nella scheda “System Configuration” e compilate correttamente il campo
Hostname. Cliccate su Update per salvare la configurazione.
Il risultato è immediatamente visibile in alto nella sezione “System”.
11.3 Configurazione dell’orario di sistema o attivazione di un server NTP
L’orario di sistema svolge un ruolo fondamentale nella vita di un Cluster, non solo per
l’allineamento dei messaggi di log ma anche per il corretto funzionamento del sistema. Vi
consigliamo pertanto di configurare un server NTP.
Collegatevi all’interfaccia di amministrazione del nodo utilizzando l’URL che potete
recuperare dalla console.
Spostatevi nella scheda “System Configuration” e compilate correttamente il campo Setup
NTP Server oppure configurate manualmente data e ora nei campi Date e Time.
20 Colla MGC Guida dell’amministratore
Il risultato è immediatamente visibile in alto nella sezione “System”.
11.4 Installazione della licenza
Prima di poter utilizzare l’appliance Colla MGC per configurare un nuovo MySQL Galera
Cluster dovrete necessariamente installare una licenza.
Potete richiedere una licenza di prova gratuita utilizzando il link presente sulla barra di
stato dell’interfaccia di amministrazione:
Una volta ricevuto il file di licenza potete importarlo sul vostro appliance spostandovi
nella scheda “System Configuration” sezione “Setup License File”:
Ad operazione eseguita attendete qualche secondo per la verifica del file e se aggiornate
nuovamente la pagina con il tasto funzione F5 il vostro appliance dovrebbe attivarsi:
21 Colla MGC Guida dell’amministratore
12 Modalità standalone (Use as a local server)
Colla MGC può essere utilizzato per attivare MySQL Galera Cluster su un singolo nodo.
Questa funzione è molto utile per eseguire dei test, benchmark, backup e restore o
semplicemente per testare l’interfaccia grafica di Colla MGC senza dover configurare un
intero cluster. Ovviamente non sarà possibile usufruire di tutte le funzionalità tipiche di
un cluster vero e proprio, primo fra tutti la replica dei dati.
Per attivare la modalità Standalone vi sarà ugualmente necessario richiedere una licenza.
Potete richiedere una licenza di prova gratuita utilizzando il link presente sulla barra di
stato dell’interfaccia di amministrazione:
È utile, anche volendo utilizzare la modalità Standalone, avere il nodo correttamente
configurato per la parte indirizzo IP, hostname, ecc. Se non lo avete fatto per favore
tornate al paragrafo “Configurazione base di un nodo per il cluster” e seguite le
istruzioni.
Dalla scheda “MGC Configuration” fate clic sul bottone “Use as a local server”.
22 Colla MGC Guida dell’amministratore
L’interfaccia di amministrazione abbisogna di qualche secondo per poter configurare il
nodo. La scheda MGC Configuration si aggiornerà presentandovi un cluster composto da
un solo nodo senza darvi la possibilità di aggiungerne altri.
Da questo momento potete utilizzare questo nodo come una normale istanza di MySQL.
23 Colla MGC Guida dell’amministratore
13 Installazione di un nuovo cluster
In questo paragrafo vogliamo sintetizzare i passaggi necessari alla creazione di un MySQL
Galera Cluster utilizzando l’interfaccia di amministrazione di Colla MGC. Prima di
procedere dovreste aver già eseguito la “Configurazione base di un nodo per il cluster”
su tutti i nodi. Se non lo avete fatto per favore tornate al paragrafo relativo e seguite le
istruzioni.
La procedura di installazione di un nuovo cluster è molto semplice e in forma descrittiva
potremmo sintetizzarla in questo modo: il primo nodo è quello che da vita al cluster,
successivamente si aggiungono gli altri nodi, uno alla volta.
Vi anticipiamo che il primo nodo è l’unico che fa partire i servizi MySQL e Galera in
automatico. Gli altri nodi, dopo essere stati aggiunti al cluster, rimangono in attesa. Sarà
l’amministratore a decidere quando far partire per la prima volta MySQL e di conseguenza
la prima sincronizzazione dei dati.
L’elenco delle operazioni da eseguire per la creazione di un nuovo cluster di 3 nodi è la
seguente:
• Definire il nome del Cluster e attivazione del primo nodo
• Aggiungere il secondo nodo
• Attivare il secondo nodo
• Aggiungere il terzo nodo
• Attivare il terzo nodo
L’operazione di creazione e gestione di un cluster può essere eseguita collegandosi
all’interfaccia di amministrazione di un solo nodo. Man mano che i nodi vengono aggiunti
al cluster, la loro interfaccia di amministrazione si sincronizzerà con le altre presentando
all’amministratore di Colla MGC le stesse informazioni presenti sugli altri nodi già attivi.
24 Colla MGC Guida dell’amministratore
13.1 Definire il nome del Cluster e attivazione del primo nodo
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Collegatevi all’interfaccia di amministrazione di un nodo. Nel nostro caso abbiamo scelto
https://192.168.42.60 e spostatevi nella scheda “MGC Configuration”.
Vi si presenterà la finestra seguente:
25 Colla MGC Guida dell’amministratore
Definite il nome del Cluster e fate clic su Create New Cluster.
Avvertenza. Potete utilizzare solo lettere per definire il nome del Cluster. Dovrete
digitare un minimo di 4 e un massimo di 20 caratteri.
Dopo aver cliccato sul bottone Create New Cluster il nodo abbisogna di qualche secondo
per creare la configurazione. Non appena avrà terminato vi apparirà la finestra seguente:
Le informazioni contenute in questa finestra ci indicano che:
A – il servizio mysqld sul nodo è stato attivato e si trova attualmente in stato Started.
B – al momento questo è l’unico nodo presente sul cluster.
C – tutti i dettagli sul Cluster appena creato: il nome, l’elenco dei nodi, lo stato del Cluster e
una serie di bottoni per eseguire azioni amministrative.
26 Colla MGC Guida dell’amministratore
D – infine nella barra di stato viene descritta l’azione intrapresa: è stato fatto il bootstrap
di un cluster e lo start del servizio MySQL con successo.
Finito. Il vostro Cluster, composto al momento da un solo nodo, è attivo e funzionante.
Potete già connettervi alla porta MySQL di questo nodo (3306) e inserire i primi dati.
13.2 Aggiungere il secondo nodo
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nel paragrafo precedente abbiamo effettuato il bootstrap del Cluster. Siamo quindi già in
presenza di un Cluster configurato che al momento contiene un solo nodo
“192.168.42.60”. In questo paragrafo andremo ad aggiungere il nostro secondo nodo:
192.168.42.61.
Avvertenza. Dopo aver eseguito il bootstrap di un MySQL Galera Cluster, tutte le
operazioni sui nodi possono essere eseguite su un nodo “attivo” del cluster. Se avete
appena fatto il bootstrap dal primo nodo del cluster, esso è l’unico che potete utilizzare
per poter eseguire delle operazioni sul cluster stesso.
27 Colla MGC Guida dell’amministratore
Dovreste ancora essere collegati all’interfaccia di amministrazione del primo nodo
https://192.168.42.60. Nella scheda “MGC Configuration” abbiamo lasciato la situazione
seguente:
Andiamo ad aggiungere il nostro secondo nodo in “Add MGC node by IP Address”:
Avvertenza. Il nodo che andremo ad aggiungere al Cluster dovrà essere acceso e
correttamente configurato come descritto nel paragrafo “Configurazione base di un
nodo per il Cluster”.
Dopo aver cliccato sul bottone Add Node il nodo abbisogna di qualche secondo per creare
la configurazione. Non appena avrà terminato vi apparirà la finestra seguente:
28 Colla MGC Guida dell’amministratore
Le informazioni contenute in questa finestra ci indicano che:
A – il nodo è stato correttamente aggiunto al cluster. La barra di stato ci ricorda che
dobbiamo eseguire lo start di MySQL sul nodo per potergli consentire di partecipare
attivamente al cluster.
B – il nodo è presente nella lista dei nodi sul cluster ma al momento non è attivo.
C – l’indicazione del numero dei nodi “attivi” riporta 1.
29 Colla MGC Guida dell’amministratore
13.3 Attivare il secondo nodo
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Dovreste ancora essere collegati all’interfaccia di amministrazione del primo nodo
https://192.168.42.60. Nella scheda “MGC Configuration” abbiamo lasciato la situazione
seguente:
30 Colla MGC Guida dell’amministratore
Per attivare il secondo nodo e farlo partecipare attivamente al Cluster dovrete
semplicemente eseguire lo start di MySQL:
Clicchiamo sul bottone Start in corrispondenza del secondo nodo 192.168.42.61.
L’interfaccia abbisogna di qualche secondo per modificare la configurazione e inviare al
nodo i comandi necessari per includerlo nel Cluster.
L’operazione avviene in tre fasi.
• Una prima fase di inizializzazione:
• Una seconda fase in cui viene chiesto al cluster di effettuare la Join del nuovo nodo
con conseguente trasferimento dei dati:
• Una terza fase in cui il nodo correttamente allineato riporta nello stato la dicitura
“Synced” a indicare che è pronto per partecipare alla vita del Cluster. Da questo
momento è possibile utilizzarlo in lettura/scrittura come qualsiasi altro nodo:
31 Colla MGC Guida dell’amministratore
Approfondimento. Non sempre la prima e seconda fase risultano essere visibili. In fase di
attivazione di un nuovo Cluster generalmente non vi sono molti dati presenti su MySQL, se
non i database di sistema. La procedura di attivazione di un nuovo nodo è molto rapida
perché non vi è alcun dato da sincronizzare. L’interfaccia di amministrazione vi farà vedere
direttamente la terza fase, con i nodi tutti in stato “Synced”.
La situazione è differente se state attivando un nodo su di un Cluster che contiene già molti
dati. La seconda fase, che nel gergo del provider di replica Galera è chiamata State Snapshot
Transfer (SST), può durare diversi minuti, tutto il tempo necessario al cluster per allineare il
nuovo nodo con i dati già presenti in MySQL. Ovviamente non è la casistica descritta in
questo paragrafo.
Avvertenza. Utilizzate sempre il bottone di refresh del browser [F5] per aggiornare il
contenuto della scheda “MGC Configuration”. Per scelta la pagina non si aggiorna
automaticamente.
Al termine dell’operazione di attivazione del secondo nodo la nostra interfaccia di
amministrazione nella scheda MGC Configuration presenterà la situazione seguente:
Le informazioni contenute in questa finestra ci indicano che:
32 Colla MGC Guida dell’amministratore
A – il nodo è stato correttamente aggiunto al cluster. La barra di stato ci riporta che lo
start di MySQL sul nodo è avvenuto con successo.
B – il nodo è presente nella lista dei nodi sul cluster ed è attivo.
C – l’indicazione del numero dei nodi “attivi” riporta 2.
13.4 Aggiungere il terzo nodo
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nel paragrafo precedente abbiamo attivato il secondo nodo sul Cluster. Al momento
quindi abbiamo due membri attivi e configurati correttamente “192.168.42.60” e
“192.168.42.61”. In questo paragrafo andremo ad aggiungere il nostro terzo nodo:
192.168.42.62.
Avvertenza. Le operazioni sul cluster possono essere eseguite soltanto da nodi attivi.
Negli esempi di questo paragrafo quindi potete usare indifferentemente uno dei due nodi
già configurati nei paragrafi precedenti.
33 Colla MGC Guida dell’amministratore
Dovreste ancora essere collegati all’interfaccia di amministrazione del primo nodo
https://192.168.42.60. Se non lo siete, potete collegarvi all’interfaccia di uno dei due nodi
già configurati nei paragrafi precedenti https://192.168.42.60 o https://192.168.42.61.
Nella scheda “MGC Configuration” abbiamo lasciato la situazione seguente:
Andiamo ad aggiungere il nostro terzo nodo in “Add MGC node by IP Address”:
Avvertenza. Il nodo che andremo ad aggiungere al Cluster dovrà essere acceso e
correttamente configurato come descritto nel paragrafo “Configurazione base di un
nodo per il Cluster”.
34 Colla MGC Guida dell’amministratore
Dopo aver cliccato sul bottone Add Node il nodo abbisogna di qualche secondo per creare
la configurazione. Non appena avrà terminato vi apparirà la finestra seguente:
Le informazioni contenute in questa finestra ci indicano che:
A – il nodo è stato correttamente aggiunto al cluster. La barra di stato ci ricorda che
dobbiamo eseguire lo start di MySQL sul nodo per potergli consentire di partecipare
attivamente al cluster.
B – il nodo è presente nella lista dei nodi sul cluster ma al momento non è attivo.
C – l’indicazione del numero dei nodi “attivi” riporta 2.
35 Colla MGC Guida dell’amministratore
13.5 Attivare il terzo nodo
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Dovreste ancora essere collegati all’interfaccia di amministrazione del primo nodo
https://192.168.42.60. Nella scheda “MGC Configuration” abbiamo lasciato la situazione
seguente:
36 Colla MGC Guida dell’amministratore
Per attivare il terzo nodo e farlo partecipare attivamente al Cluster dovrete
semplicemente eseguire lo start di MySQL:
Clicchiamo sul bottone Start in corrispondenza del terzo nodo 192.168.42.62. L’interfaccia
abbisogna di qualche secondo per modificare la configurazione e inviare al nodo i
comandi necessari per includerlo nel Cluster.
L’operazione avviene in tre fasi.
• Una prima fase di inizializzazione:
• Una seconda fase in cui viene chiesto al cluster di effettuare la Join del nuovo nodo
con conseguente trasferimento dei dati:
• Una terza fase in cui il nodo correttamente allineato riporta nello stato la dicitura
“Synced” a indicare che è pronto per partecipare alla vita del Cluster. Da questo
momento è possibile utilizzarlo in lettura/scrittura come qualsiasi altro nodo:
37 Colla MGC Guida dell’amministratore
Approfondimento. Non sempre la prima e seconda fase risultano essere visibili. In fase di
attivazione di un nuovo Cluster generalmente non vi sono molti dati presenti su MySQL, se
non i database di sistema. La procedura di attivazione di un nuovo nodo è molto rapida
perché non vi è alcun dato da sincronizzare. L’interfaccia di amministrazione vi farà vedere
direttamente la terza fase, con i nodi tutti in stato “Synced”.
La situazione è differente se state attivando un nodo su di un Cluster che contiene già molti
dati. La seconda fase, che nel gergo del provider di replica Galera è chiamata State Snapshot
Transfer (SST), può durare diversi minuti, tutto il tempo necessario al cluster per allineare il
nuovo nodo con i dati già presenti in MySQL. Ovviamente non è la casistica descritta in
questo paragrafo.
Avvertenza. Utilizzate sempre il bottone di refresh del browser [F5] per aggiornare il
contenuto della scheda “MGC Configuration”. Per scelta la pagina non si aggiorna
automaticamente.
Al termine dell’operazione di attivazione del terzo nodo la nostra interfaccia di
amministrazione nella scheda MGC Configuration presenterà la situazione seguente:
38 Colla MGC Guida dell’amministratore
Le informazioni contenute in questa finestra ci indicano che:
A – il nodo è stato correttamente aggiunto al cluster. La barra di stato ci riporta che lo
start di MySQL sul nodo è avvenuto con successo.
B – il nodo è presente nella lista dei nodi sul cluster ed è attivo.
C – l’indicazione del numero dei nodi “attivi” riporta 3.
Abbiamo terminato la configurazione del nostro MySQL Galera Cluster composto da 3
nodi. Da questo momento sarà possibile utilizzare tutti i nodi per le operazioni di
lettura/scrittura sul database. Allo stesso modo le interfacce di amministrazione dei 3
nodi sono sincronizzate. Collegandovi ad un nodo attivo vi sarà possibile eseguire tutte le
operazioni sul cluster e per tutti i nodi.
39 Colla MGC Guida dell’amministratore
14 Start/Stop/Restart di mysqld su un nodo
Collegandovi all’interfaccia di amministrazione di Colla MGC su un nodo attivo di un
cluster vi sarà possibile eseguire le operazioni di start/stop/restart del servizio MySQL su
qualsiasi nodo.
La scheda “MGC Configuration” nella sezione “Mysql Galera Cluster” contiene l’elenco di
tutti i nodi con le relative azioni:
15 Far ripartire l’intero cluster MGC
Se avete eseguito lo stop di MySQL su tutti i nodi di un MySQL Galera Cluster, collegandovi
all’interfaccia di amministrazione nella scheda “MGC Configuration” vedrete la situazione
seguente:
Colla MGC è in grado di effettuare il bootstrap del cluster non appena avvierete MySQL sul
primo nodo:
40 Colla MGC Guida dell’amministratore
La barra di stato indicherà che il bootstrap del Cluster è avvenuto con successo:
Maggiori informazioni si possono trovare nella scheda “Logs” alla sezione “Mysql error
logs”:
È possibile procedere ora all’avvio di MySQL sugli altri nodi, uno alla volta. Facciamo
ripartire MySQL sul secondo nodo:
E infine sul terzo:
MySQL Galera Cluster è ripartito correttamente.
41 Colla MGC Guida dell’amministratore
16 Rimuovere un nodo dal cluster
Le immagini di esempio fanno riferimento a un cluster i cui singoli nodi sono stati preparati come descritto
nel paragrafo “Configurazione base di un nodo per il Cluster” con i dati seguenti:
Nodo1: • Hostname: mgc-server-01 • Indirizzo IP: 192.168.42.60 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo2: • Hostname: mgc-server-02 • Indirizzo IP: 192.168.42.61 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Nodo3: • Hostname: mgc-server-03 • Indirizzo IP: 192.168.42.62 • Netmask: 255.255.255.0 • Gateway: 192.168.42.1 • Server DNS: 8.8.8.8,8.8.4.4
Per rimuovere un nodo dal Cluster dovrete per prima cosa effettuare lo stop di Mysql sul
nodo in oggetto. Con il servizio MySQL fermo il bottone “Delete node” diventa attivo.
Avvertenza. Rimuovendo un nodo dal cluster tutti i dati presenti “sul nodo” saranno
cancellati. Il nodo sarà inizializzato con la configurazione standard di MySQL e potrà
essere utilizzato per far parte di un nuovo cluster.
Cliccando sul bottone “Delete node” vi apparirà la finestra di conferma seguente:
Un successivo clic su “Delete” avvia la procedura di rimozione del nodo.
Vogliamo sottolineare che la rimozione di un nodo dal cluster non genera alcun
disservizio, se gli altri nodi sono attivi e funzionanti. L’interfaccia di amministrazione dei
42 Colla MGC Guida dell’amministratore
nodi che sono ancora parte del cluster, si aggiornerà, e indicherà di effettuare il restart del
servizio MySQL. Più avanti in questo paragrafo saranno fornite informazioni di dettaglio
in merito alla necessità di effettuare il restart di MySQL in seguito alla rimozione di un
nodo dal cluster.
Come per la maggior parte delle operazioni di amministrazione su Colla MGC anche questa
può essere eseguita dall’interfaccia di amministrazione di qualsiasi nodo. Chiaramente
cosa vedrete al termine dell’operazione nella scheda “MGC Configuration” dipende da
dove state effettuando l’operazione di rimozione.
Rimozione di un nodo dall’interfaccia di amministrazione “del nodo oggetto della
rimozione”.
Poniamo ad esempio che vogliate rimuovere il nodo 192.168.42.62 dal nostro cluster di
esempio. Se effettuate l’operazione collegandovi all’interfaccia di amministrazione del
nodo 192.168.42.62, al termine dell’operazione la scheda “MGC Configuration” apparirà
come quella di un nodo non ancora configurato.
Siete sul nodo che è stato appena rimosso dal cluster pertanto non ha altre informazioni
da mostrarvi in questa finestra:
43 Colla MGC Guida dell’amministratore
Rimozione di un nodo dall’interfaccia di amministrazione effettuata da “un nodo
diverso da quello oggetto della rimozione”.
Poniamo ad esempio che vogliate rimuovere il nodo 192.168.42.62 dal nostro cluster di
esempio. Se effettuate l’operazione collegandovi all’interfaccia di amministrazione del
nodo 192.168.42.60 o 192.168.42.61 al termine dell’operazione la scheda “MGC
Configuration” aggiornerà lo stato del cluster:
Si può notare dall’ultima immagine che rimuovere un nodo dal cluster rende necessario il
riavvio di MySQL sui nodi rimanenti. L’interfaccia di amministrazione dei nodi ancora
presenti nel cluster riporta nello stato dei nodi “mysqld need restart”:
Questo è necessario perché è cambiata la composizione del cluster e di conseguenza i file
di configurazione di MySQL e Galera. L’operazione è volutamente manuale perché è
necessario che l’amministratore del cluster possa seguire da vicino cosa avviene sugli
appliance e possa scegliere il momento migliore per eseguire l’operazione.
44 Colla MGC Guida dell’amministratore
Come anticipato precedentemente in questo paragrafo, l’indicazione “mysqld need
restart” non modifica o limita la capacità dei nodi che sono ancora parte del cluster di
ricevere ed erogare traffico. Essi sono ancora in servizio. L’interfaccia di amministrazione
di Colla MGC ricorda semplicemente all’amministratore del cluster che la procedura di
rimozione del nodo non è ancora del tutto terminata. Essa sarà completa quando sarà
eseguito il restart del servizio MySQL sui nodi indicati.
È lasciata all’amministratore del cluster la decisione del momento più opportuno per
eseguire l’operazione. Il restart di MySQL di per sé, non comporta alcun disservizio.
Tuttavia l’amministratore del cluster potrebbe decidere di eseguire l’operazione in
momenti di minor carico o di scollegare il nodo che intende riavviare dal bilanciatore o
dalle applicazioni di frontend per poterlo fare mentre il cluster sta continuando servire
richieste.
Quando siete pronti potete procedete al riavvio di MySQL sui nodi rimanenti, uno alla
volta:
Ricordate sempre che Mysql Galera Cluster necessita di un minimo di 3 nodi. Questo per
evitare una particolare condizione denominata split-brain. Galera Cluster usa un
meccanismo di "quorum" ogni volta che sospetta un problema su un nodo e deve decidere
se escluderlo o meno dal cluster. In un cluster a 2 nodi non ci sarebbe la maggioranza per
poter prendere questo tipo di decisioni. Inoltre se un nodo viene escluso dal cluster per un
problema, al suo rientro un altro nodo potrebbe non essere disponibile perché occupato
nell'allineamento dei dati. Mentre due dei membri sono impegnati in questa operazione la
presenza del terzo consente di continuare a servire le richieste dei client.
45 Colla MGC Guida dell’amministratore
Avvertenza. Se state rimuovendo un nodo da un cluster che era composto di 3 nodi vi
state esponendo al rischio split-brain. Vi consigliamo pertanto di procedere al più presto
con il ripristino della configurazione minima di 3 nodi.
Avvertenza. Rimuovere un nodo dal cluster rende necessario il riavvio di MySQL sui nodi
rimanenti. Questo tuttavia non crea alcuna interruzione di servizio e il cluster continuerà
a funzionare normalmente.
17 Cambiare la password MySQL di un utente
Cambiare la password di un utente MySQL è un’operazione molto semplice tanto che
questo paragrafo potrebbe apparentemente risultare superfluo. La ragione per cui la
modifica della password MySQL di un utente viene trattata in modo specifico risiede in
una delle limitazione del provider di replica Galera: la replica multi master non supporta
motori di archiviazione non transazionali, come MyISAM, ma funziona solo con i motori di
archiviazione InnoDB.
Il database interno “mysql” viene utilizzato dal server MySQL per gestire gli utenti, i
permessi ecc. e contiene al suo interno tabelle MyISAM, fra cui proprio quella degli utenti.
Una query di INSERT o UPDATE sulla tabella mysql.user lanciata su un nodo del cluster
non verrebbe replicata. C’è tuttavia il modo di aggirare questa limitazione, facendo uso
delle istruzioni DDL (Data Definition Language). Esse vengono replicate a livello di
istruzione e quindi ci consentono di operare sul database di sistema “mysql” senza
preoccuparci del fatto che stiamo operando su tabelle MyISAM.
Facciamo degli esempi per comprendere meglio. Se si dovessero lanciare le query
seguenti:
mysql> CREATE USER 'esempio'@'localhost' IDENTIFIED BY 'miapassword';
mysql> GRANT ALL ON nomedatabase.* FOR 'esempio'@'l ocalhost';
le modifiche apportate alle tabelle del database interno “mysql” sarebbero replicate sul
cluster, perché stiamo utilizzando le DDL.
46 Colla MGC Guida dell’amministratore
Se invece utilizzassimo la query seguente:
mysql> INSERT INTO mysql.user (Host, User, Password ) VALUES ('localhost',
'esempio', 'miapassword');
le modifiche non sarebbero replicate e l’utente esempio potrà accedere solo al nodo sul
quale avete eseguito la query, non su tutto il cluster.
Per rendere più semplice l’operazione di modifica della password di un utente, Colla MGC
mette a disposizione due strumenti nella scheda “MGC Configuration” sezione
“Administration”: uno per modificare rapidamente la password per l’utente root di
MySQL, l’altro per modifica la password degli altri utenti.
Questi strumenti sono in grado di lavorare a livello di cluster utilizzando appunto le DDL e
vi consentiranno di modificare le password senza preoccuparvi dei dettagli connessi alla
replica.
Avvertenza. È necessario che comprendiate appieno come operare in autonomia sulle
tabelle MyISAM del database interno “mysql”. Vi rimandiamo per questo alla
documentazione ufficiale di MySQL e Galera.
18 Creazione e cancellazione di utenti MySQL
Creare o cancellare utenti MySQL sono operazioni molto semplici tanto che questo
paragrafo potrebbe apparentemente risultare superfluo. La ragione per cui l’argomento
viene trattato in modo specifico risiede in una delle limitazione del provider di replica
Galera: la replica multi master non supporta motori di archiviazione non transazionali,
come MyISAM, ma funziona solo con i motori di archiviazione InnoDB.
47 Colla MGC Guida dell’amministratore
Il database interno “mysql” viene utilizzato dal server MySQL per gestire gli utenti, i
permessi ecc. e contiene al suo interno tabelle MyISAM, fra cui proprio quella degli utenti.
Una query di INSERT o UPDATE sulla tabella mysql.user lanciata su un nodo del cluster
non verrebbe replicata. C’è tuttavia il modo di aggirare questa limitazione, facendo uso
delle istruzioni DDL (Data Definition Language). Esse vengono replicate a livello di
istruzione e quindi ci consentono di operare sul database di sistema “mysql” senza
preoccuparci del fatto che stiamo operando su tabelle MyISAM.
Facciamo degli esempi per comprendere meglio.
Se si dovessero lanciare le query seguenti:
mysql> CREATE USER 'esempio'@'localhost' IDENTIFIED BY 'miapassword';
mysql> GRANT ALL ON nomedatabase.* FOR 'esempio'@'l ocalhost';
le modifiche apportate alle tabelle del database interno “mysql” sarebbero replicate sul
cluster, perché stiamo utilizzando le DDL.
Se invece utilizzassimo la query seguente:
mysql> INSERT INTO mysql.user (Host, User, Password ) VALUES ('localhost',
'esempio', 'miapassword');
le modifiche non sarebbero replicate e l’utente esempio potrà accedere solo al nodo sul
quale avete eseguito la query, non su tutto il cluster.
Avvertenza. Utilizzate sempre istruzioni DDL quando operate sul database interno
“mysql”. È necessario che comprendiate appieno come operare in autonomia sulle tabelle
MyISAM del database interno “mysql”. Vi rimandiamo per questo alla documentazione
ufficiale di MySQL e Galera.
48 Colla MGC Guida dell’amministratore
19 Liberare spazio sul server
Può capitare di collegarsi all’interfaccia di amministrazione di Colla MGC e notare dalla
scheda “System Monitoring” che uno o più nodi stanno per terminare lo spazio disco.
Chiaramente un evento di questo tipo merita un’analisi più approfondita, ma cosa si può
fare come prima azione per liberare dello spazio disco sul server senza compromettere il
corretto funzionamento del cluster?
• Cancellare i log di Colla MGC
• Cancellare i binary logs di MySQL
Entrambi gli argomenti sono stati trattati in due paragrafi di questo documento.
20 Raccolta log per il supporto tecnico Colla MGC
Per poter analizzare al meglio un’eventuale problema che si è verificato su un nodo del
vostro cluster il supporto tecnico Colla MGC vi chiederà di inviare i log dell’appliance.
Collegatevi all’interfaccia di amministrazione del nodo in oggetto, scheda”Logs”. In alto è
presente il bottone “Collect logs (Support)”.
Un clic su questo bottone avvierà una procedura che comprimerà tutti i log dell’appliance
e vi consentirà di effettuare il download del file prodotto.
Utilizzate il file secondo le indicazioni ricevute dal supporto tecnico Colla MGC.
49 Colla MGC Guida dell’amministratore
21 Modificare manualmente la configurazione di MySQL
Colla MGC arriva con una configurazione base di MySQL e del provider di replica Galera in
grado di sostenere egregiamente le principali esigenze di un database server utilizzato
come backend per applicazioni web, API SaaS, application server, CRM, CMS, ecc.
Tuttavia, se avete la necessità di modificare manualmente la configurazione di MySQL,
Colla MGC rende disponibile nella scheda “MGC Configuration” una sezione “Advanced” in
fondo alla pagina. Durante il normale uso dell’interfaccia di amministrazione questa
sezione è chiusa. Per poterla aprire dovrete cliccare sull’icona alla sua sinistra:
Una volta aperta vi si presenterà la possibilità di editare direttamente il file di
configurazione di MySQL.
Avvertenza. Si consiglia di utilizzare questa funzione avanzata con molta attenzione.
Impostazioni non corrette dei parametri di configurazione di MySQL potrebbero
compromettere il corretto funzionamento di MySQL Galera Cluster.
50 Colla MGC Guida dell’amministratore
In basso sono presenti due bottoni:
“Save” consente di salvare le modifiche apportate alla configurazione di MySQL su tutti i
nodi del cluster. Il bottone “Save” non è sempre disponibile. Esso infatti sarà attivo solo
quando tutti i nodi del cluster sono attivi e con MySQL in esecuzione.
“Save and Apply”, oltre al salvataggio delle modifiche apportate alla configurazione di
MySQL su tutti i nodi del cluster, provvede anche al riavvio del servizio MySQL. Il bottone
“Save and Apply” sarà sempre disattivato quando MySQL Galera Cluster sta erogando
servizio, allo scopo di impedire l’esecuzione automatica del riavvio del servizio MySQL su
tutti i nodi. Questa è un’operazione molto delicata sulla quale l’amministratore del cluster
deve avere pieno controllo. Per questo motivo abbiamo deciso di non automatizzarla. Una
volta eseguite le modifiche al file di configurazione di MySQL e averle salvate sull’intero
cluster attraverso il bottone “Save” spetterà all’amministratore eseguire il riavvio dei
servizi MySQL su tutti i nodi del cluster.
Approfondimento. Se state utilizzando Colla MGC nella modalità Standalone (Use as a local
server) i bottoni “Save” e “Save and Apply” saranno sempre attivi in fondo alla sezione
“Advanced”.
22 Utilizzare un bilanciatore
Ci sono vari modi per sfruttare appieno un MySQL Galera Cluster configurato con gli
appliance Colla MGC. Uno dei più utilizzati è un bilanciatore di carico (load balancer) in
grado di distribuire tutte le connessioni in ingresso tra i vari nodi.
Così facendo sarà possibile migliorare l’alta affidabilità del servizio, con le richieste che
verranno sempre e solo indirizzate ai server "attivi", e la disponibilità del servizio, con le
richieste che verranno inviate ai server meno “carichi” in quel momento.
Un bilanciatore, per poter funzionare correttamente, ha bisogno di comunicare con tutti i
nodi del cluster per controllare se sono attivi, in modo da poterne escludere uno o più a
fronte di un problema.
51 Colla MGC Guida dell’amministratore
È possibile configurare il bilanciatore per monitorare la porta TCP di MySQL (3306)
tuttavia questo potrebbe non essere sufficiente. Può capitare infatti che un MySQL server
abbia la porta del servizio in grado di accettare connessioni mentre il motore MySQL non
è in grado di eseguire query.
Colla MGC rende disponibile il controllo dello stato di un nodo sulla porta 9200 ed effettua
una serie di verifiche su MySQL per garantirne il corretto funzionamento. L’esito positivo
viene restituito solo quando il nodo oggetto della richiesta è attivo, nello stato “Synced” ed
è in grado di processare query.
L’appliance rende disponibili sulla porta 9200 due metodi HTTP: HEAD e GET.
Il modo migliore per configurare il vostro bilanciatore è quello di effettuare una richiesta
HTTP HEAD verso la porta 9200 dei singoli nodi del bilanciatore.
Per rendere comprensibile il dietro le quinte dei metodi HTTP esposti di seguito
inseriamo degli esempi con curl:
$ curl -I http://192.168.42.61:9200 HTTP/1.1 200 OK Content-Type: text/plain Connection: close Content-Length: 26
Richiesta HTTP HEAD andata a buon fine
$ curl -I http://192.168.42.62:9200 HTTP/1.1 503 Service Unavailable Content-Type: text/plain Connection: close Content-Length: 26
Richiesta HTTP HEAD con esito negativo
$ curl http://192.168.42.60:9200 MySQL Galera is Working.
Richiesta HTTP GET andata a buon fine
$ curl http://192.168.42.61:9200 MySQL Galera has Failed.
Richiesta HTTP GET con esito negativo
Il bilanciatore sarà in grado di escludere temporaneamente i nodi che hanno restituito
esito negativo e garantire l’alta affidabilità del servizio, con le richieste che verranno
sempre e solo indirizzate ai server "attivi".
52 Colla MGC Guida dell’amministratore
Fate riferimento alla documentazione del vostro bilanciatore per capire come configurare
al meglio uno dei due metodi HTTP su menzionati.
23 Backup database e samba server
Colla MGC esegue un backup automatico a caldo dei database tutti i giorni alle 05:05. I
backup sono resi disponibili attraverso una condivisione di rete.
Per poter recuperare una copia del backup dei vostri database potete semplicemente
collegarvi alla condivisione di rete di un nodo utilizzando il suo indirizzo IP:
Ogni nodo condivide una cartella “backups” al cui interno sono presenti i file dei singoli
database per quel particolare nodo:
53 Colla MGC Guida dell’amministratore
Avvertenza. I backup di Colla MGC sono resi disponibili attraverso una risorsa di rete
senza autenticazione. Se per ragioni di sicurezza questo non è di vostro interesse potete
disattivare il servizio samba dalla scheda “System Configuration” sezione “Local
Services”:
È possibile anche eseguire un backup manuale di tutti i database utilizzando la scheda
“MGC Configuration” sezione “Administration”:
Vi sarà possibile recuperare il backup sempre attraverso la condivisione di rete del nodo.
Avvertenza. Il backup manuale di un MySQL Server con database di grosse dimensioni
può richiedere diverso tempo. L’interfaccia di amministrazione non sarà in grado di
seguire l’intero processo. Potete utilizzare la condivisione di rete per controllare lo stato
di avanzamento.
Approfondimento. La procedura di backup automatica crea dei file .sql non zippati. Vi sarà
necessario tener conto di questo dettaglio quando scegliete la dimensione del disco su cui
installare Colla MGC. È buona norma quindi considerare altri aspetti oltre alla dimensione
dei database che intendete utilizzare. Riservate sempre almeno 5 gigabyte (GB) per il
sistema operativo, aggiungete dello spazio extra per i log e raddoppiate la dimensione dei
vostri database per poter consentire a Colla MGC di effettuare il backup notturno.
54 Colla MGC Guida dell’amministratore
24 Servizi attivi su Colla MGC
Collegandovi all’interfaccia di amministrazione di Colla MGC nella scheda “System
Configuration” sezione “Local Services” sono presenti tre servizi:
1. s_rest – consente ai nodi di scambiarsi le informazioni necessarie alla
configurazione e gestione del cluster.
2. ssh – è utilizzato per consentire l’accesso Secure Shell all’appliance.
3. samba – è utilizzato per la condivisione in rete dei backup di Colla MGC.
Per la sua particolarità s_rest è un servizio indispensabile a Colla MGC. Senza di esso i nodi
non possono parlare fra loro e rendere disponibili le informazioni necessarie
all’interfaccia di amministrazione per gestire correttamente il cluster. Da quest’area sarà
possibile effettuare lo start o il restart di un servizio s_rest che si è bloccato.
s_rest è l’unico servizio configurato per ripartire sempre in automatico a un eventuale
riavvio del nodo. Non vi sarà possibile disattivarlo all’avvio da “Local Services”, solo
effettuarne lo stop temporaneo.
I servizi ssh e samba invece sono configurati per tenere conto della configurazione
eseguita in quest’area anche in fase di avvio. Se intendete inibire la connessione Secure
Shell all’appliance o alla condivisione di rete utilizzata per i backup, potete usare il
bottone “Stop” nell’area “Local Services”. Questo avrà un effetto immediato, rendendo non
più disponibili i servizi in oggetto, e a lungo termine, dato che un eventuale riavvio del
nodo manterrà la configurazione appena impostata. Vi sarà sempre possibile riattivare i
servizi ssh e samba allo stesso modo.
55 Colla MGC Guida dell’amministratore
25 Esportare e importare la configurazione di Colla MGC
È possibile esportare la configurazione di un appliance per poterne fare un backup
utilizzando l’interfaccia di amministrazione nella scheda “System Configuration”:
Il file potrà essere utilizzato successivamente per importare la configurazione nel caso
qualcosa sia andato storto durante la modifica della configurazione di Colla MGC.
In quest’area vi sarà anche possibile eseguire un Factory Reset dell’appliance per
riportarlo alle sue condizioni iniziali, appena dopo l’installazione sul vostro server.
Avvertenza. Il Factory Reset modifica la configurazione di rete dell’appliance
riportandola su DHCP. Per potervi ricollegare all’interfaccia di amministrazione del nodo
dopo un Factory Reset, la scheda di rete dell’appliance deve essere collegata a una rete in
cui sia presente un DHCP Server e dovrete recuperare l’indirizzo IP assegnato utilizzando
la console di Colla MGC.
26 Firmware updates
È una buona abitudine rimanere aggiornati sullo stato di sviluppo e aggiornamento di
Colla MGC attraverso la pagina web “Aggiornamenti Firmware”:
http://mgc.collacoworking.it/firmware.
In questa pagina, oltre agli aggiornamenti del firmware, sono presenti ulteriori
informazioni sugli aggiornamenti del sistema operativo e ogni altra informazione
necessaria al corretto funzionamento e aggiornamento dei vostri appliance.
Quando un nuovo firmware viene reso disponibile dovreste procedere all’aggiornamento
del vostro cluster, un nodo alla volta.
Avvertenza. Gli aggiornamenti firmware di Colla MGC non sono cumulativi. Recuperate la
versione attuale da [System Configuration] -> [Firmware revision] e poi procedete a
installare tutti gli aggiornamenti fino alla versione current. La procedura di
aggiornamento del firmware prevede lo stop del servizio MySQL e il riavvio del nodo.
56 Colla MGC Guida dell’amministratore
È possibile ottenere quale versione firmware è al momento in esecuzione sul vostro
appliance collegandovi all’interfaccia di amministrazione scheda “System Configuration”
sezione “System”:
Effettuate il download del file o dei file necessari sul vostro PC dalla pagina web
“Aggiornamenti Firmware”.
La procedura di aggiornamento del firmware prevede due semplici passi da eseguire una
volta collegati all’interfaccia di amministrazione del nodo da aggiornare:
• Dalla scheda “MGC Configuration” effettuate lo “Stop” di MySQL
Attenzione. Eseguite lo stop di MySQL solo per il nodo che intendete aggiornare.
• Dalla scheda “System Configuration”, sezione “Firmware” selezionate il file che
avete precedentemente salvato sul vostro PC e fate clic su Update.
Vi sarà chiesto di confermare il riavvio dell’appliance per l’applicazione degli
aggiornamenti. La fase di aggiornamento dura circa due o tre minuti. Se al successivo
riavvio dell’appliance avete difficoltà a collegarvi all’interfaccia di amministrazione, per
favore attendete qualche minuto in più. Colla MGC in fase di aggiornamento firmware è
configurato per rendere non accessibile l’interfaccia di amministrazione fintanto che la
procedura di aggiornamento non sia terminata e abbia dato esito positivo.
Avvertenza. Gli aggiornamenti firmware di Colla MGC non sono cumulativi. Recuperate la
versione attuale da [System Configuration] -> [Firmware revision] e poi procedete a
installare tutti gli aggiornamenti fino alla versione current. La procedura di
aggiornamento del firmware prevede lo stop del servizio MySQL e il riavvio del nodo.
57 Colla MGC Guida dell’amministratore
27 Attività di manutenzione di Colla MGC
L’attività di manutenzione di Colla MGC prevede 3 attività principali:
• Aggiornamenti del sistema operativo dalla console
• Cancellazione periodica dei log di Colla MGC
• Cancellazione periodica dei binary logs di MySQL
27.1 Aggiornamenti del sistema operativo dalla console
È possibile effettuare gli aggiornamenti del sistema operativo utilizzando la console di
Colla MGC. Se il servizio SSH è attivo, potrete effettuare gli aggiornamenti collegandovi in
remoto al vostro appliance. Per verificare se il servizio SSH è attivo utilizzate l’interfaccia
di amministrazione alla scheda “System Configuration” sezione “Local Services”.
Per poter accedere alla console dell’appliance potete utilizzare le credenziali seguenti:
login: administrator
password: mgc
Avvertenza. Non utilizzate le password di default per il vostro appliance. Ricordatevi di
cambiarle periodicamente.
Una volta connessi al vostro appliance con l’utente administrator potete installare gli
aggiornamenti di sistema con il comando seguente:
[administrator@mgc-server-01 ~]$ sudo yum update Loaded plugins: fastestmirror base | 3.6 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 (1/4): base/7/x86_64/group_gz | 155 kB 00:00 ...
Il sistema operativo di Colla MGC è CentOS 7. Potete fare riferimento alla documentazione
di CentOS 7 per ottenere ulteriori informazioni https://www.centos.org.
58 Colla MGC Guida dell’amministratore
27.2 Cancellazione periodica dei log di Colla MGC
Durante l’utilizzo di Colla MGC vengono generati tre tipologie di log.
1. Ci sono quelli dell’interfaccia di amministrazione (Events Logs):
2. Quelli relativi al REST server (Rest server logs):
3. I log di MySQL (Mysql Error logs):
I log sono molto importanti per capire il corretto funzionamento di un appliance.
Chiaramente all’aumentare del numero dei log e della loro dimensione può essere
necessario effettuare una pulizia periodica per evitare che usino troppo spazio sul disco.
Potrete effettuare una cancellazione periodica dei log più vecchi per ogni singolo
appliance collegandovi all’interfaccia di amministrazione del nodo su cui intendete
effettuare attività di manutenzione, scheda “Logs”.
In alto è presente il bottone “Delete old logs (disk space)”:
59 Colla MGC Guida dell’amministratore
Avvertenza. L’operazione di cancellazione dei log non è globale, ma può essere eseguita
per singolo nodo. Dovrete pertanto collegarvi all’interfaccia di amministrazione del nodo
sul qualche volete eseguire l’operazione di cancellazione.
27.3 Cancellazione periodica dei binary logs di MySQL
I binary logs sono utilizzati da MySQL Galera Cluster come parte integrante del processo
di sincronizzazione dei dati.
È possibile ottenere l’elenco dei binary logs presenti su un nodo con il comando seguente:
mysql> SHOW BINARY LOGS; +---------------+-----------+ | Log_name | File_size | +---------------+-----------+ | binlog.000015 | 724935 | | binlog.000016 | 733481 | +---------------+-----------+
Se avete un numero elevato di binary logs o la necessità di recuperare spazio sul server è
possibile cancellare quelli più vecchi. Colla MGC vi consente di cancellare i binary logs che
non servono più dalla scheda “MGC Configuration” sezione “Administration”:
60 Colla MGC Guida dell’amministratore
L’operazione di cancellazione dei binary logs dall’interfaccia di amministrazione di Colla
MGC non genera disservizio, pertanto può essere eseguita in qualsiasi momento.
Avvertenza. L’operazione di cancellazione dei binary logs non è globale, ma può essere
eseguita per singolo nodo. Dovrete pertanto collegarvi all’interfaccia di amministrazione
del nodo sul qualche volete eseguire l’operazione di cancellazione.
28 Password di default di Colla MGC
Per poter accedere all’interfaccia di amministrazione dell’appliance potete utilizzare le
credenziali seguenti:
username: admin
password: mgc
Per poter accedere alla console dell’appliance potete utilizzare le credenziali seguenti:
login: administrator
password: mgc
La password di default per l’utente root di MySQL è la seguente:
MySQL root password: mgc
Avvertenza. Non utilizzate le password di default per il vostro appliance. Ricordatevi di
cambiarle periodicamente.
61 Colla MGC Guida dell’amministratore
29 Licenza
Colla MGC è protetto da Copyright secondo i termini della versione 4 della Licenza
Creative Commons CC BY-NC-ND.
s_rest è protetto da Copyright secondo i termini della versione 4 della Licenza Creative
Commons CC BY-NC-ND.
Colla MGC e s_rest convivono con CentOS, MySQL e il provider di replica Galera Cluster. I
software CentOS, MySQL e Galera Cluster non sono stati alterati in alcun modo e risiedono
sul filesystem nella loro forma originale, come previsto dai rispettivi detentori del
Copyright.
Il sistema operativo CentOS è un prodotto di The CentOS Project ed è protetto da
Copyright secondo i termini della versione 2 della GNU General Public License.
Il provider di replica Galera Cluster è un prodotto di Codership Oy ed è protetto da
Copyright secondo i termini della versione 2 della GNU General Public License.
MySQL è un marchio registrato di Oracle Corporation. MySQL è un prodotto di Oracle
Corporation ed è protetto da Copyright secondo i termini della versione 2 della GNU
General Public License.
Colla MGC fa uso di un sistema di licenze gestito attraverso dei certificati digitali emessi da
una Certification Authority privata. Per poterlo utilizzare è necessario richiedere e
installare un certificato digitale.
Puoi richiedere l’attivazione della tua licenza gratuita qui:
http://mgc.collacoworking.it/get_license.