SlideShare a Scribd company logo
1 of 31
Download to read offline
www.fromdual.com
1 / 31
MySQL always-up
with Galera Cluster
SLAC 2014
May 14, 2014, Berlin
by oli.sennhauser@fromdual.com
www.fromdual.com
www.fromdual.com
2 / 31
About FromDual GmbH
● FromDual provides neutral and independent:
● Consulting for MySQL, Galera Cluster, MariaDB and
Percona Server
● Support for all MySQL and Galera Cluster
● Remote-DBA Services for all MySQL
● MySQL Training
● Open Source Business Alliance (OSBA)
● Member of SOUG, DOAG, /ch/open
www.fromdual.com
www.fromdual.com
3 / 31
Always-up? :-(
● Its also about maintenance...
● Who loves night-shifts?
● Who loves weekend-work?
● Who does regular upgrade (DB, kernel, etc.)?
● Who does regular reboots (after kernel
upgrade)?
● Why are you not doing it in your office hours?
www.fromdual.com
4 / 31
The Galera Cluster for MySQL
www.fromdual.com
5 / 31
Maintenance time...
App
Load balancing (LB)
Node 2Node 1
wsrep
Galera replication
wsrep
Node 3
wsrep
Upgrade
RAM/HW
O/S
DB?
www.fromdual.com
6 / 31
Advantages / Disadvantages
Based on InnoDB SE
Synchronous replication → No lost transaction
Active-active multi-master Cluster
→ Read and write to any cluster node (no r/w split any more!)
Read scalability and higher write throughput (Flash-Cache?)
Automatic node membership control
Rolling Restart (Upgrade of Hardware, O/S, DB release, etc.)
True parallel replication, on row level → No slave lag
A bit more complicated than normal MySQL, but similar
complexity as M/S Replication!
No original MySQL binaries → Codership MySQL binaries
Be aware of Hot Spots on rows: Higher probability of deadlocks
www.fromdual.com
7 / 31
Quorum and Split-brain
● What is the problem?
● Split-brain → bad!
● Galera is a pessimistic Cluster → good!
● Quorum: FLOOR(n/2+1)
→ more than half! → 3-node Cluster (or 2+1)
?
www.fromdual.com
8 / 31
Quorum
www.fromdual.com
9 / 31
Installation and Configuration
www.fromdual.com
10 / 31
Installation
● Galera Cluster consists of:
● A patched Codership MySQL (mysqld)
● Or MariaDB Galera Cluster
● Or Percona XtraDB Cluster
● The Galera Plugin (libgalera_smm.so)
● Ways of installation
● Packets (RPM, DEB)
● Binary tar-ball
● Patch MySQL source and compile both
● Download http://galeracluster.com/downloads/
www.fromdual.com
11 / 31
MySQL Configuration
my.cnf
[mysqld]
default_storage_engine         = InnoDB
binlog_format                  = row
innodb_autoinc_lock_mode       = 2   # parallel applying
innodb_flush_log_at_trx_commit = 0   # performance only!
query_cache_size               = 0   # Galera 3   experimental→
query_cache_type               = 0   # Mutex! Consistency!
www.fromdual.com
12 / 31
Galera Configuration
my.cnf (conf.d/wsrep.cnf)
[mysqld]
# wsrep_provider = none
wsrep_provider = …/lib/plugin/libgalera_smm.so
# wsrep_cluster_address = "gcomm://"
wsrep_cluster_address = "gcomm://ip_node2,ip_node3"
wsrep_cluster_name = 'Galera Cluster'
wsrep_node_name = 'Node A'
wsrep_sst_method = mysqldump
wsrep_sst_auth = sst:secret
www.fromdual.com
13 / 31
Operations
www.fromdual.com
14 / 31
Initial Cluster start
● Start very 1st node with:
wsrep_cluster_address = "gcomm://"
or
mysqld_safe ­­wsrep­cluster­address="gcomm://"
● → this tells the node to be the first one!
● All other nodes normal:
service mysqld start
www.fromdual.com
15 / 31
Rolling Restart
● Scenario:
● Hardware-, O/S-, DB- and Galera-Upgrade
● MySQL configuration change
● During full operation!!! (99.999% HA, 5x9 HA)
● → Rolling Restart
● Start one node after the other in a cycle
● New features or settings are used after Rolling
Restart is completed
www.fromdual.com
16 / 31
Demo?
www.fromdual.com
17 / 31
Load Balancing
● Connectors
● Connector/J
● PHP: MySQLnd replication and load balancing
plug-in
● SW Load Balancer
● GLB, LVS/IPVS/Ldirector, HAProxy
● HW Load Balancer
www.fromdual.com
18 / 31
Location of Load Balancing
www.fromdual.com
19 / 31
Demo?
www.fromdual.com
20 / 31
Catch Node State Change
● Node State Change
● Initialized (0), Joining (1), Donor/Desynced (2), Synced (4), ...
● Galera node acts as follows;
● ERROR 2013 (HY000): Lost connection to MySQL 
server at 'reading initial communication packet', 
system error: 2
● ERROR 1047 (08S01) at line 1: Unknown command
→ this is ugly!
● Catch the state change with:
● wsrep_notify_cmd
● To start Firewall Rules (REJECT)
● To take node out of Load Balancer
www.fromdual.com
21 / 31
Demo?
www.fromdual.com
22 / 31
Online Schema Upgrade (OSU)
● Schema Upgrade = DDL run against the DB
● Change DB structure
● Non transactional
● 2 Methods:
● Total Order Isolation (TOI) (default)
● Rolling Schema Upgrade (RSU)
● wsrep_osu_method = {TOI|RSU}
www.fromdual.com
23 / 31
Total Order Isolation (TOI)
● Default
● Part of the database is locked for the
duration of the DDL.
+ Simple, predictable and guaranteed data
consistency.
- Locking operation
● Good for fast DDL operations
www.fromdual.com
24 / 31
Rolling Schema Upgrade (RSU)
● DDL will be only processed locally at the
node.
● Node is desynchronized
● After DDL, delayed write sets are applied
● DDL should be manually executed at each
node.
+ only blocking one node at a time
- potentially unsafe and may fail if new and
old schema are incompatible
● Good for slow DDL operations
www.fromdual.com
25 / 31
Other security related stuff
www.fromdual.com
26 / 31
Caution!
!
www.fromdual.com
27 / 31
Galera Network Configuration
www.fromdual.com
28 / 31
WAN – Cluster
● WAN = Wide Area Network
● Connect 2 or more locations over a public or
private Network
● What are the problems?
● Round Trip Time (RTT)
● Throughput
● Network Stability
● Wrong set-ups
www.fromdual.com
29 / 31
Communication encryption
● 2 Possibilities:
1.) Make Network secure (V-LAN, VPN with SSL, stunnel)
2.) Encrypt Galera communication with SSL
● Caution: only Galera replication is affected!
● NOT State Snapshot Transfer (SST, mysqldump | mysql, 
rsync)
● NOT Client connection (mysql), use MySQL SSL
encryption!
● But Incremental State Transfer (IST) IS affected (= Galera
Protocol)!
● We recommend for ease of use: Do it on Network
level!
www.fromdual.com
30 / 31
Wir suchen noch:
● Datenbank Enthusiast/in für
Support / remote-DBA / Beratung
www.fromdual.com
31 / 31
Q & A
Questions ?
Discussion?
We have time for some face-to-face talks...
● FromDual provides neutral and independent:
● Consulting
● Remote-DBA
● Support for MySQL, Galera, Percona Server and MariaDB
● Training
www.fromdual.com

