Galera is an add-on for MySQL that allows synchronous multi-master replications (of InnoDB tables). This speech will present the setting of Galera and how often used fragile MySQL replication architectures can be replaced stablely by Galera.
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar
1. Making Innodb a HA SE: Galera
Erkan Yanar
linsenraum.de
26. April 2012
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 1 / 28
2. Whats up?
Hochverf¨ugbarkeit
Gestern: MySQL Cluster
Es geht noch immer um HA!
und Skalierbarkeit (M-S, M-M).
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 2 / 28
3. MySQL Cluster: NDB
Known HASE
MySQL Cluster
Shared Nothing
Netzwerk Storage
In Memory
HA der Daten only
red. Workload
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 3 / 28
4. MySQL Cluster: NDB
Shared Storage
SAN Network-RAID0
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 4 / 28
5. HA mit Replikation
Replikation
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only
HA
Daten redundant?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 5 / 28
6. HA mit Replikation
Replikation
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only
HA
Daten redundant?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 5 / 28
7. HA mit Replikation
Replikation
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only
HA
Daten redundant?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 5 / 28
8. HA mit Replikation
Replikation
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only
HA
Daten redundant?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 5 / 28
9. HA mit Replikation
Sicherheit semisync vs. Performance async
Failover
Daten
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 6 / 28
10. HA mit Replikation
Probleme
Klassisches Read-Scaleout
Wer wird Master?
Deltas?
Upgrades Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 7 / 28
11. HA mit Replikation
Probleme
Klassisches Read-Scaleout
Wer wird Master?
Deltas?
Upgrades Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 7 / 28
12. HA mit Replikation
Probleme
Klassisches Read-Scaleout
Wer wird Master?
Deltas?
Upgrades Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 7 / 28
13. Galera
Was w¨are wenn es eine L¨osung g¨abe mit:
Synchrone Replikation und
Schnellere Replikation und
Shared Nothing und
Einfache Migration/Fallback und
Jeder Knoten beschreibbar/gleichwertig und
’Online’ Upgrades/Restarts und
Neue Nodes automatisch eingebunden und
OpenSource und
Einfach(er) zu Administrieren und
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 8 / 28
16. Galera
Semisync@MySQL 5.5.21 vs. Galera@MySQL5.5.20
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 11 / 28
17. Galera HA
Service HA machen
Einfaches HA
JDBC, VIP etc.
M¨oglichkeiten?
Oracle RAC?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 12 / 28
18. Galera HA
Service HA machen
Einfaches HA
JDBC, VIP etc.
M¨oglichkeiten?
Oracle RAC?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 12 / 28
19. Galera HA
Service HA machen
Einfaches HA
JDBC, VIP etc.
M¨oglichkeiten?
Oracle RAC?
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 12 / 28
28. Technik
Galera einrichten
Wie? Wo?
Galera ist von codership
Galera ist nicht in MySQL enthalten
Ben¨otigt werden:
Ein gepatchter MySQLd
Ein wsrep Provider Galera
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 17 / 28
30. Running Galera Cluster
Starting Galera
wsrep cluster address=
gcomm://
gcomm://10.10.10.10
SST
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 19 / 28
31. Running Galera Cluster
Starting Galera
wsrep cluster address=
gcomm://
gcomm://10.10.10.10
SST
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 19 / 28
32. Running Galera Cluster SST
Zeit auf beiden Server syncen und logs von beiden Servern zeigen
[Note] WSREP: Node 1 (oxymoron) requested state transfer from ’*any*’.
Selected 0 (onyx)(SYNCED) as donor.
[Note] WSREP: Shifting SYNCED -> DONOR/DESYNCED (TO: 457709255)
[Note] WSREP: 1 (oxymoron): State transfer from 0 (onyx) complete.
[Note] WSREP: Member 1 (oxymoron) synced with group.
[Note] WSREP: 0 (onyx): State transfer to 1 (oxymoron) complete.
[Note] WSREP: Shifting DONOR/DESYNCED -> JOINED (TO: 457709255)
[Note] WSREP: Member 0 (onyx) synced with group.
[Note] WSREP: Shifting JOINED -> SYNCED (TO: 457709255)
[Note] WSREP: Synchronized with group, ready for connections
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 20 / 28
33. Running Galera Cluster SST
SST
SST: Snapshot State Transfer
Vollst¨andiger Datenbestand
Donor blockierend
Daher 3 nodes
Joiner
SST: Methoden: wsrep sst method
mysqldump
rsync
xtrabackup
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 21 / 28
34. Running Galera Cluster IST
IST
IST: Incremental State Transfer
WriteSets (WS) im Gcache
Delta aus dem Gcache
wsrep provider options = ’gcache.size=1G’
Erm¨oglicht Ohne SST:
Restarts
Upgrades
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 22 / 28
35. Monitoring
mysql> SHOW GLOBAL STATUS LIKE ’wsrep%’;
+----------------------------+--------------------------------------+
| Variable_name | Value |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid | 826c4323-76bb-11e1-0800-52fc6bb93759 |
..
| wsrep_last_committed | 3545 |
..
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced (6) |
| wsrep_cert_index_size | 0 |
| wsrep_cluster_conf_id | 6 |
| wsrep_cluster_size | 4 |
| wsrep_cluster_state_uuid | 826c4323-76bb-11e1-0800-52fc6bb93759 |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
| wsrep_local_index | 0 |
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
| wsrep_provider_version | 23.2.1beta(r123) |
| wsrep_ready | ON |
+----------------------------+--------------------------------------+
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 23 / 28
36. NDB vs. Galera
Vergleich NDB- und Galera-Cluster
NDB Galera
QCache suboptimal nicht unterst¨utzt
Commit pessimistic optmistic
TRX ISOLATION READ COMMITTED InnoDB
LOCK Tables local local
Eventscheduler take care also
PITR (binlog) gap event! easy
Redundanz NoOfReplicas Number of Nodes
Limit Trans MaxNoOfConcurrentOperations wsrep max ws [rows—size]
Shared Nothing Ja Ja
Migrations-Fallback depends np
Rolling Rest.Upgrade Ja Ja
FK Nein Ja
Write Scaling Ja kaum
Read Scaling Ja Ja
Joins nicht gut standard
Response Time nicht gut standard
Memory Scalling ja one node limit
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 24 / 28
37. Wir haben es nicht geschafft
Wir haben es nicht geschaft:
Integrating standard Replication works fine!
3-node Cluster (Split Brain/HA)
garbd (Split Brain)
Monitoring
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 25 / 28
38. Wir haben es nicht geschafft Ende
Vendors
Entwickler!
MariaDB Galera Cluster
Support
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 26 / 28
39. Wir haben es nicht geschafft Ende
Summarise: Galera
Synchrone Replikation
Schnellere Replikaton
Master-Master Replikaton
Einfache Migration
Jeder Knoten
beschreibbar/gleichwertig
’online’ Upgrades/Restarts
Neue Nodes automatisch eingebunden
OpenSource
’Kein’ Maintenancewindow/Downtime
Einfach(er) zu administrieren
Einfaches HA
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 27 / 28
40. Wir haben es nicht geschafft Ende
Ende Gel¨ande
Erkan Yanar
erkan.yanar@linsenraum.de
. . .
linsenraum.de/erkules
www.xing.com/profile/Erkan Yanar
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 28 / 28