Sie sind auf Seite 1von 19

www.fromdual.

com

MySQL Cluster mit Galera


DOAG Konferen !"1# $%rn&er' Oli Senn(auser
Senior MySQL Consultant) *romDual Gm&+

oli.senn(auser,fromdual.com

1 / 19

-&er *romDual Gm&+

www.fromdual.com

*romDual &ietet neutral und una&(.n'i'/


0eratun' f%r MySQL und Galera Su11ort f%r MySQL und Galera 2emote3D0A Dienstleistun'en MySQL Sc(ulun'en

4artner der O1en Data&ase Alliance 5OD0A.or'6 Oracle Sil7er 4artner 5O4$6

www.fromdual.com
! / 19

8n(alt
Galera Cluster

www.fromdual.com

0este(ende 4ro&leme 9as ist Galera Cluster f%r MySQL :i'ensc(aften Konfi'uration 0etrie& Demo 9eiteres

# / 19

0este(ende 4ro&leme
4ro&leme mit &este(enden L<sun'en/

www.fromdual.com

Daten=onsisten > M/S 2e1li=ation Async(ron) Sla7e3La' 5+inter(er(in=en6 > M/S 2e1li=ation Kom1le?it.t > a/1 *ailo7er3Cluster) $D0 Cluster Downtime > M/S 2e1li=ation) a/1 *ailo7er3Cluster $ic(t 'eei'net f%r =om1le?e A&fra'en 5@ Aoins6 > $D0 Cluster Sin'le 4oint of *ailure 58/O System) *ile3System6 > a/1 *ailo7er3 Cluster 9as w.re wenn es eine L<sun' '.&e) die all diese 4ro&leme $8C+B (atC
; / 19

Galera Cluster

www.fromdual.com

A11

A11

A11

rFw
Load &alancin' 5L06

8nnoD0E

$ode 1
wsre1

$ode !
wsre1

$ode #
wsre1

Galera re1lication

D / 19

:i'ensc(aften 7on Galera


0asiert auf der transa=tionalen 8nnoD0 S: Sync(rone 2e1li=ation H Keine 7erlorenen Bransa=tionen me(r :c(tes 1aralleles 2e1li ieren auf Ieilene&ene H Kein Sla7e La' 5+inter(er(in=en6 me(r A=ti7/a=ti7 multi3Master3Bo1olo'ie

www.fromdual.com

H Lesen 7on und Sc(rei&en auf &elie&i'e Knoten m<'lic( Lese3S=alier&ar=eit und :r(<(un' des Sc(rei&durc(sat es 5SSD6 Automatisc(es Knoten3Mana'ement 2ollin' Cluster 2estart/ J1'rade 7on +ardware) O/S) D0 und Galera im Laufenden 0etrie&...
G / 19

Galera Konfi'uration

www.fromdual.com

my.cnf 5conf.d/galera.cnf) conf.d/wsrep.cnf6


# wsrep_provider wsrep_provider # wsrep_cluster_address wsrep_cluster_address wsrep_cluster_name wsrep_node_name wsrep_sst_met$od wsrep_sst_aut$ = none = /lib/plugin/libgalera_smm.so = "gcomm://" = "gcomm://node2,node3" = ' alera !luster' = '"ode #' = m%s&ldump = sst:secret

K / 19

Starten des Clusters


Demo/

www.fromdual.com

Starten des ersten Knotens Staren der weiteren Knoten Cluster Status Starten des Load30alancers 5GL06 Load30alancer Status Best3A11li=ation

Lan'sam Sc(nell
L / 19

Demo :i'ensc(aften

www.fromdual.com

Stora'e :n'ine 4aralleles 2e1li ieren Lesen und Sc(rei&en 7on allen Knoten Knoten Mana'ement

*ull Sync 5SSB6 8ncremental Sync 58SB6 2ollin' Cluster 2estart/ 8nnoD0 0uffer 4ool Si e

D03J1'rade Galera3J1'rade
9 / 19

Online Sc(ema J1'rade 5OSJ6

www.fromdual.com

Sc(ema J1'rade @ DDL aus'ef%(rt 'e'en die D0


Mndern der D0 Stru=tur $ic(t transa=tionalE Botal Order 8solation 5BO86 5default6 2ollin' Sc(ema J1'rade 52SJ6

! Met(oden/

wsrep_osu_method = {TOI|RSU}

1" / 19

Online Sc(ema J1'rade

www.fromdual.com

Botal Order 8solation 5BO86 5default6

DDL wird auf allen Knoten in der sel&en 2ei(enfol'e aus'ef%(rt :in Beil der D0 wird w.(rend des DDLs 'es1errt N :infac() 7or(ersa'&ar und 'arantierte Daten=onsisten 3 S1errende O1eration

Gut f%r sc(nelle 5@ =leine6 DDL O1erationen DDL wird nur auf einem Knoten aufs Mal aus'ef%(rt Knoten sind f%r die Dauer des DDL desync(ronisiert $ac( DDL) werden die fe(lenden 9rite Sets 5@ Bransa=tionen6 nac('ef%(rt) .(nlic( wie im 8SB. DDL m%ssen 7on +and auf Oedem Knoten aus'ef%(rt werden. N nur ein Knoten aufs Mal wird &loc=iert. 3 4otentiell unsic(er) =ann fe(lsc(la'en) wenn altes und neues Sc(ema nic(t =om1ati&el sind

2ollin' Sc(ema J1'rade 52SJ6


Gut f%r lan'same 5@ 'rosse6 DDL O1erationen


11 / 19

0est of all worldsE

www.fromdual.com

1! / 19

Quorum

www.fromdual.com

1# / 19

! N 1 Knoten Cluster

www.fromdual.com

! Knoten ist &<se H S1lit 0rainE Minimalistisc(es Setu1/ !N1


A11

'ar&d
wsre1

Load &alancin' 5L06

$ode 1
wsre1

$ode !
wsre1

Galera re1lication

PJnser M/S32e1li=ation (at Oet t nur ! KnotenEQ oder P8c( will nic(t u 7iel f%r +ardware aus'e&enEQ H ! N 1 @ ! Galera Knoten N 1 Galera Ar&itrator
1; / 19

Lese Scale3out

www.fromdual.com

; und me(r Knoten Cluster


0ac=u13Knoten Dedi ierter SSB3Donor Knoten 2e1ortin'3Knoten) etc.


$ode 1
wsre1

A11

Load &alancin' 5L06

Jn'erade An a(l ist em1fo(lenE

$ode !
wsre1

$ode #
wsre1

$ode ;
wsre1

Ansonsten H 'ewic(te3 tes QuorumC

Galera re1lication

Gerade An a(l/ S1lit 0rainE

Gr<sster Cluster) nur so um S1ass/ 1K KnotenE


1D / 19

Last7erteilun'

www.fromdual.com

Connectors

Connector/A 4+4/ MySQLnd 2e1li=ations3 und Load 0alancin' 4lu'3in libglb GL0) 4en) LRS/84RS/Ldirector) Jltra Mon=ey) +A4ro?y) MySQL 4ro?y

S9 Load 0alancer

+9 Load 0alancer
1G / 19

La'e der Last7erteilun'

www.fromdual.com

1K / 19

9ir suc(en noc(/

www.fromdual.com

:rfa(rene/r MySQL D0A / O1en3Source :nt(usiast/in f%r MySQL Su11ort / remote3 D0A
und

Guter CNN :ntwic=ler/in 5mit Affinit.t u D0s) MySQL) 2e1li=ation und Cluster6
1L / 19

QFA
*ra'en C Dis=ussionC

www.fromdual.com

9ir (a&en Ieit f%r ein 1ers<nlic(es Ges1r.c(...

*romDual &ietet neutral und una&(.n'i'/

0eratun' 2emote3D0A Su11ort f%r MySQL) Galera) 4ercona Ser7er und MariaD0 Sc(ulun'

www.fromdual.com/1resentations
19 / 19