More Related Content

What's hot

Drupal Con My Sql Ha 2008 08 29
Drupal Con My Sql Ha 2008 08 29Drupal Con My Sql Ha 2008 08 29
Drupal Con My Sql Ha 2008 08 29
liufabin 66688
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
Wagner Bianchi
 

What's hot (20)

MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitations
 
MySQL Parallel Replication: inventory, use-cases and limitations
MySQL Parallel Replication: inventory, use-cases and limitationsMySQL Parallel Replication: inventory, use-cases and limitations
MySQL Parallel Replication: inventory, use-cases and limitations
 
MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitations
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
Riding the Binlog: an in Deep Dissection of the Replication Stream
Riding the Binlog: an in Deep Dissection of the Replication StreamRiding the Binlog: an in Deep Dissection of the Replication Stream
Riding the Binlog: an in Deep Dissection of the Replication Stream
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
 
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsMySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
 
Kvm optimizations
Kvm optimizationsKvm optimizations
Kvm optimizations
 
The New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreThe New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and more
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
 
How to Monitor MySQL
How to Monitor MySQLHow to Monitor MySQL
How to Monitor MySQL
 
2008 MySQL Conference Recap
2008 MySQL Conference Recap2008 MySQL Conference Recap
2008 MySQL Conference Recap
 
Optimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_PerformanceOptimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_Performance
 
MariaDB Server on macOS - FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS -  FOSDEM 2022 MariaDB DevroomMariaDB Server on macOS -  FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS - FOSDEM 2022 MariaDB Devroom
 
MYSQLDUMP & ZRM COMMUNITY (EN)
MYSQLDUMP & ZRM COMMUNITY (EN)MYSQLDUMP & ZRM COMMUNITY (EN)
MYSQLDUMP & ZRM COMMUNITY (EN)
 
