SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
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
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
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
MySQL Cluster: NDB
Shared Storage
SAN Network-RAID0
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 4 / 28
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
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
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
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
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
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
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
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
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
Galera
Galera
Commit@all
InnoDB
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 9 / 28
Galera
Maintenance
Neue Nodes
Rolling Restart
Rolling Upgrades
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 10 / 28
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
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
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
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
Limitierungen
Limitierungen
LOCK TABLES
Events
User
Query Cache
InnoDB only
LOAD DATA
Lange Trans.
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 13 / 28
Design
wsrep/galera
Standard MySQL:
1 Thread
Replication
Galera:
Parrallel Applying
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 14 / 28
Design
wsrep/galera
Standard MySQL:
1 Thread
Replication
Galera:
Parrallel Applying
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 14 / 28
Design
Certification/Check Multi-Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
Design
Certification/Check Multi-Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
Design
Certification/Check Multi-Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
Design
Certification/Check Multi-Master
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
Write Distribution
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 16 / 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
Using Galera
[mysqld]
binlog_format = ROW
innodb_autoinc_lock_mode = 2
innodb_flush_log_at_trx_commit = 0
query_cache_size = 0
query_cache_type = 0
#Accessing Galera
wsrep_provider = /usr/lib/plugin/libgalera_smm.so
wsrep_provider_options = "gcache.size=1G"
wsrep_cluster_name ="my_cluster"
wsrep_cluster_address ="gcomm://"
wsrep_sst_method = mysqldump
wsrep_sst_auth = user:password
Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 18 / 28
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar

MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME ClusterTechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME Clusternine
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!adesso AG
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Informatik Aktuell
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...OPITZ CONSULTING Deutschland
 
Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAPCadaxo GmbH
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickAmazee Labs
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterpriseadesso AG
 
Innobit.storage spaces.
Innobit.storage spaces. Innobit.storage spaces.
Innobit.storage spaces. innobit
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessHashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessJochen Zehnder
 
MongoDB Munich 2012: Spring Data MongoDB
MongoDB Munich 2012: Spring Data MongoDBMongoDB Munich 2012: Spring Data MongoDB
MongoDB Munich 2012: Spring Data MongoDBTobias Trelle
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerMartin Klier
 

Ähnlich wie OSDC 2012 | Galera: Multi-Master Replikation für MySQ by Erkan Yanar (20)

MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME ClusterTechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAP
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
 
Innobit.storage spaces.
Innobit.storage spaces. Innobit.storage spaces.
Innobit.storage spaces.
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessHashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
 
MongoDB Munich 2012: Spring Data MongoDB
MongoDB Munich 2012: Spring Data MongoDBMongoDB Munich 2012: Spring Data MongoDB
MongoDB Munich 2012: Spring Data MongoDB
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für Einsteiger
 

Kürzlich hochgeladen

FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 

Kürzlich hochgeladen (6)

FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
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
  • 14. Galera Galera Commit@all InnoDB Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 9 / 28
  • 15. Galera Maintenance Neue Nodes Rolling Restart Rolling Upgrades Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 10 / 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
  • 20. Limitierungen Limitierungen LOCK TABLES Events User Query Cache InnoDB only LOAD DATA Lange Trans. Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 13 / 28
  • 21. Design wsrep/galera Standard MySQL: 1 Thread Replication Galera: Parrallel Applying Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 14 / 28
  • 22. Design wsrep/galera Standard MySQL: 1 Thread Replication Galera: Parrallel Applying Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 14 / 28
  • 23. Design Certification/Check Multi-Master Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
  • 24. Design Certification/Check Multi-Master Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
  • 25. Design Certification/Check Multi-Master Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
  • 26. Design Certification/Check Multi-Master Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 15 / 28
  • 27. Write Distribution Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 16 / 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
  • 29. Using Galera [mysqld] binlog_format = ROW innodb_autoinc_lock_mode = 2 innodb_flush_log_at_trx_commit = 0 query_cache_size = 0 query_cache_type = 0 #Accessing Galera wsrep_provider = /usr/lib/plugin/libgalera_smm.so wsrep_provider_options = "gcache.size=1G" wsrep_cluster_name ="my_cluster" wsrep_cluster_address ="gcomm://" wsrep_sst_method = mysqldump wsrep_sst_auth = user:password Erkan Yanar (linsenraum.de) Making Innodb a HA SE: Galera 26. April 2012 18 / 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