Author
fromdual-gmbh
View
610
Download
1
Embed Size (px)
DESCRIPTION
MySQL High Availability Solutions: MySQL Replication, MySQL Read-Scaleout, Master/Slave Replication, Master/Master Replication, active/passive fail-over Cluster with SAN or DRBD, Galera Cluster for MySQL, MySQL NDB Cluster
www.fromdual.com
1 / 23
MySQL High Availability
DOAG 2013 Datenbank
14. Mai 2013, Düsseldorf
Oli SennhauserSenior MySQL Berater, FromDual GmbH
www.fromdual.com
2 / 23
Über FromDual GmbH
● FromDual bietet neutral und unabhängig:● Beratung für MySQL● Support für MySQL und Galera Cluster● Remote-DBA Dienstleistungen für MySQL● MySQL Schulungen
● Oracle Silver Partner (OPN)
www.fromdual.com
www.fromdual.com
3 / 23
Inhalt
HA Solutions
➢ Read scale-out➢ Replication set-up for HA➢ Active/passive fail-over➢ MySQL Cluster➢ Replication Cluster➢ Storage-Engine-Replication
MySQL High Availability
➢ Scale-Out vs. Scale-Up➢ Master/Slave Replikation➢ Master/Master Replikation➢ Aktiv/passiv failover Cluster mit SAN➢ Aktiv/passiv failover Cluster mit DRBD➢ Galera Cluster für MySQL➢ MySQL (NDB) Cluster
www.fromdual.com
4 / 23
MySQL Scale-Out vs Scale-Up
Scale-Out
● Kosten● MySQL Design● Physische Flaschenhälse
Scale-Up
● „Relaxation of Constraints“
www.fromdual.com
5 / 23
...
Master – Slave Replikation
Application
Master
log_bin = onserver_id = 42
Slave
● Wir brauchen:● Binary Log● Server Id● User für die Replikation (auf dem Master)● Konsistentes Backup MIT Binary Log Position
bin-log.m bin-log.n relay-log.m relay-log.n...
IO_thread
SQL_thread
www.fromdual.com
6 / 23
High-Availability mit Replikation
Application
Master
Slave Backup
Slave Reporting
rtw
Load balancer
read only
Slave 1
Slave 2
Slave 3 ...
async!
Slave M
● Fail-over?
VIP
www.fromdual.com
7 / 23
Replikation Fail-over
Application
Master
Slave Backup
Load balancer
Slave 1
Slave Reporting
Slave 2
Slave 3
rtw
read only
...
async!Slave
M
VIP
www.fromdual.com
8 / 23
Vorteile / Nachteile
Einfaches „standard“ Set-up
Sehr gut wenn r >> w
Fail-over Seite ist bereits warm/heiss!
Zeitversatz Master/Slave (asynchron!)
Slave kann hinterherhinken (Slave ist oft Flaschenhals)
Daten In-konsistenz (pttablechecksum/pttablesync)
Wenn Master stirbt→ welcher Slave wird neuere Master?
Switch → viel Arbeit, etwas heikel!
Es gibt Tools die helfen (MMM v1/v2, MHA, Tungsten, ...)
www.fromdual.com
9 / 23
Master-Master Replikation
App App App
M1
Slave1
Slave2
SlaveBackup
Load balancer (LB)
M2
VIP
Slave3
www.fromdual.com
10 / 23
Master-Master Replikation
App App App
M1
Slave1
Slave2
SlaveBackup
Load balancer (LB)
M2
VIP
Slave3
www.fromdual.com
11 / 23
Vorteile / Nachteile
Nur wenig komplexer als Master/Slave
Sehr gut wenn r >> w
Fail-over Seite ist bereits warm/heiss!
Zeitversatz Master/Slave (asynchron!)
Slave kann hinterherhinken (Slave ist oft Flaschenhals)
Daten In-konsistenz (pttablechecksum/pttablesync)
Wenn Master stirbt, ist die Hälfte der Slaves „out of sync“!
Vorsicht beim Schreiben auf beide Master!
Man erhält dadurch NICHT mehr I/O Durchsatz!
Ein wenig komplizierter (wieder-)aufzusetzen
www.fromdual.com
12 / 23
Aktiv/passiv fail-over mit SAN
App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
www.fromdual.com
13 / 23
Aktiv/passiv fail-over mit SAN
● SPOF 2! App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
!!!
www.fromdual.com
14 / 23
Vorteile / Nachteile
Synchrone Replikation
I/O Durchsatz hängt vom SAN (I/O System) ab
Keine Daten IN-Konsistenzen möglich
Nur eine mögliche Datenquelle
Slaves werdenautomatisch und sauber geschwenkt
SAN und Filesystem sind SpoFs!
Teuer wenn SAN noch nicht vorhanden ist.
SAN's sind nicht einfach richtig zu betreiben!
Andere Seite ist kalt nach Fail-over!
Hälfte der Hardware idelt
Wesentlich komplexerr aufzusetzen
www.fromdual.com
15 / 23
Aktiv/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD“Poor man's SAN”
www.fromdual.com
16 / 23
Activ/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD“Poor man's SAN”
● SPOF 1!
www.fromdual.com
17 / 23
Vorteile / Nachteile
Synchrone Replikation
Keine Daten IN-Konsistenzen möglich
Nur eine mögliche Datenquelle
Slaves werdenautomatisch und sauber geschwenkt
Filesystem ist SpoF!
I/O Durchsatz tendenziell geringer als mit SAN
Andere Seite ist kalt nach Fail-over!
Hälfte der Hardware idelt
Wesentlich komplexer aufzusetzen
www.fromdual.com
18 / 23
Galera Cluster für MySQL
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replicationwsrep wsrep
www.fromdual.com
19 / 23
Galera Cluster für MySQL
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replicationwsrep wsrep
www.fromdual.com
20 / 23
Vorteile / Nachteile
Synchrone Replikation
Aktiv-aktiv multi-Master Topology
Lesen und Schreiben auf alle Cluster-Knoten
Automatische Knotenverwaltung
Echtes paralleles Replizieren auf Zeilenebene
Kein Hinterherhinken des Slaves
Keine verlohrene Transaktionen
Lese-Skalierbarkeit (read Scale-Out!) und mehr Schreiben (+ SSD)
Wartung im „laufenden Betrieb“ möglich
Basiert auf InnoDB Storage Engine (nur auf InnoDB!)
Galera Binaries (nicht Oracle/MySQL)
Achtung vor Hots-Spots auf einzelnen Zeilen (z. B. Sequenzen-Tabelle)
Dadurch höhere wahrscheinlichkeit von Deadlocks
Voll-Sychronisation (SST) blockiert Lesen und Schreiben → 3 nodes
www.fromdual.com
21 / 23
Load balancing (LB)
MySQL (NDB) Cluster
MySQLServer
NDB Cluster(Data nodes)
MySQLServer
MySQLServer
ndbd ndbd
ndbdndbd
mgmd
MGM client
SQL nodes
mgmd
MGM client
App App App
NG0
NG1Data nodes /Mgmt nodes
Load balancing (LB)Load balancing (LB)
www.fromdual.com
22 / 23
Vorteile / Nachteile
Synchrone Replikation
Nur eine mögliche Datenquelle
Keine Daten IN-Konsistenzen möglich
Extrem hoher Durchsatz (wenn richtig gemacht)
Skaliert sehr gut für Lesen UND Schreiben (wenn richtig gemacht)
Wartung im „laufenden Betrieb“ möglich
Kein drop-in Ersatz für InnoDB/MyISAM!
Hoher Bedarf an RAM und Netzwerk
Mindestens 3 Server (besser 4) sind erforderlich.
Neue Datenbank zu lernen (MySQL Cluster != MySQL!)
Komplexer aufzusetzen und zu betreiben als normales MySQL
Schlecht für Joins (Push Down Joins in v7.2)
www.fromdual.com
23 / 23
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein High-Availability Audit...!
● FromDual bietet neutral und unabhängig:● Beratung
● Remote-DBA
● Support für MySQL und Galera Cluster
● Schulung
www.fromdual.com/presentations