Highly efficient backups with percona xtrabackup
Highly efficient backups with percona xtrabackupHighly efficient backups with percona xtrabackup
Highly efficient backups with percona xtrabackup
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery Planning
 
Drupal Con My Sql Ha 2008 08 29
Drupal Con My Sql Ha 2008 08 29Drupal Con My Sql Ha 2008 08 29
Drupal Con My Sql Ha 2008 08 29
 
7 Ways To Crash Postgres
7 Ways To Crash Postgres7 Ways To Crash Postgres
7 Ways To Crash Postgres
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 

Similar to MySQL always-up with Galera Cluster

MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Lenz Grimmer
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
Louis liu
 
UKOUG 2011: Practical MySQL Tuning
UKOUG 2011: Practical MySQL TuningUKOUG 2011: Practical MySQL Tuning
UKOUG 2011: Practical MySQL Tuning
FromDual GmbH
 

Similar to MySQL always-up with Galera Cluster (20)

MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)
 
MySQL and MariaDB Backups
MySQL and MariaDB BackupsMySQL and MariaDB Backups
MySQL and MariaDB Backups
 
UKOUG 2011: Practical MySQL Tuning
UKOUG 2011: Practical MySQL TuningUKOUG 2011: Practical MySQL Tuning
UKOUG 2011: Practical MySQL Tuning
 
M|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsM|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change Methods
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAsFOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
 
Gdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) finalGdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) final
 
Pg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easyPg chameleon, mysql to postgresql replica made easy
Pg chameleon, mysql to postgresql replica made easy
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia Databases
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
 
Monitoring with Ganglia
Monitoring with GangliaMonitoring with Ganglia
Monitoring with Ganglia
 
The Accidental DBA
The Accidental DBAThe Accidental DBA
The Accidental DBA
 

More from FromDual GmbH

More from FromDual GmbH (20)

PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/Recovery
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
MySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sMySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA's
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 

Recently uploaded

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 

Recently uploaded (20)

Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 

MySQL always-up with Galera Cluster

  • 1. www.fromdual.com 1 / 31 MySQL always-up with Galera Cluster SLAC 2014 May 14, 2014, Berlin by oli.sennhauser@fromdual.com www.fromdual.com
  • 2. www.fromdual.com 2 / 31 About FromDual GmbH ● FromDual provides neutral and independent: ● Consulting for MySQL, Galera Cluster, MariaDB and Percona Server ● Support for all MySQL and Galera Cluster ● Remote-DBA Services for all MySQL ● MySQL Training ● Open Source Business Alliance (OSBA) ● Member of SOUG, DOAG, /ch/open www.fromdual.com
  • 3. www.fromdual.com 3 / 31 Always-up? :-( ● Its also about maintenance... ● Who loves night-shifts? ● Who loves weekend-work? ● Who does regular upgrade (DB, kernel, etc.)? ● Who does regular reboots (after kernel upgrade)? ● Why are you not doing it in your office hours?
  • 4. www.fromdual.com 4 / 31 The Galera Cluster for MySQL
  • 5. www.fromdual.com 5 / 31 Maintenance time... App Load balancing (LB) Node 2Node 1 wsrep Galera replication wsrep Node 3 wsrep Upgrade RAM/HW O/S DB?
  • 6. www.fromdual.com 6 / 31 Advantages / Disadvantages Based on InnoDB SE Synchronous replication → No lost transaction Active-active multi-master Cluster → Read and write to any cluster node (no r/w split any more!) Read scalability and higher write throughput (Flash-Cache?) Automatic node membership control Rolling Restart (Upgrade of Hardware, O/S, DB release, etc.) True parallel replication, on row level → No slave lag A bit more complicated than normal MySQL, but similar complexity as M/S Replication! No original MySQL binaries → Codership MySQL binaries Be aware of Hot Spots on rows: Higher probability of deadlocks
  • 7. www.fromdual.com 7 / 31 Quorum and Split-brain ● What is the problem? ● Split-brain → bad! ● Galera is a pessimistic Cluster → good! ● Quorum: FLOOR(n/2+1) → more than half! → 3-node Cluster (or 2+1) ?
  • 10. www.fromdual.com 10 / 31 Installation ● Galera Cluster consists of: ● A patched Codership MySQL (mysqld) ● Or MariaDB Galera Cluster ● Or Percona XtraDB Cluster ● The Galera Plugin (libgalera_smm.so) ● Ways of installation ● Packets (RPM, DEB) ● Binary tar-ball ● Patch MySQL source and compile both ● Download http://galeracluster.com/downloads/
  • 11. www.fromdual.com 11 / 31 MySQL Configuration my.cnf [mysqld] default_storage_engine         = InnoDB binlog_format                  = row innodb_autoinc_lock_mode       = 2   # parallel applying innodb_flush_log_at_trx_commit = 0   # performance only! query_cache_size               = 0   # Galera 3   experimental→ query_cache_type               = 0   # Mutex! Consistency!
  • 12. www.fromdual.com 12 / 31 Galera Configuration my.cnf (conf.d/wsrep.cnf) [mysqld] # wsrep_provider = none wsrep_provider = …/lib/plugin/libgalera_smm.so # wsrep_cluster_address = "gcomm://" wsrep_cluster_address = "gcomm://ip_node2,ip_node3" wsrep_cluster_name = 'Galera Cluster' wsrep_node_name = 'Node A' wsrep_sst_method = mysqldump wsrep_sst_auth = sst:secret
  • 14. www.fromdual.com 14 / 31 Initial Cluster start ● Start very 1st node with: wsrep_cluster_address = "gcomm://" or mysqld_safe ­­wsrep­cluster­address="gcomm://" ● → this tells the node to be the first one! ● All other nodes normal: service mysqld start
  • 15. www.fromdual.com 15 / 31 Rolling Restart ● Scenario: ● Hardware-, O/S-, DB- and Galera-Upgrade ● MySQL configuration change ● During full operation!!! (99.999% HA, 5x9 HA) ● → Rolling Restart ● Start one node after the other in a cycle ● New features or settings are used after Rolling Restart is completed
  • 17. www.fromdual.com 17 / 31 Load Balancing ● Connectors ● Connector/J ● PHP: MySQLnd replication and load balancing plug-in ● SW Load Balancer ● GLB, LVS/IPVS/Ldirector, HAProxy ● HW Load Balancer
  • 20. www.fromdual.com 20 / 31 Catch Node State Change ● Node State Change ● Initialized (0), Joining (1), Donor/Desynced (2), Synced (4), ... ● Galera node acts as follows; ● ERROR 2013 (HY000): Lost connection to MySQL  server at 'reading initial communication packet',  system error: 2 ● ERROR 1047 (08S01) at line 1: Unknown command → this is ugly! ● Catch the state change with: ● wsrep_notify_cmd ● To start Firewall Rules (REJECT) ● To take node out of Load Balancer
  • 22. www.fromdual.com 22 / 31 Online Schema Upgrade (OSU) ● Schema Upgrade = DDL run against the DB ● Change DB structure ● Non transactional ● 2 Methods: ● Total Order Isolation (TOI) (default) ● Rolling Schema Upgrade (RSU) ● wsrep_osu_method = {TOI|RSU}
  • 23. www.fromdual.com 23 / 31 Total Order Isolation (TOI) ● Default ● Part of the database is locked for the duration of the DDL. + Simple, predictable and guaranteed data consistency. - Locking operation ● Good for fast DDL operations
  • 24. www.fromdual.com 24 / 31 Rolling Schema Upgrade (RSU) ● DDL will be only processed locally at the node. ● Node is desynchronized ● After DDL, delayed write sets are applied ● DDL should be manually executed at each node. + only blocking one node at a time - potentially unsafe and may fail if new and old schema are incompatible ● Good for slow DDL operations
  • 25. www.fromdual.com 25 / 31 Other security related stuff
  • 27. www.fromdual.com 27 / 31 Galera Network Configuration
  • 28. www.fromdual.com 28 / 31 WAN – Cluster ● WAN = Wide Area Network ● Connect 2 or more locations over a public or private Network ● What are the problems? ● Round Trip Time (RTT) ● Throughput ● Network Stability ● Wrong set-ups
  • 29. www.fromdual.com 29 / 31 Communication encryption ● 2 Possibilities: 1.) Make Network secure (V-LAN, VPN with SSL, stunnel) 2.) Encrypt Galera communication with SSL ● Caution: only Galera replication is affected! ● NOT State Snapshot Transfer (SST, mysqldump | mysql,  rsync) ● NOT Client connection (mysql), use MySQL SSL encryption! ● But Incremental State Transfer (IST) IS affected (= Galera Protocol)! ● We recommend for ease of use: Do it on Network level!
  • 30. www.fromdual.com 30 / 31 Wir suchen noch: ● Datenbank Enthusiast/in für Support / remote-DBA / Beratung
  • 31. www.fromdual.com 31 / 31 Q & A Questions ? Discussion? We have time for some face-to-face talks... ● FromDual provides neutral and independent: ● Consulting ● Remote-DBA ● Support for MySQL, Galera, Percona Server and MariaDB ● Training www.fromdual.com